var xmlHttp
var sbox = document.getElementById("search");
var hint = document.getElementById("txtSuggest");
var selected_idx = -1;
var timID = 0;

// init
sbox.setAttribute('autocomplete', 'off');

function tryGuess(str)
{
// delayed guessing
	if (str.length==0){ 
		document.getElementById("txtSuggest").innerHTML="";
		return;
	}
	
	// IE
	if (window.event){
			event = window.event;
	}
	if (event.keyCode == 38){
		highlight(selected_idx -1);
		return;
	}else if (event.keyCode == 40){
		highlight(selected_idx +1);
		return;
	}else if (event.keyCode == 13 ){	
		hint.innerHTML = '';
		hint.style.display = 'none';
		return;
	}else{
		clearTimeout (timID);
		lastKey = event.keyCode;
		if (str.length > 3){
			timID = setTimeout ( 'findIt(\''+str+'\')',800);
		}
	}
}
 
function findIt(str)
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	} 
	var url="lib/php/suggest.php";
	url=url+"?w="+str;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 



function stateChanged() 
{ 
	if (xmlHttp.readyState==4)
	{ 
//		alert(xmlHttp.responseText);
		hint.style.display = 'block';
		hint.innerHTML=xmlHttp.responseText;
		selected_idx = -1;
	}
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	try{
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	}
	catch (e){
	  // Internet Explorer
	  try{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	}
return xmlHttp;
}

function highlight(pos){
	var cnt = hint.getElementsByTagName('a').length;
	if (pos ==-1 || pos == cnt) 
		return;
	for(var i=0; i<cnt; i++)
		hint.getElementsByTagName('a')[i].className = '';
	hint.getElementsByTagName('a')[pos].className = 'selected';
	selected_idx = pos;
	sbox.value = hint.getElementsByTagName('a')[pos].innerHTML;
 }
 function fill(str){
	sbox.value = str;
	hint.style.display = 'none';
	hint.innerHTML = '';
	
 }
 function search_it(){
	hint.innerHTML = '';
	hint.style.display = 'none';
	document.forms.hint.submit();
	return false;
 }

