var xmlHttp
var targ
function showHint(str, target, file, rootURL){
    if (str.length > 0) {
        var url = rootURL + "php/" + file + ".php?q=" + str
        targ = target
        
        xmlHttp = GetXmlHttpObject(stateChanged)
        xmlHttp.open("GET", url, true)
        xmlHttp.send(null)
		xmlHttp.onreadystatechange = stateChanged;
    }
    else {
        document.getElementById(target).innerHTML = ""
    }
}

function stateChanged(){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        document.getElementById(targ).innerHTML = xmlHttp.responseText
    }
}

function GetXmlHttpObject(handler)
{ 
	try {
		var activexmodes = [
							"Msxml2.XMLHTTP", 	//newer versions of IE5+
							"Microsoft.XMLHTTP"	//older versions of IE5+
							]; //activeX versions to check for in IE
		if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
			for (var i=0; i < activexmodes.length; i++){
				try{
					objXmlHttp =  new ActiveXObject(activexmodes[i]);
				}
				catch(e){
					//suppress error
				}
			}
		}
		else if (window.XMLHttpRequest) // if Mozilla, Safari etc
			objXmlHttp =  new XMLHttpRequest();
		else
			objXmlHttp =  false;
			
		if (objXmlHttp) {
			//IE moet de onreadystatechange van tevoren hebben geset. 
			//Voor sommige versies van Mozilla moet de onreadystatechange NA de send worden geset. 
			//Dat moet dus straks nog een keer. 
			objXmlHttp.onreadystatechange = handler;
			objXmlHttp.onload = handler;
			objXmlHttp.onerror = handler;
		}
	} catch (e) {
		//alert("Error. Ajax scripting might be disabled.") 
	}
	
	//als Ajax in deze browser niet mogelijk is, niet een melding geven maar false...
	return objXmlHttp;
} 