<!--
    var results;
	var searchword;

	function getresults(url, data, callback)
    {
		var mozillaFlag = false;
        var XMLHttpRequestObject = false; 
		
		searchword = document.getElementById("searchkeyword").value;
		data += "&searchkeyword="+searchword;

        //set request object
		if (window.ActiveXObject) 
		{
          	XMLHttpRequestObject = new 
          	ActiveXObject("Microsoft.XMLHTTP");     
        }
		else if (window.XMLHttpRequest) 
		{
			XMLHttpRequestObject = new XMLHttpRequest();
			
			//object only available to mozilla browsers
			if(XMLHttpRequestObject.overrideMimeType)
			{
				XMLHttpRequestObject.overrideMimeType("text/xml");
				mozillaFlag = true;
			}
			else
			{
				//IE7
				XMLHttpRequestObject = new 
				ActiveXObject("Microsoft.XMLHTTP");
			}
        }//end if

        if(XMLHttpRequestObject) 
		{
			XMLHttpRequestObject.open("POST", url); 
			XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
			
			XMLHttpRequestObject.onreadystatechange = function() 
			{
				if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
				{ 
					var xmlDocument = XMLHttpRequestObject.responseXML;
				
					//debug, echoi out the entire XML document;
					//alert(xmlDocument.xml)
					if(mozillaFlag)
					{
						removeWhitespace(xmlDocument);
					}
					
					callback(xmlDocument);
				}
				else
				{
					document.getElementById('searchresults').innerHTML = '<div id="loading" align="center">Please wait while the page loads...<br /><br /><img src="images/ajax-loader.gif" alt="Please wait while the page loads..." align="center" /></div>';
				}
			 
			}
		  
			XMLHttpRequestObject.send(data);
   		}
	}//getresults


	function showresults(xmldoc)
	{
		var navText = null;
		var displayText = null;
		if(xmldoc)
		{
			//get the number of matches from the XML file
			test = xmldoc.getElementsByTagName("matches")[0].firstChild.nodeValue;;
			
			if(test > 0)
			{
				//get XML values for relevant nodes
				str_keyword = xmldoc.getElementsByTagName("keyword")[0].firstChild.nodeValue;
				str_navigation = xmldoc.getElementsByTagName("navigation")[0].firstChild.nodeValue;
				str_matches = xmldoc.getElementsByTagName("matches")[0].firstChild.nodeValue;
				//get attrbutes from results node
				var results = xmldoc.getElementsByTagName('results')[0];
				str_page_total = results.getAttribute("total_pages");
				str_current_page = results.getAttribute("current_page");
		
				results = xmldoc.getElementsByTagName("result");
				
				//create navigation string
				navText = "There are "+str_matches+" results matching your search :<br />";
				navText += "Search keyword : <strong>"+str_keyword+"</strong><br /><br />";
				navText += str_navigation+"<br />";
				navText += "Page "+str_current_page+" of "+str_page_total;
				
				//create results string
				displayText = "<hr />";
				displayText += "<table id=\"results_table\" cellpadding=\"2\">";
				displayText += "<thead>";
				displayText += "<th title=\"Page Name\" id=\"name\" colspan=\"2\">Page Name</th>";
				displayText += "<th title=\"Description\" id=\"description\">Description</th></tr>";
				displayText += "</thead>";
				displayText += "<tbody>";
				for (loopIndex = 0; loopIndex < results.length; loopIndex++ )
				{
					displayText += "<tr><td>";
					displayText += results[loopIndex].getElementsByTagName("number")[0].firstChild.nodeValue;
					displayText += "</td><td>";
					displayText += results[loopIndex].getElementsByTagName("link")[0].firstChild.nodeValue;
					displayText += "</td><td class=\"row1\">";
					displayText +=  results[loopIndex].getElementsByTagName("description")[0].firstChild.nodeValue;
					displayText += "</td></tr>";
					//results[loopIndex].firstChild.data;
				}
				displayText += "</tbody>";
				displayText += "</table>";
				displayText += "<hr />";
				
				//output Navigation HTML
				document.getElementById('searchnavigation').innerHTML = navText;
				//output Results HTML
				document.getElementById('searchresults').innerHTML = displayText;				
			}
			else
			{
				//output Navigation HTML
				document.getElementById('searchnavigation').innerHTML = "";				
				
				//get XML values for relevant nodes
				if(xmldoc.getElementsByTagName("keyword")[0].firstChild)
				{
					str_keyword = xmldoc.getElementsByTagName("keyword")[0].firstChild.nodeValue;
				}
				//create results string
				displayText = "<hr />No Results could be found that matched your search phrase <u>"+str_keyword+"</u><hr />";
				document.getElementById('searchresults').innerHTML = displayText;
			}//if(test > 0)
		}
		else
		{
			//output Navigation HTML
			document.getElementById('searchnavigation').innerHTML = "";
				
			//output message if no XML is returned
			displayText = "<br /><hr />No response from the search server<hr />";
			document.getElementById('searchresults').innerHTML = displayText;
		}//if(xmldoc)
	}//showresults
	

	function removeWhitespace(xml) 
	{
		var loopIndex;
		
		for (loopIndex = 0; loopIndex < xml.childNodes.length; loopIndex++) 
		{
			var currentNode = xml.childNodes[loopIndex];
			
			if (currentNode.nodeType == 1) 
			{
				removeWhitespace(currentNode);
			}
			
			if (((/^\s+$/.test(currentNode.nodeValue))) && (currentNode.nodeType == 3)) 
			{
				xml.removeChild(xml.childNodes[loopIndex--]);
			}
		}//end for
	}//removeWhitespace

// -->
