/**
Előzménnyel rendelkező keresőmező osztály:
	cname:					a keresési osztály neve (utp,csp...) (ez az előtagja a használt közös mezők azonosítójának. pl <tr id="this.cname+"sorszam" >...).
	mezoid: 				keresési mező id és név
	mezofelirat:  			a mezőben megjelenő felirat alapállapotban
	mezoclass: 				css class (design)
	scrollid: 				a találatokat tartalmazo div
	suggestid: 				scrollon belüli belső div
	suggesturl:				a lehetőségek lekérdezéséhez használt php elérése
	szuro1, szuro2, szuro3: az előzmények id je. Ezek alapján szűrjük a leválogatást.
*/
//					  cname, 	mezoid,   mezofelirat, mezoclass   scrollid,   suggestid,   szuro1,   szuro2, szuro3  	suggesturl,                           
//szelvénykereső
utpkeresoplusz = new Keresoplusz('utp','utpkeyword','','utpkeyword','utpscroll','utpsuggest', 'utkeyword', 'kmkeyword', 'mkeyword','kereses/suggestplusz.php?tipus=PKOD&keyword=');
kmkeresoplusz = new Keresoplusz('km','kmkeyword','Km','kmkeyword','kmscroll','kmsuggest', 'utkeyword', '', '','kereses/suggestplusz.php?tipus=KEKM&keyword=');
mkeresoplusz = new Keresoplusz('m','mkeyword','m','mkeyword','mscroll','msuggest', 'utkeyword', 'kmkeyword', '','kereses/suggestplusz.php?tipus=KEMT&keyword=');
//csomópont kereső
csp2keresoplusz = new Keresoplusz('csp2','csp2keyword','','csp2keyword','csp2scroll','csp2suggest','csp1keyword', '', '','kereses/suggestplusz.php?tipus=KSZAM&keyword=');

function Keresoplusz(name,mezoid,mezofelirat,mezoclass,scrollid,suggestid,szuro1,szuro2,szuro3,suggesturl){
	this.cname = name;
	this.mezoid = mezoid;
	this.mezofelirat = mezofelirat;
	this.mezoclass = mezoclass;
	this.scrollid = scrollid;
	this.suggestid = suggestid;
	this.szuro1 = szuro1;
	this.szuro2 = szuro2;
	this.szuro3 = szuro3;	
	// Php elérések
	this.getFunctionsUrl = suggesturl;
	
	/* mindegyiknek saját kell, mert változók! */
	
	// Elküldött kulcsszó
	this.httpRequestKeyword = "";
	/* Utolsó kulcsszó amit lekérdeztünk  */
	this.userKeyword = "";
	/* Találatok száma*/
	this.suggestions = 0;
	/* Az utolsó találat amivel kitöltöttük a keresőmezőt, ha autocompleted be van kapcsolva */
	this.autocompletedKeyword = "";	
	/* A kiválasztott találat sorszáma*/
	this.position = -1;
	/* A cache objektum. ebbe tároljuk a már lekért kulcsszavakat.*/
	this.oCache = new Object();
	/* A hiba szövege.*/
	this.hibaszoveg = '';


	function createXmlHttpRequestObject() {
		var xmlHttp;
		try {
			xmlHttp = new XMLHttpRequest();
		} 
		catch (e) {							//Létrehozom a tömböt, amiben a vizsgált formátumok vannak.
			var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", 
											"MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", 
											"MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
			
			for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++) { 	// mindet kirpóbálom, egyik működik.
				try { 														
					xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
				} 
				catch (e) {
					//ha nem jó, nem történik semmi, megyek a következőre.
				}
			}
		}
		if (!xmlHttp)
			alert("XML error.");
		else 
			return xmlHttp;
	}
	//ezt hívom meg, ennek az értéke lesz a fvtől visszatérő objektum.
	this.xmlHttpGetSuggestions = createXmlHttpRequestObject();

}

//Ezek az állandók minden Kereso típusu osztályban elérhetők lesznek. (csak állandókat szabad idevenni)!

/* Maximálisan kiírható találatok száma */
Keresoplusz.prototype.suggestionMaxLength = 80;

/* Le - fel nyíl figyelése */
Keresoplusz.prototype.isKeyUpDownPressed = false;

/* Timeout figyelése ??? hova kell ??? */
Keresoplusz.prototype.timeoutId = -1;

/* Megjelenítendő min és max találat. */
Keresoplusz.prototype.minVisiblePosition = 0;
Keresoplusz.prototype.maxVisiblePosition = 20;

/* Ha true, kiírja a hibaüzeneteket. */
Keresoplusz.prototype.debugMode = true;

//ha rákattintok, törölje ki ami benne volt és keresse le az összes lehetőséget. Csukja be és tiltsa le a következő mezőket.
Keresoplusz.prototype.keywordAllClick = function (){

	if(this.cname == 'km'){
		var elozmeny = document.getElementById('utkeyword').value;
//		changeKeresIcon(1,'szelveny_2');
	}
	if(this.cname == 'm'){
		var elozmeny = document.getElementById('kmkeyword').value;
//		changeKeresIcon(1,'szelveny_3');
	}
	if(this.cname == 'csp2'){
		var elozmeny = document.getElementById('csp1keyword').value;
//		changeKeresIcon(2,'csomopont_2');
	}

	if(elozmeny == ''){
		return false;
	}
	
	varakozas('kereses','','','WAITO');
	
	var oKeyword = document.getElementById(this.mezoid);
	oKeyword.value = "";
	this.hideSuggestions();
	this.userKeyword="";
	this.httpRequestKeyword="";
	this.autocompletedKeyword = "";
	
	closeAllScroll('ketszer');		//mindent becsuk
	clearAllKeyword(this.cname);	//mindent töröl
	
	document.getElementById(this.cname+'keyword').className = "keyword";
	document.getElementById(this.cname+'keyword').disabled = false;
	document.getElementById(this.cname+'keyword').focus();
	//mindent lekér
//	document.getElementById(this.cname+'keyword').value = '';

	this.getPluszSuggestions('');		//lekéri az összeset
	
}

//ha rákattintok, törölje ki ami benne volt!
Keresoplusz.prototype.keywordClick = function (){
	document.getElementById(this.cname+'keyword').className = "keyword";
	document.getElementById(this.cname+'keyword').disabled = false;
	document.getElementById(this.cname+'keyword').focus();
	
	closeAllScroll(this.cname);
}

/* a plusz lekérés ha már ki van választva az út. */
Keresoplusz.prototype.getPluszSuggestions= function(kw){  
 
	if(this.xmlHttpGetSuggestions){ 	
		try{ 									/* Ha nincs folyamatban kérés */     		    
			if (this.xmlHttpGetSuggestions.readyState == 4 || this.xmlHttpGetSuggestions.readyState == 0){    
				// új kérés küldése
				changeCursorWait();
				this.httpRequestKeyword=kw;					
				this.userKeyword=kw;  
//alert(this.cname+' sallalala2: '+this.xmlHttpGetSuggestions);	
				var szures1 = '';
				var szures2 = '';
				var szures3 = '';		
				if(this.szuro1 != '')
					var szures1 = document.getElementById(this.szuro1).value;
				if(this.szuro2 != '')
					var szures2 = document.getElementById(this.szuro2).value;
				if(this.szuro3 != '')
					var szures3 = document.getElementById(this.szuro3).value;	

				if(this.cname == 'utp' || this.cname == 'km' || this.cname == 'm'){
					var urlvege =kw+"&kszam=" + this.encode(szures1)
							+ "&km=" + this.encode(szures2)
							+ "&m=" + this.encode(szures3);
				}
				else if(this.cname == 'csp2'){
					var urlvege =kw.toUpperCase()+"&kszam=" + this.encode(szures1);
				}				
	
				this.xmlHttpGetSuggestions.open("GET", this.getFunctionsUrl + urlvege, true);
				
				
				if (this.cname == 'utp') { 					//ha szelvény útpályája
					this.xmlHttpGetSuggestions.onreadystatechange = this.handleGettingSuggestionsUtp;					
				}
				else if (this.cname == 'km') { 				//ha szelvénykereső class
					this.xmlHttpGetSuggestions.onreadystatechange = this.handleGettingSuggestionsKm;					
				}
				else if (this.cname == 'm') { 				//ha szelvénykereső class
					this.xmlHttpGetSuggestions.onreadystatechange = this.handleGettingSuggestionsM;					
				}				
				else if (this.cname == 'csp2') { 				//ha csomópotkereső class				
					this.xmlHttpGetSuggestions.onreadystatechange = this.handleGettingSuggestionsCsp2;					
				}
				this.xmlHttpGetSuggestions.send(null);
			}        
			else{	  							/* Ha még nem fejeződött be egy előző kérés */       
				this.userKeyword = kw;			//Átállítjuk a kulcsszót az új kérésre	
			}
		}
		catch(e){
			this.displayError(deferrormessage+":\n" + e.toString());
		}
	}
}

/*XML válasz beírása tömbbe*/
Keresoplusz.prototype.xmlToArray = function(resultsXml){					//A PHP XML válaszát tömbbe írjuk
//alert('xmltoarray');
	var resultsArray= new Array();  
	for(i=0;i<resultsXml.length;i++)										//végiglépkedünk az XML válaszon
		resultsArray[i]=resultsXml.item(i).firstChild.data;
	return resultsArray;
}

/** Ajax válasz feldolgozása, minden classnak külön van név szerint!  
 * 
 */

Keresoplusz.prototype.handleGettingSuggestionsUtp = function(){	
	if (utpkeresoplusz.xmlHttpGetSuggestions.readyState == 4) {
		if (utpkeresoplusz.xmlHttpGetSuggestions.status == 200) {    		// Ha rendben visszajött a válasz
			try {
				utpkeresoplusz.updatePluszSuggestions();					// A válasz feldolgozása 
			} 
			catch (e) { 								// Ha hiba volt a küldés közben     
				utpkeresoplusz.displayError(e.toString());
			}
   		} 
    	else
     		utpkeresoplusz.displayError(deferrormessage+":\n" + utpkeresoplusz.xmlHttpGetSuggestions.statusText);     
	}
}
Keresoplusz.prototype.handleGettingSuggestionsKm = function(){	
	if (kmkeresoplusz.xmlHttpGetSuggestions.readyState == 4) {
		if (kmkeresoplusz.xmlHttpGetSuggestions.status == 200) {    	// Ha rendben visszajött a válasz
			try {
				kmkeresoplusz.updatePluszSuggestions();					// A válasz feldolgozása 
			} 
			catch (e) { 								// Ha hiba volt a küldés közben     
				kmkeresoplusz.displayError(e.toString());
			}
   		} 
    	else
     		kmkeresoplusz.displayError(deferrormessage+":\n" + kmkeresoplusz.xmlHttpGetSuggestions.statusText);     
	}
}
Keresoplusz.prototype.handleGettingSuggestionsM = function(){	
	if (mkeresoplusz.xmlHttpGetSuggestions.readyState == 4) {
		if (mkeresoplusz.xmlHttpGetSuggestions.status == 200) {    	// Ha rendben visszajött a válasz
			try {
				mkeresoplusz.updatePluszSuggestions();					// A válasz feldolgozása 
			} 
			catch (e) { 								// Ha hiba volt a küldés közben     
				mkeresoplusz.displayError(e.toString());
			}
   		} 
    	else
     		mkeresoplusz.displayError(deferrormessage+":\n" + mkeresoplusz.xmlHttpGetSuggestions.statusText);     
	}
}
Keresoplusz.prototype.handleGettingSuggestionsCsp2 = function(){	
	if (csp2keresoplusz.xmlHttpGetSuggestions.readyState == 4) {
		if (csp2keresoplusz.xmlHttpGetSuggestions.status == 200) {    	// Ha rendben visszajött a válasz
			try {
				csp2keresoplusz.updatePluszSuggestions();					// A válasz feldolgozása 
			} 
			catch (e) { 								// Ha hiba volt a küldés közben     
				csp2keresoplusz.displayError(e.toString());
			}
   		} 
    	else
     		csp2keresoplusz.displayError(deferrormessage+":\n" + csp2keresoplusz.xmlHttpGetSuggestions.statusText);     
	}
}

/* A válasz XML feldolgozása */
Keresoplusz.prototype.updatePluszSuggestions = function(){
	var response = this.xmlHttpGetSuggestions.responseText;					//Válasz text
//alert('updateSuggestions / xmlHttpGetSuggestions.responseText: '+response);

	response = this.xmlHttpGetSuggestions.responseXML.documentElement;		//Kiszedem az XML részt

  this.hibaszoveg = this.xmlToArray(response.getElementsByTagName("hiba"));
// alert('hiba keresoclassplusz: '+this.hibaszoveg);

	var nameArray = new Array(); 	
	if(response.childNodes.length >1){										//Válasz ellenőrzése, van e megfelelő
		nameArray= this.xmlToArray(response.getElementsByTagName("res"));   //kiszedjük tömbbe a válaszokat   		
	}
	else{
		nameArray = Array();
	}
//	alert(nameArray.length);
//	alert(nameArray[0]);

	this.displayPluszResults(nameArray);
}

Keresoplusz.prototype.displayPluszResults = function(results_array){
	var kell = 1;		
	closeAllScroll(this.cname);	
	clearAllKeyword(this.cname);
	
	var div = "<table>";
	if(results_array.length == 0 ){	//Ha üres a tömb, nincs találat
		div += "<tr><td>"+this.hibaszoveg+"</td></tr>";					   
		hasResults = false;												//Flag átírása
		suggestions = 0;												//Találatok száma
	}
	else{		
	    position = -1;													//Az első találat lesz a kiválasztott
	    hasResults = true;												//Van találat
	    suggestions = results_array.length;								//Találatok száma
	    for (var i=0; i<results_array.length; i++){  					//Találatok kiírása soronként
		
			var valasz = results_array[i].split(";");
			var varid = valasz[0].split("=")[1];
			var varnev = valasz[1].split("=")[1];			//ez itt ha a kód kell  .toLowerCase() kiszedve
	
			if (this.cname == "csp2") {							
				if(valasz[2].split("=")[1] != ''){
				  	var xc = valasz[2].split("=")[1];
					var yc = valasz[3].split("=")[1];
				}
				else{
					var xc =''; var yc ='';
				}		  				  
				div += '<tr id="tr' +this.cname + i + '" '
						 +' onclick=\''+this.cname+'keresoplusz.updateKeywordVal("'
						 		+varid+'");if('+xc+'!=""){ clicked_latlng = new google.maps.LatLng('
								+xc+','+yc+');map.setCenter(clicked_latlng);getInfoContent("click");pluszegykeres();};\' '
						 +' onmouseover=\''+this.cname+'keresoplusz.handleOnMouseOver(this);\' ' 
						 +' onmouseout=\''+this.cname+'keresoplusz.handleOnMouseOut(this);\' >' 
						 +'<td align="left"><a id="a' + i;			
		
/*			    if(varnev.length <= this.suggestionMaxLength) {									//Vastagon írjuk ki a beírt kulcsszó részt	             
			        div += '"><b>' + varnev.substring(0, this.httpRequestKeyword.length) + '</b>'
						+ varnev.substring(this.httpRequestKeyword.length, varnev.length) + '</a></td></tr>';
			    }
			    else{
			        if(this.httpRequestKeyword.length < this.suggestionMaxLength){
						div += '"><b>' + varnev.substring(0, this.httpRequestKeyword.length) + '</b>'
			          		+ varnev.substring(this.httpRequestKeyword.length, this.suggestionMaxLength) + '</a></td></tr>';   
			        }
			        else{
*/						
						div += '">' + varnev.substring(0,this.suggestionMaxLength) + '</td></tr>';          

//			        }
//			    }	  
			}
			else if(this.cname == "m"){
				if(valasz[0].split("=")[1] == '')
					div += "<tr><td>"+this.hibaszoveg+"</td></tr>";				
				else{
					var eredm = 0;
					var kk = '';
//					alert('első: '+valasz[0].split("=")[1]+' vége: '+valasz[1].split("=")[1]+' kw= '+this.httpRequestKeyword);
					var min = parseInt(valasz[0].split("=")[1]);
					var max = parseInt(valasz[1].split("=")[1]);
			
					for(kk = min;kk < max;kk++){			
						if(this.httpRequestKeyword==''){
							div += '<tr id="tr' +this.cname+ i + '" '
							 	+' onclick=\''+this.cname+'keresoplusz.updateKeywordVal("'+kk+'");getSzelvenyCoord();pluszegykeres();\' ' 
							 	+' onmouseover=\''+this.cname+'keresoplusz.handleOnMouseOver(this);\' ' 
								 +' onmouseout=\''+this.cname+'keresoplusz.handleOnMouseOut(this);\' >' 
								 +'<td align="left"><a id="a' + i;	
							div += '">' + kk + '</td></tr>'; 	
							eredm++;						
						}
						else{
							var azta = kk+'';
							var vastag = azta.substring(0, this.httpRequestKeyword.length);
							if(vastag == this.httpRequestKeyword){
								div += '<tr id="tr' +this.cname + i + '" '
								 	+' onclick=\''+this.cname+'keresoplusz.updateKeywordVal("'+kk+'");getSzelvenyCoord();pluszegykeres();\' ' 
								 	+' onmouseover=\''+this.cname+'keresoplusz.handleOnMouseOver(this);\' ' 
									 +' onmouseout=\''+this.cname+'keresoplusz.handleOnMouseOut(this);\' >' 
									 +'<td align="left"><a id="a' + i;	
								div += '">' + azta + '</td></tr>'; 	
								eredm++;						
							}					
						}							
					}
					if(eredm==0){
						div += "<tr><td>"+this.hibaszoveg+"</td></tr>";		
					}
				}
			}
			else{			
				if (this.cname == "km"){
					var enev = "mkeyword";
				}
				else
					var enev= "";
		
				var pnev = this.cname+"keyword";
				
				if(results_array.length==1 && this.cname != "km"){
					var kell = 0;
					div += '<tr></tr>';
					document.getElementById(this.cname+'scroll').style.display = 'none';	
					
					if(document.getElementById(pnev).value==''){
						document.getElementById(pnev).className="keyworddis";
						document.getElementById(pnev).disabled=true;	
					}	
					if (enev != '') {
						document.getElementById(enev).className = "keyword";
						document.getElementById(enev).disabled = false;
						document.getElementById(enev).focus();
					}

				}
				else{
					document.getElementById(pnev).className="keyword";
					document.getElementById(pnev).disabled=false;
				
					div += '<tr id="tr' +this.cname + i + '" '
							 +' onclick=\''+this.cname+'keresoplusz.updateKeywordVal("'+varnev+'");document.getElementById("'+enev+'").className="keyword";document.getElementById("'+enev+'").disabled='+false+';document.getElementById("'+enev+'").focus();\' ' 
							 +' onmouseover=\''+this.cname+'keresoplusz.handleOnMouseOver(this);\' ' 
							 +' onmouseout=\''+this.cname+'keresoplusz.handleOnMouseOut(this);\' >' 
							 +'<td align="left"><a id="a' + i;	
					div += '">' + varnev.substring(0,this.suggestionMaxLength) + '</td></tr>';     					
				}				
			}
		}
	}
  div += "</table>";
  
  if (kell == 1) {
    var oSuggest = document.getElementById(this.suggestid);  						//létrehozza a suggest objectet
	  var oScroll = document.getElementById(this.scrollid);							//létrehozza a scroll objectet
	  oScroll.scrollTop = 0;														//a scroll tetejére ugrik
	  oSuggest.innerHTML = div;														//Felülírom a suggestet
	  oScroll.style.display = "block";
	  if(oSuggest.style.display = "none")											//megjelenítem, ha még nem volt. régen ez nem kellett!
	  	oSuggest.style.display = "block"
	doResize();
  }
   if(results_array.length > 0)				//Ha volt találat, kiírjuk a kulcsszót
	  	this.autocompleteKeyword();  

//	if(results_array[0].substring(0,6) != "Nincs:")
		changeCursorDef();
	  varakozasVege('kereses');
}

/* ha változott a beírás */
Keresoplusz.prototype.checkForChanges = function(e){
	//alert('váltorás volt, keyword: '+keyword);
	this.handleKeyUp(e);
	keyword = document.getElementById(this.mezoid).value.toLowerCase();	//lekérem az értéket 
//alert(keyword + ' userkeyword: '+this.userKeyword);
	if(keyword == ""){														//ha üres, mindent törlök.
//alert('üres ezért mindent törlök');
    	this.hideSuggestions();
    	this.userKeyword="";
    	this.httpRequestKeyword="";
		this.autocompletedKeyword = "";
	}																		//ha változott, új suggestiont keresek
	else if((this.userKeyword != keyword) /*&& (autocompletedKeyword != keyword)*/ && (!this.isKeyUpDownPressed)){
//alert('váltorás, újat keresek keyword: '+keyword);
		closeAllScroll(this.cname);		//mindent becsuk
		clearAllKeyword(this.cname);	//mindent töröl
		this.getPluszSuggestions(keyword);
	}		
}

/* Lenyomott billentyű */
Keresoplusz.prototype.handleKeyUp = function(e){
	e = (!e) ? window.event : e;

	target = (!e.target) ? e.srcElement : e.target;
	if (target.nodeType == 3) 
		target = target.parentNode;
		
	//A lenyomott gomb kódja	
	code = (e.charCode) ? e.charCode : ((e.keyCode) ? e.keyCode : ((e.which) ? e.which : 0));
	
	if (e.type == "keyup") {   										//Ha keyup volt, akkor megvizsgálom 
		this.isKeyUpDownPressed =false; 
		if ((code < 13 && code != 8) || 
		    (code >=14 && code < 32) || 
		    (code >= 33 && code <= 46 && code != 38 && code != 40) || 
		    (code >= 112 && code <= 123)) 
		{
		  // Ha betü vagy szám
		}
		else if(code == 13){										//Ha enter, akkor kiválasztotta a sort
			if(position>=0){
				// Itt kell megírni a kiválasztást. A nevet valahonnan kiszedni. Akár lekérdezésből...
				document.getElementById("tr"+this.cname+(position)).onclick();
			}
		}        
/*		else if(code == 40){										//Ha lefelé gomb, a következő találatra lépünk		                 
		    newTR=document.getElementById("tr"+(++position));
		    oldTR=document.getElementById("tr"+(--position));

		    if(position>=0 && position<suggestions-1)				//A régiről megszüntetem a selectet
				oldTR.className = "";
				   
		    if(position < suggestions - 1){						  	// kiválasztom az újat és átírom a keyword-t
				newTR.className = "highlightrow";
//				updateKeywordValue(newTR);
				position++;         
		    }     
		    e.cancelBubble = true;
		    e.returnValue = false;
		    this.isKeyUpDownPressed = true;        

		    if(position > maxVisiblePosition){						//Ha elértem a max értéket, akkor lejjebb scrollozok az    
				oScroll = document.getElementById(this.scrollid);
				oScroll.scrollTop += 18;
				this.maxVisiblePosition += 1;
				this.minVisiblePosition += 1;
		    }
		}
		else if(code == 38){       									//Felfelé nyíl
		    newTR=document.getElementById("tr"+(--position));
		    oldTR=document.getElementById("tr"+(++position));

		    if(position>=0 && position <= suggestions - 1)      	//A régiről megszüntetem a selectet
				oldTR.className = "";

		    if(position > 0){										// kiválasztom az újat és átírom a keyword-t
				newTR.className = "highlightrow";
//				updateKeywordValue(newTR);
				position--;

				if(position<minVisiblePosition){					//Felfelé lapozás, ha kifutok az ablakból
					oScroll = document.getElementById(this.scrollid);
					oScroll.scrollTop -= 18;
					this.maxVisiblePosition -= 1;
					this.minVisiblePosition -= 1;
				}   
		    }     
		    else if(position == 0)
		        position--;
			e.cancelBubble = true;
		    e.returnValue = false;
		    this.isKeyUpDownPressed = true;  
		}  
*/		   
	}
}

/* a keyword átírása a táblázatból kiválasztott értékkel */
Keresoplusz.prototype.updateKeywordVal = function(varnev){
	var oKeyword = document.getElementById(this.mezoid);
	oKeyword.value = varnev;
	this.hideSuggestions();
}

/* Innen kellenek majd a this.cname val kiegészített id-k!!! */
/* deselect all */
Keresoplusz.prototype.deselectAll = function(){ 
  for(i=0; i<suggestions; i++){
    var oCrtTr = document.getElementById("tr"+this.cname+ i);
    oCrtTr.className = "";    
  }
}

/* Ha az egér a találatok fölé ér */
Keresoplusz.prototype.handleOnMouseOver = function(oTr){
  this.deselectAll();  
  oTr.className = "highlightrow";  
  position = oTr.id.substring(2, oTr.id.length);
}

/* Ha az egér kikerül a találatok fölül */
Keresoplusz.prototype.handleOnMouseOut = function(oTr){
  oTr.className = "";   
  position = -1;
}

/* stringet vizsgálja */
Keresoplusz.prototype.encode = function(uri){
  if (encodeURIComponent) 
    return encodeURIComponent(uri);

  if (escape) 
    return escape(uri);
}

/* Elrejti a találatok div et */
Keresoplusz.prototype.hideSuggestions = function(){
//	alert('hide suggestion');
  var oScroll = document.getElementById(this.suggestid);
  oScroll.style.display = "none";  
}

/* function that selects a range in the text object passed as parameter */
Keresoplusz.prototype.selectRange = function(oText, start, length)
{  
  // check to see if in IE or FF
  if (oText.createTextRange) 
  {
    //IE
    var oRange = oText.createTextRange(); 
    oRange.moveStart("character", start); 
    oRange.moveEnd("character", length - oText.value.length); 
    oRange.select();
 
  }
  else 
    // FF
    if (oText.setSelectionRange) 
    {
      oText.setSelectionRange(start, length);
    } 
  oText.focus(); 
}

/* function that autocompletes the typed keyword*/
Keresoplusz.prototype.autocompleteKeyword = function(){
//	alert('autocomplete kezdődik');
  var oKeyword = document.getElementById(this.mezoid);					//kulcsszó mező
  position=0;															//nincs kiválasztott mező
//  deselectAll();														//minden találatra deselect
  document.getElementById("tr"+this.cname+"0").className="highlightrow";  			//A kiválasztott kijelölése
//  updateKeywordValue(document.getElementById("tr0"));  					//A kulcsszóba beírni a kiválasztottat
  // apply the type-ahead style	???
//  selectRange(oKeyword,httpRequestKeyword.length,oKeyword.value.length);  
  // set the autocompleted word to the keyword's value	???
  this.autocompletedKeyword=oKeyword.value;
}

/* Hiba kiírása */
Keresoplusz.prototype.displayError = function(message){ //Ha debug true, akkor többet ír ki. Ez nagyon jó. :)
  alert("Hiba! "+
        (this.debugMode ? "\n" + message : ""));
}

function getSzelvenyCoord(){
	var kszam = document.getElementById('utkeyword').value;
	var pkod = document.getElementById('utpkeyword').value;
	var km = document.getElementById('kmkeyword').value;
	var m = document.getElementById('mkeyword').value;
	
	var eleres = "kereses/getSzelvCoord.php?kszam="+kszam+"&pkod="+pkod+"&km="+km+"&m="+m;

	var httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.onreadystatechange = function setOutput(){
			if (httpObject.readyState == 4) {
				if (httpObject.status == 200) {
					if (httpObject.responseText.substring(0, 5) != 'Hiba:') {
						if (httpObject.responseText.substring(0, 6) == 'Nincs:'){
							alert(httpObject.responseText.substring(6)); //a beírt szelvény nem található
						}
						else{												
							clicked_latlng = new google.maps.LatLng(httpObject.responseText.split(',')[0],httpObject.responseText.split(',')[1]);
							placeMarker('click');
							getInfoContent("click");
						}
					}
					else{
						alert(httpObject.responseText);
					}
				}
			}
		};
		httpObject.open("GET", eleres, true);
		httpObject.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
		httpObject.send(null);
	}
	
}

