var searchReq = getXmlHttpRequestObject();
var suggestSelected = 0;
//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", 'searchSuggest.aspx?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}
//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		document.getElementById('search_suggest').innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
		/*
			var newSuggest = document.createElement('div');
			newSuggest.innerHTML = str[i];
			newSuggest.setAttribute('onMouseOver', 'suggestOver(this);');
			newSuggest.setAttribute('onmouseout', 'javascript:suggestOut(this);');
			newSuggest.setAttribute('onclick', 'javascript:setSearch(this.innerHTML);');
			newSuggest.setAttribute('class', 'suggest_link');		
			document.getElementById('search_suggest').appendChild(newSuggest);
		*/
		if (searchReq.responseText.length<1000) { //Check length isn't too long, which would indicate an error page.
			document.getElementById('search_suggest').innerHTML += '<div onmouseover="javascript:suggestOver(this);" onmouseout="javascript:suggestOut(this);" onclick="javascript:setSearch(this.innerHTML);" class="suggest_link">' + str[i] + '</div>';	
		}
		}
	}
	fixborder();
}

function fixborder() {
if (document.getElementById('search_suggest').innerHTML == '') {
	document.getElementById('search_suggest').style.border = '0px'
	} else {
	document.getElementById('search_suggest').style.border = '1px solid #000000'}
}

function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
function suggestDown(e) {
	if(e.keyCode == 38) {
		//Up key
		var str = '';
		for(i=0; i < document.getElementById('search_suggest').childNodes.length; i++) {
			//Check to see if nodeName == "DIV";
			str += document.getElementById('search_suggest').childNodes[i].nodeName + "\n";
		}
		e.cancel = true;
	} else if(e.keyCode == 40) {
		//Down key
				
	}
}

function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	fixborder();
}

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {

	}
}