var xmlHttp
var strResp

function clearTable()
{
    var element = document.getElementById("tbParts");
    while (element.firstChild) {
      element.removeChild(element.firstChild);
    }
}

function CheckAvailabilityMan(str)
{ 
    var i;
    for(i=0;i<str.length;i++)
    {
        str = str.replace("`","");
    }
   
    xmlHttp=GetXmlHttpObject();

    if (xmlHttp==null)
    {
        alert ("Failed to verify availability of Manufacturer");
        return;
    } 
    var url="CheckAvailability.asp";
    url=url+"?fgm="+str;
    url=url+"&sid="+Math.random();
    url=url+"&a=1"
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function CheckAvailabilityStyle(str, strStyle)
{ 
    var i;
    for(i=0;i<str.length;i++)
    {
        str = str.replace("`","");
    }
    
    xmlHttp=GetXmlHttpObject();

    if (xmlHttp==null)
    {
        alert ("Failed to verify availability of Manufacturer and Style");
        return;
    } 
    var url="CheckAvailability.asp";
    url=url+"?fgm="+str;
    url=url+"&fgs="+strStyle;
    url=url+"&sid="+Math.random();
    url=url+"&a=2"
    xmlHttp.onreadystatechange=stateChangedStyle;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function CheckAvailabilityModel(strModel)
{ 
    xmlHttp=GetXmlHttpObject();

    if (xmlHttp==null)
    {
        alert ("Failed to verify availability of Model");
        return;
    } 
    var url="CheckAvailability.asp";
    url=url+"?fgmd="+strModel;
    url=url+"&sid="+Math.random();
    url=url+"&a=3"
    xmlHttp.onreadystatechange=stateChangedModel;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function stateChanged() 
{ 
    
    if (xmlHttp.readyState==4)
    { 
	    strResp=xmlHttp.responseText;
	   
	    if (strResp.length > 0)
	    {
	        var element = document.getElementById("tbParts");
            while (element.firstChild) {
              element.removeChild(element.firstChild);
            }
            document.getElementById("fgModel").value = document.getElementById("fgModel").options[0].value;
            document.getElementById("fgModel").disabled = true;
	        
	        var strArray = strResp.split("||")
	        var i
	        var strArrayElements
	        var option
	        
	        while (document.getElementById("fgMachType").options.length > 0)
                document.getElementById("fgMachType").remove(0);
           
            option = document.createElement("OPTION");
            option.value = "";
            option.text = "-- Style --";
           
            if(document.all){ //IE                
                document.getElementById("fgMachType").add(option);            
            }else{                
                document.getElementById("fgMachType").appendChild(option);           
            } 
            
	        for (i in strArray)
            {
                strArrayElements = strArray[i].split("^^");
               
                if (strArrayElements.length > 1)
                {
                    option = document.createElement("OPTION");
                    option.value = decodeURI(strArrayElements[0]);
                    option.text = decodeURI(strArrayElements[1]);
                    if(document.all){ //IE                
                        document.getElementById("fgMachType").add(option);            
                    }else{                
                        document.getElementById("fgMachType").appendChild(option);           
                    } 
                    document.getElementById("fgMachType").disabled = false;
		            document.getElementById("fgMachType").focus();
                }
            }
	    }	
	    else
	    {
	        document.getElementById("fgMachType").disabled = true;
	        document.getElementById("fgModel").disabled = true;
	        alert("There are no machines for this manufacturer.");
	    }
    }
}

function stateChangedStyle() 
{ 
    if (xmlHttp.readyState==4)
    { 
	    strResp=xmlHttp.responseText;
	    if (strResp.length > 0)
	    {
	        var element = document.getElementById("tbParts");
            while (element.firstChild) {
              element.removeChild(element.firstChild);
            }
	        
	        var strArray = strResp.split("||")
	        var i
	        var strArrayElements
	        var option
	        
	        while (document.getElementById("fgModel").options.length > 0)
                document.getElementById("fgModel").remove(0);
            
            option = document.createElement("OPTION");
            option.value = "";
            option.text = "-- Model --";
            if(document.all){ //IE                
                document.getElementById("fgModel").add(option);            
            }else{                
                document.getElementById("fgModel").appendChild(option);           
            } 
                    
	        for (i in strArray)
            {
                strArrayElements = strArray[i].split("^^");
                
                if (strArrayElements.length > 1)
                {
                    option = document.createElement("OPTION");
                    option.value = strArrayElements[0];
                    option.text = strArrayElements[1];
                    if(document.all){ //IE                
                        document.getElementById("fgModel").add(option);            
                    }else{                
                        document.getElementById("fgModel").appendChild(option);           
                    } 
                    document.getElementById("fgModel").disabled = false;
		            document.getElementById("fgModel").focus();
                }
            }
	    }	
	    else
	    {
	        document.getElementById("fgModel").disabled = true;
	        alert("There are no models for this manufacturer and style.");
	    }
    }
}


function stateChangedModel() 
{ 
    if (xmlHttp.readyState==4)
    { 
	    strResp=xmlHttp.responseText;
	   
	    if (strResp.length > 0)
	    {
	        var element = document.getElementById("tbParts");
            while (element.firstChild) {
              element.removeChild(element.firstChild);
            }

            var tbl = document.getElementById("tbParts"); 
            var tblBody = document.createElement("tbody");
	        var strArray = strResp.split("||")
	        var i;
	        var category = "";
	        var strHeaderImage = "";
	        var strHeaderImageRoot = "../images/Interactive Guide/"
	        var strImageLink = "";
	        
            //blank row
            var row = document.createElement("tr");
            var cell = document.createElement("td");
            var img = document.createElement("img");
            img.src = strHeaderImageRoot + "spacer.gif";
            img.setAttribute("height", "20");
            cell.appendChild(img);
            cell.colSpan = 5;
            row.appendChild(cell);
            tblBody.appendChild(row);
            
	        for (i in strArray)
            {
                
                var strArrayElements = strArray[i].split("^^");
                
                if (strArrayElements.length > 1)
                {
                    //element[0] = Part Number
                    //element[1] = Part Description
                    //element[2] = category
                    //element[3] = small Image file path and file name
                    //element[4] = large Image file path and file name
                    
                    if (category != strArrayElements[2]){
                        category = strArrayElements[2];
                        switch (category){
                            case "gold":
                                strHeaderImage = strHeaderImageRoot + "goldHeader.gif";
                                strImageLink = "goldpro.asp";
                                break;
                            case "blue":
                                strHeaderImage = strHeaderImageRoot + "blueHeader.gif";
                                strImageLink = "bluexl.asp";
                                break;
                            case "silver":
                                strHeaderImage = strHeaderImageRoot + "silverHeader.gif";
                                strImageLink = "silver.asp";
                                break;
                            case "plastic":
                                strHeaderImage = strHeaderImageRoot + "polyHeader.gif";
                                strImageLink = "plastic.asp";
                                break;
                            case "pans":
                                strHeaderImage = strHeaderImageRoot + "pansHeader.gif";
                                strImageLink = "../float_pans/float_pans.asp";
                                break;
                            default :
                                strHeaderImage = strHeaderImageRoot + "spacer.gif";
                                strImageLink = "trowel_blades.asp";
                                break;                        
                        }
                        
                        //blank row
                        var row = document.createElement("tr");
                        var cell = document.createElement("td");
                        var img = document.createElement("img");
                        img.src = strHeaderImageRoot + "spacer.gif";
                        img.setAttribute("height", "20");
                        cell.appendChild(img);
                        cell.colSpan = 5;
                        row.appendChild(cell);
                        tblBody.appendChild(row);
            
                        //image header
                        var row = document.createElement("tr");
                        var cell = document.createElement("td");
                        var img = document.createElement("img");
                        img.src = strHeaderImage;
                        img.setAttribute("useMap", "#" + category);
                        img.setAttribute("border", "0");
                        
                        //image map
                        var imageMap = document.createElement("map");
                        imageMap.setAttribute("name", category);
                        imageMap.setAttribute("id", category);
                                                
                        //image map area
                        var imageArea = document.createElement("area");
                        imageArea.setAttribute("shape", "rect");
                        imageArea.setAttribute("coords", "470,10,565,20");
                        imageArea.setAttribute("href", strImageLink);
                        imageMap.appendChild(imageArea);
                        
                        cell.appendChild(imageMap);
                        cell.appendChild(img);
                        
                        cell.colSpan = 5;
                        row.appendChild(cell);
                        tblBody.appendChild(row);
                        
                        //subheader row
                        var row = document.createElement("tr");
                        var cell = document.createElement("td");
                        var cellText = document.createTextNode(" ");
                        cell.appendChild(cellText);
                        var img = document.createElement("img");
                        img.src = strHeaderImageRoot + "spacer.gif";
                        img.setAttribute("width", "8");
                        cell.appendChild(img);
                        row.appendChild(cell);
                        
                        var cell = document.createElement("td");
                        var cellText = document.createTextNode("Image");
                        cell.className = "categorySubheaderCell";
                        cell.appendChild(cellText);
                        row.appendChild(cell);
                        
                        var cell = document.createElement("td");
                        var cellText = document.createTextNode("Part Number");
                        cell.className = "categorySubheaderCell";
                        cell.appendChild(cellText);
                        row.appendChild(cell);
                        
                        var cell = document.createElement("td");
                        var cellText = document.createTextNode("Description");
                        cell.className = "categorySubheaderCell";
                        cell.appendChild(cellText);
                        row.appendChild(cell);
                        
                        var cell = document.createElement("td");
                        var cellText = document.createTextNode(" ");
                        cell.appendChild(cellText);
                        var img = document.createElement("img");
                        img.src = strHeaderImageRoot + "spacer.gif";
                        img.setAttribute("width", "16");
                        cell.appendChild(img);
                        row.appendChild(cell);
                        
                        tblBody.appendChild(row);
                    }
                    
                    //data
                    var row = document.createElement("tr");
                    var cell = document.createElement("td");
                    var cellText = document.createTextNode(" ");
                    cell.appendChild(cellText);
                    //cell.appendChild(img);
                    row.appendChild(cell);
                        
                    var cell = document.createElement("td");
                    
                    var div1 = document.createElement("div");
                    div1.setAttribute("ID", "pic");
                    div1.className = "hoverbox"
                    
                    var div2 = document.createElement("div");
                    div2.setAttribute("ID", "pic2");
                    
                    var anchor = document.createElement("a");
                    anchor.setAttribute("href", "#");
                    
                    var img1 = document.createElement("img");
                    img1.src = "../" + strArrayElements[3];
                    
                    var img2 = document.createElement("img");
                    img2.src = "../" + strArrayElements[4];
                    img2.className = "preview";
                    
                    var caption = document.createElement("span");
                    caption.innerHTML = strArrayElements[0] + " <br> " + strArrayElements[1]
                    caption.className = "previewCaption";
                    
                    anchor.appendChild(img1);
                    anchor.appendChild(img2);
                    anchor.appendChild(caption);
                    div2.appendChild(anchor);
                    div1.appendChild(div2);
                    cell.appendChild(div1);
                    row.appendChild(cell);            
                    
                    var cell = document.createElement("td");
                    var cellText = document.createTextNode(strArrayElements[0]);
                    cell.appendChild(cellText);
                    row.appendChild(cell);
                    
                    var cell = document.createElement("td");
                    var cellText = document.createTextNode(strArrayElements[1]);
                    cell.appendChild(cellText);
                    cell.setAttribute("width", "395");
                    row.appendChild(cell);
                    
                    var cell = document.createElement("td");
                    var cellText = document.createTextNode(" ");
                    cell.appendChild(cellText);
                    //var img = document.createElement("img");
                    //img.src = strHeaderImageRoot + "spacer.gif";
                    //img.setAttribute("width", "12");
                    //cell.appendChild(img);
                    row.appendChild(cell);
                    
                    tblBody.appendChild(row);
                }
            }  
            
            // put the <tbody> in the <table>
            tbl.appendChild(tblBody);
            
            // sets the border attribute of tbl to 1;
            tbl.setAttribute("border", "0");
           
	    }	
	    else
	    {
	        alert("There are no parts for this model.");
	    }
    }
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}