/*
	You may use this code in your own projects as long as this 
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.DynamicAJAX.com
	
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/
//Gets the browser specific XmlHttpRequest Object

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Browser not supported");
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", 'search_hint.php?q=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest');
		ss.innerHTML = '';
		
		var results = searchReq.responseXML.getElementsByTagName('result')[0].childNodes;
		
		for (var i=0;i<results.length;i++)
		{
			if (results[i].hasChildNodes()) {
				var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
				suggest += 'onmouseout="javascript:suggestOut(this);" ';
				suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
				suggest += 'class="suggest_link">' + results[i].childNodes[0].nodeValue + '</div>';
				ss.innerHTML += suggest;
			}
		}
		if (ss.innerHTML.length > 0) {
			document.getElementById('search_suggest').style.visibility = 'visible';
		} else {
			document.getElementById('search_suggest').style.visibility = 'hidden';
		} 
	}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}

//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
}

/**
// Bind keypresses
document.onkeydown = keyCheck;
var activeID	  = null;

// Keypress, voor pijl omhoog, omlaag enter en escape
function keyCheck(e) {
	var ev = (window.event) ? event : e;

	switch(ev.keyCode)  {
   		case 9: // tab, 'jump' naar volgende veld, dus sluit box
   			document.getElementById('search_suggest').style.visibility = 'hidden';
   	  		break;
   	  	case 13: // Enter
   	  		break;
   	  	case 27: // Escape
   	  		break;
   	  	case 38: // Keyup
   	  		break;
   	  	case 40: // CaseDown
   	  		break; 
	}
	return true;
}
*/