// deklaráljuk az ‘xmlHttp’ objektumot 
var xmlHttp; 
var li=0;
var txtHint="txtHint";
var txt="";
// showHint függvény, amely paraméterül egy sztring-et kap 
function showHint(str,id) 
{ 
        var str = lastWord(str);
	if(id == 1) txt = "txt1";
	else txt = "txt2";
        document.getElementById(txtHint).innerHTML = "";
	if((str.length < 2) || (str.charAt(str.length) == " ")){
	   document.getElementById(txtHint).style.visibility = "hidden";
	   return false; 
	}
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp == null){
		alert("A böngésző nem támogatja a HTTP kérést!"); 
		return;
	} 
	//var url = "gethint.php"; url=url+"?q="+str; url=url+"&sid="+Math.random();

	var url = "/hint/gethint.php"; 
        url = url+"?q="+encodeURIComponent(str); 
        url = url + "&sid=" + Math.random();
	
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET",url,true);
	document.getElementById(txtHint).style.visibility = "visible";
	xmlHttp.send(null); 
}

function lastSpace(sString){
	if(sString.indexOf(" ") == -1) return;
	var strTemp = "";
	for(var i = sString.length; i >= 0; i--){
		strTemp = sString.slice(i);
		if (strTemp.indexOf(" ")>0){
			li = i+1; 
			return(i+1);
		}
	}
}

function lastWord(sstr){
	return(sstr.slice(lastSpace(sstr)+1));
}

function trimAll(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function xmlToArray(resultsXml){ 
	var resultsArray= new Array(); 
	for(i=0;i<resultsXml.length;i++) 
		resultsArray[i]=resultsXml.item(i).firstChild.data; 
	return resultsArray; 
}

function stateChanged(){
 if (xmlHttp.readyState == 4){
 	if (xmlHttp.status == 200){
		try { 
			var response = xmlHttp.responseText;		
			if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0) {
			  throw(response.length == 0 ? "Void server response." : response); 
			}
			response = xmlHttp.responseXML.documentElement; 
			nameArray = new Array(); 
			if(response.childNodes.length){ 
				nameArray = xmlToArray(response.getElementsByTagName("name")); 	
				var th = document.getElementById(txtHint);
				for (var i=0; i<nameArray.length; i++) 
				{ 
				   th.innerHTML += "<div class='suggest_row' id='" + nameArray[i] + "' onclick='_selectResult(this.id)'><li class='suggest_row' style='display:inline; text-decoration: none; color: #014276; height:15px;'>" + nameArray[i] + "</li></div>"; 
				} 
			}
			else {
			   document.getElementById(txtHint).innerHTML = "";
			   document.getElementById(txtHint).style.visibility = "hidden";
			} 
		} 
		catch(e){ 
			th.innerHTML="Hiba: " + e.toString(); 
		} 
	} else { 
		th.innerHTML="Hiba: " + xmlHttpGetSuggestions.statusText; 
	} 
  } 
  //th.innerHTML +="</div>";
}
			
function GetXmlHttpObject(handler){ 
	var objXMLHttp=null 
	if (window.XMLHttpRequest){ 
		objXMLHttp = new XMLHttpRequest(); 
	} 
	else if (window.ActiveXObject){ 
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
	}
	else{
		alert("Hiba! Használjon újabb böngészőt!"); 
	} 
	return objXMLHttp 
}

function _selectResult(item){ 
	if (li<1) {
		document.getElementById(txt).value = item;
	}
	else {
		document.getElementById(txt).value = document.getElementById(txt).value.substr(0,li)+" "+item+" ";
	}
	document.getElementById(txtHint).innerHTML = "";
	document.getElementById(txtHint).style.visibility = "hidden";
	document.getElementById(txt).focus();
} 

