var xmlDoc = false;
var x = false;
var xmlpath = "";
var mySafariMyX = ""; //filename

function parseXML(myX)
{

mySafariMyX = myX;
xmlpath = "/xml/"+myX;
if(BrowserDetect.browser == "Safari"){
//alert("safari");
if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			xmlDoc = new XMLHttpRequest();
			//alert("new XMLHttpRequest");
        } catch(e) {
			xmlDoc = false;
			//alert("xmldoc false");
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	xmlDoc = new ActiveXObject("Msxml2.XMLHTTP");
			//alert("new activexobject");
      	} catch(e) {
        	try {
          		xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
				//alert("error activex new activexobj");
        	} catch(e) {
          		xmlDoc = false;
				//alert("error xmldoc false");
        	}
		}
    }
	
	//alert("Safari xmlpath"+xmlpath);
	//alert("Safari xmlDoc"+xmlDoc);
	if(xmlDoc) {
		//alert("inside XMLDoc");
		//var url = "/data.xml"; //not certain if absolute path is needed
		var url = xmlpath;
		xmlDoc.onreadystatechange = processReqChange; //process data when XML is loaded
		xmlDoc.open("GET", url, true);
		xmlDoc.send("");
	}
	


} else {
//alert("Internet Exploreer");
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    xmlDoc=document.implementation.createDocument("","",null);
    }
  catch(e)
    {
    //alert(e.message);
   // return;
    }
  }
  

xmlDoc.async=false;
//xmlDoc.load("/data.xml");
//alert("IE xmlpath"+xmlpath);
xmlDoc.load(xmlpath);
x=xmlDoc.getElementsByTagName("recipe");

getInformation(xmlpath);
//alert("xmlpath"+xmlpath);
}

} // end parseXML

function processReqChange()
{
//alert("processReqChange readyState"+xmlDoc.readyState);
	//XML is loaded and ready to parse data
   if ((xmlDoc.readyState==4))
   {
   //alert("processReqChange status"+xmlDoc.status);
           if (xmlDoc.status == 200) {
            // ...processing statements go here...
			 var xmlobj=xmlDoc.responseXML;	
   			//alert("processReqChange readyState"+xmlDoc.readyState);
   			//alert("processReqChange xmlobj"+xmlobj);
  			 x=xmlDoc.responseXML.getElementsByTagName("recipe");
   
   			//alert("processReqChange mySafariMyX"+mySafariMyX);
   			getInformation(mySafariMyX);
   			if (xmlobj.parseError.errorCode != 0)
 			{
				//alert(xmlobj.parseError.reason);
				//return;
			}
				//alert(xmlobj.documentElement);

   		}
        } else {
            //alert("There was a problem retrieving the XML data:\n" + xmlDoc.statusText);
        }

  
} 

function getInformation(catName){
//alert("getInformation catName"+catName);

	var cName = mySafariMyX.substring(8, mySafariMyX.length-4);
    //alert("cName"+cName);
	cName = cName.replace(/_/gi, " ");
	if (cName == "benefit bars"){
		cName = "BeneFit Bars";
	}
   // alert("cname2"+cName);
	var pagetitle = new Array();
	var hmrproduct = new Array();
	var xmlpath = new Array();
	var mystring = "<span class='Hed0'>"+cName+"</span><br>";
	//alert("getInformation x object length"+x.length);
	for (var i=0;i<x.length;i++){
		if (x[i].nodeType==1) { 
  			//Process only element (nodeType 1) nodes
			//alert(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
			pagetitle[i] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue;
			hmrproduct[i] = x[i].getElementsByTagName("hmrproduct")[0].childNodes[0].nodeValue;
			xmlpath[i] = x[i].getElementsByTagName("xmlpath")[0].childNodes[0].nodeValue;
			pagetitle[i] = pagetitle[i].replace(/HMR/gi, "HMR&reg;");
  			mystring += "<a href='recipe.php?myrecipe="+xmlpath[i]+"'>"+pagetitle[i] + "</a><br><br>";
		}
	}
	
	document.getElementById('displayList').innerHTML = mystring;
}


function addHMRCategory(){
	var arrayHMR = new Array();
	var mystring = "";
	
	arrayHMR[0]="entrees";
	arrayHMR[1]="shakes/smoothies";
	arrayHMR[2]="puddings";
	arrayHMR[3]="cereals";
	arrayHMR[4]="soups";
	arrayHMR[5]="BeneFit Bars";
	
	var arrayPathing = new Array();
	
	arrayPathing[0]="recipes_entrees.xml";
	arrayPathing[1]="recipes_shakes_smoothies.xml";
	arrayPathing[2]="recipes_puddings.xml";
	arrayPathing[3]="recipes_cereals.xml";
	arrayPathing[4]="recipes_soups.xml";
	arrayPathing[5]="recipes_benefit_bars.xml";
	
	mystring = "<span class='Hed0'>Categories</span><br>";
	
	for (i=0;i<arrayHMR.length;i++){
		mystring+="<a href='#' onClick='parseXML(\""+arrayPathing[i]+"\") ; return false'>"+arrayHMR[i]+"</a><br><br>";
	}
	document.write(mystring);
}

addHMRCategory();
