window.onload = initAll;
var xhr = false;
var dataArray = new Array();
var formField = "CakeField";
var url = "cakes.xml";

function initAll() {
	document.getElementById(formField).onkeyup = searchSuggest;

	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) { }
		}
	}

	if (xhr) {
		xhr.onreadystatechange = setDataArray;
		xhr.open("GET", url, true);
		xhr.send(null);
	}
	else {
		alert("Sorry, but I couldn't create an XMLHttpRequest");
	}
}

function setDataArray() {
	if (xhr.readyState == 4) {
		if (xhr.status == 200) {
			if (xhr.responseXML) {

				var allData = xhr.responseXML.getElementsByTagName("cake");
				for (var i=0; i<allData.length; i++) {
					var tempObj = new Object;
					tempObj.ID = getVal(allData[i], "id");
					tempObj.Name = getVal(allData[i], "name");
					tempObj.Desc = getVal(allData[i], "desc");
					tempObj.Img = getVal(allData[i], "img");
					tempObj.Page = getVal(allData[i], "page");
					dataArray[i] = tempObj;				
				}
			}
		}
		else {
			alert("There was a problem with the request " + xhr.status);
		}
	}
}

function getVal(theData, theTag) {
	return theData.getElementsByTagName(theTag)[0].firstChild.nodeValue;
}

function searchSuggest() 
{
	var str = document.getElementById(formField).value;
	document.getElementById(formField).className = "";

	if (str != "") 
	{
	   
	   document.getElementById("popups").innerHTML = "";
	
		for (var i=0; i<dataArray.length; i++) {
			var thisField = dataArray[i].Name;
			var thisImage = dataArray[i].Img;
			var thisPage = dataArray[i].Page;			
	
			if (thisField.toLowerCase().indexOf(str.toLowerCase()) != -1) 
			{
				var tempDiv = document.createElement("div");
				tempDiv.innerHTML ="<a href=\"" + thisPage + "\">" + thisField + "<img width=75 height=75 src=\""+thisImage+"\"></a>";
				tempDiv.className = "suggestions";
				document.getElementById("popups").appendChild(tempDiv);
			}
		}
		document.getElementById("popups").style.display="block";
		var foundCt = document.getElementById("popups").childNodes.length;
		if (foundCt == 1) {
			//do something with only one result
		}
	}
	else
	{
		document.getElementById("popups").style.display="none";
	}
}

function RemoveDefault() {
	document.getElementById("popups").style.display="block";
	if(document.getElementById("CakeField").value=="Search Cakes")
	{
	document.getElementById("CakeField").value="";
	}
}

function AddDefault() {
	if(document.getElementById("CakeField").value=="")
	{
	document.getElementById("CakeField").value="Search Cakes";
	}
}
