var list_nr = -1;
var orgValue="";
var suggesties = false;
var ajax = true;
var mouseUse = false;

function triggerSuggest(key, value){			
	if(key.keyCode!=40 && key.keyCode!=38){		
		if(value!=""){
			if(ajax){
				ajax = false;
				searchSuggest();
			}
		}else{ document.getElementById("suggestBox").style.display = "none"; }
	}else{
		if(suggesties){
			if(orgValue=="") orgValue = value;
			
			document.getElementById("suggestBox").style.display = "block";
			var list = document.getElementById("suggestList");
			
			if(key.keyCode==38 && list_nr==-1){
				list_nr = (list.getElementsByTagName("li").length-1);
			}else if(key.keyCode==40){
				list_nr++;
			}else if(key.keyCode==38){
				list_nr--;
			}
			
			if(list_nr>(list.getElementsByTagName("li").length-1)) list_nr = (list.getElementsByTagName("li").length-1);
			if(list_nr<0){
				list_nr = -1;
				document.getElementById("searchBox").value = orgValue;
				orgValue = "";
			}
			
			for(var x=0; x<list.getElementsByTagName("li").length; x++){
				list.getElementsByTagName("li")[x].className = "";
			}
			
			if(list_nr>=0){
				list.getElementsByTagName("li")[list_nr].className = "selected";
				document.getElementById("searchBox").value = list.getElementsByTagName("li")[list_nr].getAttribute("value");
			}
		}else{ document.getElementById("suggestBox").style.display = "none"; }
	}
}

function showSuggest(xmlData){
	var list = document.getElementById("suggestList");
	list.innerHTML = "";
	
	if(xmlData.getElementsByTagName("suggest")){
		for(x=0; x<xmlData.getElementsByTagName("suggest").length; x++){
			suggest = xmlData.getElementsByTagName("suggest")[x];
			suggestName = suggest.firstChild.data;
			suggestValue = suggest.getAttribute("value");
			
			list.innerHTML += "<li value='"+suggestValue+"' onmouseover='mouseUse=true; this.className=\"selected\";' onmouseout='mouseUse=false; this.className=\"\";' onmouseup='document.getElementById(\"searchBox\").value = this.getAttribute(\"value\"); mouseUse=false; hideSuggest(); return false;'>"+suggestName+"</li>";
		}
		
		if(x==0){
			document.getElementById("suggestBox").style.display = "none";
			list_nr = -1;
			suggesties = false;
		}else{
			document.getElementById("suggestBox").style.display = "block";
			list_nr = -1;
			suggesties = true;
		}
	}else{
		document.getElementById("suggestBox").style.display = "none";
		suggesties = false;
	}
	
	ajax = true;
}

function hideSuggest(){
	if(!mouseUse){
		document.getElementById("suggestBox").style.display = "none";
	}
}