function loadXMLDoc(fname){
	var xmlDoc;
	if (window.ActiveXObject){
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(fname);
		return(xmlDoc);
	}else if (document.implementation && document.implementation.createDocument){
		xhttp=new XMLHttpRequest();
		xhttp.open("GET",fname,false);
		xhttp.send("");
		xmlDoc=xhttp.responseXML;
		return(xmlDoc);
	}else{
		alert('Your browser is not able to process the XML, please update.');
	}
}

prodCATxml = loadXMLDoc(MyRoot + "XML/_productcategories.xml");

function subcat(FileName){
	if (window.ActiveXObject){ // ***code for IE***
		var determineSubCat = prodCATxml.selectSingleNode("/categories/category/subCat/product[@FileName='" + FileName + "']/../@name");
		return determineSubCat.text;
	} else if (document.implementation && document.implementation.createDocument){ //*** code for  Mozilla/Chrome/Safari ***
		var determineSubCat = prodCATxml.evaluate("//product[@FileName='" + FileName + "']/../@name", prodCATxml, null, XPathResult.STRING_TYPE, null);
		return determineSubCat.stringValue;
	}
}

function prodBreadTrail(FileName){
	var breadTrail = "<p><span class=\"subnavtext\">You are here:</span> <a href=\"" + MyRoot + "home.aspx\">Home<\/a> &raquo; <a href=\"" + MyRoot + "Products\/index.aspx\">Products<\/a><a href=\"\/index.aspx\"><\/a>";
	if (window.ActiveXObject){ // ***code for IE***
		var determineCat = prodCATxml.selectSingleNode("/categories/category/subCat/product[@FileName='" + FileName + "']/../../@name");
		var determineSubCat = prodCATxml.selectSingleNode("/categories/category/subCat/product[@FileName='" + FileName + "']/../@name");
		breadTrail += " &raquo; <a href=\'index.html#inline-prodpop\' rel=\'shadowbox;height=600;width=765\' title=\"" + determineSubCat.text + "\" rel=\"popuplink\">" + determineSubCat.text + "<\/a> &raquo; " + getFullNameIE(FileName) + "<\/p>";
		$("#breadtrail").html(breadTrail);
	} else if (document.implementation && document.implementation.createDocument){ //*** code for  Mozilla/Chrome/Safari ***
		var determineCat = prodCATxml.evaluate("//product[@FileName='" + FileName + "']/../../@name", prodCATxml, null, XPathResult.STRING_TYPE, null);
		var determineSubCat = prodCATxml.evaluate("//product[@FileName='" + FileName + "']/../@name", prodCATxml, null, XPathResult.STRING_TYPE, null);
		breadTrail += "  &raquo; <a href=\'index.html#inline-prodpop\' rel=\'shadowbox;height=600;width=765\' title=\"" + determineSubCat.stringValue + "\" rel=\"popuplink\">" + determineSubCat.stringValue + "<\/a> &raquo; " + getFullNameMOZ(FileName) + "<\/p>";	
		$("#breadtrail").html(breadTrail);
	}
}

function getFullNameIE(name){ //*** code for  Mozilla/Chrome/Safari ***
	var fullname = prodCATxml.selectSingleNode("/categories/category/subCat/product[@FileName='" + name + "']/@ProductName");
	return fullname.text;
}

function getFileNameIE(name){ //*** code for  IE ***
	var fileName = prodCATxml.selectSingleNode("/categories/category/subCat/product[@ProductName='" + name + "']/@FileName");
	return fileName.text;
}

function getSubheadIE(name){ //*** code for  IE ***
	var description = prodCATxml.selectSingleNode("/categories/category/subCat/product[@ProductName='" + name + "']");
	return description.text;
}

function getThumbIE(name){ //*** code for  Mozilla/Chrome/Safari ***
	var thumbnail = prodCATxml.selectSingleNode("/categories/category/subCat/product[@ProductName='" + name + "']/@thumbnail");
	return thumbnail.text;
}

function getThumbMOZ(name){ //*** code for  Mozilla/Chrome/Safari ***
	var thumbnail = prodCATxml.evaluate("/categories/category/subCat/product[@ProductName='" + name + "']/@thumbnail", prodCATxml, null, XPathResult.STRING_TYPE, null);
	return thumbnail.stringValue;
}

function getFullNameMOZ(name){ //*** code for  Mozilla/Chrome/Safari ***
	var fullname = prodCATxml.evaluate("/categories/category/subCat/product[@FileName='" + name + "']/@ProductName", prodCATxml, null, XPathResult.STRING_TYPE, null);
	return fullname.stringValue;
}

function getFileNameMOZ(name){ //*** code for  Mozilla/Chrome/Safari ***
	var fileName = prodCATxml.evaluate("/categories/category/subCat/product[@ProductName='" + name + "']/@FileName", prodCATxml, null, XPathResult.STRING_TYPE, null);
	return fileName.stringValue;
}

function getSubheadMOZ(name){ //*** code for  Mozilla/Chrome/Safari ***
	var description = prodCATxml.evaluate("/categories/category/subCat/product[@ProductName='" + name + "']", prodCATxml, null, XPathResult.STRING_TYPE, null);
	return description.stringValue;
}

function getModelNameIE(name){ //*** code for  IE ***
    var modelName = prodCATxml.selectSingleNode("/categories/category/subCat/product[@ProductName='" + name + "']/@ModelName");
	return modelName.text;
}

function getModelNameMOZ(name){ //*** code for  Mozilla/Chrome/Safari ***
    var modelName = prodCATxml.evaluate("/categories/category/subCat/product[@ProductName='" + name + "']/@ModelName", prodCATxml, null, XPathResult.STRING_TYPE, null);
	return modelName.stringValue;
}

function buildProductsPOPUP(subCat){
	if (window.ActiveXObject){ // ***code for IE***
		var productNodesL = prodCATxml.selectNodes("/categories/category/subCat[@name='" + subCat + "']/product[@Status='SALES']/@ProductName");
		if (productNodesL.length > 0){
			var productNodes = prodCATxml.selectNodes("/categories/category/subCat[@name='" + subCat + "']/product[@Status='SALES']/@ProductName");
			var popString = "";
			for (i=0;i<=productNodes.length-1;i++){
				popString += "<div class=\"productcontainer\"><div class=\"thumbcontainer\"><a href=\'" + MyRoot + "Products\/" + getFileNameIE(productNodes[i].childNodes[0].nodeValue) + ".aspx\'><img src=\'" + getThumbIE(productNodes[i].childNodes[0].nodeValue) + "\' alt=\'\' /><\/a><\/div><div class=\"copycontainerwide\"><h4><a href=\'" + MyRoot + "Products\/" + getFileNameIE(productNodes[i].childNodes[0].nodeValue) + ".aspx\'>" + productNodes[i].childNodes[0].nodeValue + "<\/a><\/h4><h5>" + getSubheadIE(productNodes[i].childNodes[0].nodeValue) + "<\/h5><\/div><\/div>";
			}
			popString += "<\/ul>";
			var eolproductNodes = prodCATxml.selectNodes("/categories/category/subCat[@name='" + subCat + "']/product[@Status='EOL']/@ProductName");
			if (eolproductNodes.length > 0){
				popString += "<br /><br /><div style=\'clear: both; padding-top: 20px; padding-left: 10px;\'><\/h3><select class=\'ddCountryList\' onChange=\'window.location.href= this.options[this.selectedIndex].value\'><option value=\'#\'>Discontinued " + subCat + "...<\/option>";
				for (i=0;i<=eolproductNodes.length-1;i++){
					popString += "<option value='" + MyRoot + "Products\/" + getFileNameIE(eolproductNodes[i].childNodes[0].nodeValue) + ".aspx\'>" + eolproductNodes[i].childNodes[0].nodeValue; + "<\/option>";
				}
				popString += "<\/select><\/div>";
			}
		}
	}
	else if(document.implementation && document.implementation.createDocument) { //*** code for Mozilla/Chrome/Safari ***
		var productNodesL = prodCATxml.evaluate("/categories/category/subCat[@name='" + subCat + "']/product[@Status='SALES']/@ProductName", prodCATxml, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		var productNodes = prodCATxml.evaluate("/categories/category/subCat[@name='" + subCat + "']/product[@Status='SALES']/@ProductName", prodCATxml, null, XPathResult.ANY_TYPE, null);
		if (productNodesL.snapshotLength > 0){
			var popString = "";
			while(result2=productNodes.iterateNext()){
				popString += "<div class=\"productcontainer\"><div class=\"thumbcontainer\"><a href=\'" + MyRoot + "Products\/" + getFileNameMOZ(result2.childNodes[0].nodeValue) + ".aspx\'><img src=\'" + getThumbMOZ(result2.childNodes[0].nodeValue) + "\' alt=\'\' /><\/a><\/div><div class=\"copycontainerwide\"><h4><a href=\'" + MyRoot + "Products\/" + getFileNameMOZ(result2.childNodes[0].nodeValue) + ".aspx\'>" + result2.childNodes[0].nodeValue + "<\/a><\/h4><h5>" + getSubheadMOZ(result2.childNodes[0].nodeValue) + "<\/h5><\/div><\/div>";
			}
		}
		var eolproductNodesL = prodCATxml.evaluate("/categories/category/subCat[@name='" + subCat + "']/product[@Status='EOL']/@ProductName", prodCATxml, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
		var eolproductNodes = prodCATxml.evaluate("/categories/category/subCat[@name='" + subCat + "']/product[@Status='EOL']/@ProductName", prodCATxml, null, XPathResult.ANY_TYPE, null);
		if (eolproductNodesL.snapshotLength > 0){
			popString += "<br /><br /><div style=\'clear: both; padding-top: 20px; padding-left: 10px;\'><select class=\'ddCountryList\' onChange=\'window.location.href= this.options[this.selectedIndex].value\'><option value=\'#\'>Discontinued " + subCat + "...<\/option>";
			while(resultEOLnodes=eolproductNodes.iterateNext()){
				popString += "<option value='" + MyRoot + "Products\/" + getFileNameMOZ(resultEOLnodes.childNodes[0].nodeValue) + ".aspx\'>" + resultEOLnodes.childNodes[0].nodeValue + "<\/option>";
			}
			popString += "<\/select><\/div>";
		}
	}
	$("#prodpopup").html(popString);
}
if (window.ActiveXObject){ // ***code for IE***		  
	var productNodes = prodCATxml.selectNodes("//product/@ProductName");				
	myText = "var tags = [";
	for (i=0;i<=productNodes.length-1;i++){
		myText += "{text:'"+ productNodes[i].childNodes[0].nodeValue +"', url:'"+ getFileNameIE(productNodes[i].childNodes[0].nodeValue) +"'},";									     
		myText += "{text:'"+ getModelNameIE(productNodes[i].childNodes[0].nodeValue) +"', url:'"+ getFileNameIE(productNodes[i].childNodes[0].nodeValue) +"'},";			
	}		
	myText += "{text:'',url:''}];";
	eval(myText);
}
else if(document.implementation && document.implementation.createDocument) { //*** code for Mozilla/Chrome/Safari ***				
	var productNodes = prodCATxml.evaluate("//product/@ProductName", prodCATxml, null,  XPathResult.ANY_TYPE, null);
	myText = "var tags = [";
	while(resultnodes=productNodes.iterateNext()){
		myText += "{text:'"+ resultnodes.childNodes[0].nodeValue +"', url:'"+ getFileNameMOZ(resultnodes.childNodes[0].nodeValue) +"'},";		     				
		myText += "{text:'"+ getModelNameMOZ(resultnodes.childNodes[0].nodeValue) +"', url:'"+ getFileNameMOZ(resultnodes.childNodes[0].nodeValue) +"'},";						
	}		
	myText += "{text:'',url:''}];";
	eval(myText);
}
