// JavaScript Document
var xmlHttp;

function suggest(str, surl, inputdiv, sdiv) {

	if (str.length==0) { 
		document.getElementById(sdiv).innerHTML="";
		return;
	}
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	
	var url=surl;
	if(url.indexOf("?") != -1){
		url=url+"&query="+str;
	} else {
		url=url+"?query="+str;
	}
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=function(){
		stateChanged(sdiv, inputdiv)
	}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function correct(str, sdiv, inputdiv) {

	var elem = document.getElementById(inputdiv);
	elem.value=trim(str);
	document.getElementById(sdiv).style.display = 'none';

}

function stateChanged(sdiv, inputdiv) { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		var split = xmlHttp.responseText.split("|");
		var list = "";
		
		if(split[0] != "") {
			for(var i = 0; i < split.length; i++) {
				var splitval = split[i].split("~");
				list+="<li<a href=\"javascript:\;\" onclick=\"javascript: correct('"+splitval[0]+"','"+sdiv+"','"+inputdiv+"');\""+splitval[0]+"</a</li";
			}
			
			if(list != "") {
				list +="</ul";
				list = "<ul" + list;
			}
		}
		
		document.getElementById(sdiv).innerHTML=list;
		document.getElementById(sdiv).style.display = 'block';
	} 
}


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 trim(str) { 
    if (str != null) {
        var i; 
        for (i=0; i<str.length; i++) {
            if (str.charAt(i)!=" ") {
                str=str.substring(i,str.length); 
                break;
            } 
        } 
    
        for (i=str.length-1; i=0; i--) {
            if (str.charAt(i)!=" ") {
                str=str.substring(0,i+1); 
                break;
            } 
        } 
        
        if (str.charAt(0)==" ") {
            return ""; 
        } else {
            return str; 
        }
    }
	
	return null;
}

