/*
**@author: bJurkowski, gKouam edicos websolutions for Kaufland
*/

var xmlHttp;
var TempInput = null;
var key = 1;
var liArrayGlobal;
var usedSuggestion = false; //Vorschlag noch nicht übernommen
var searchString = ""; //Globale Suchwort Variable
var suggestEvent; //Globale Evenz Variable
var suggestionsURL = "";	//URL der Vorschlagsfunktion
var requestTimeout = 1000; //Timeout in ms bevor Anfrage geschickt wird
var search_suggest = 'search_suggest';
var t = setTimeout("", requestTimeout);


	
	//XXXXXXX Kaufland XXXXXXXXX
	/*
	var searchWordName = 'queryString';
	var searchInputField = 'searchword';
	*/

	//XXXXXXX MUC-103 XXXXXXXXX
	var searchWordName = 'queryString';
	var searchInputField = 'searchword';

function hideSuggest() {
	document.getElementById(search_suggest).style.visibility = "hidden";
}
	
function focusStart() {
 document.getElementById('searchword').focus();
}

function colorChange(event, id){
	var input = document.getElementById(searchInputField).value;
	var inhalt = null;		
	
	var liArray = new Array();	
		for (var i = 0; i <= document.getElementsByName(searchWordName).length; i++) {
			if(document.getElementsByName(searchWordName)[i]) {
					liArray[i] = document.getElementsByName(searchWordName)[i];
			}	
		}
	liArrayGlobal = liArray;
	
	// PFEILTASTE UNTEN
    if((event.keyCode == 40) && (input != "") && (key != liArray.length -1) && (document.getElementById(search_suggest).innerHTML != "No suggestions.")) {
		key ++;	
		liArray[key-1].style.background = "white";
		liArray[key].style.background = "#ADC7DD";
		
		inhalt = liArray[key].innerHTML;
		document.getElementById(searchInputField).value = inhalt;
    }	
	// PFEILTASTE UNTEN (ENDE ERREICHT)
	if((event.keyCode == 40) && (input != "") && (key == liArray.length -1) && (document.getElementById(search_suggest).innerHTML != "No suggestions."))
    {
		key = 1;
		liArray[key].style.background = "#ADC7DD";
		liArray[liArray.length - 1].style.background = "white";
		
		document.getElementById(searchInputField).value = TempInput;
	}	
	
	// PFEILTASTE OBEN 
	if((event.keyCode == 38)&& (input != "") && (key != 0) && (document.getElementById(search_suggest).innerHTML != "No suggestions."))
    {	
		key --;
        liArray[key].style.background = "#ADC7DD";
		liArray[key+1].style.background = "white";
		
		inhalt = liArray[key].innerHTML;
		document.getElementById(searchInputField).value = inhalt;
    }
	// PFEILTASTE OBEN (INPUT ERREICHT)
	if((event.keyCode == 38)&& (input != "") && (key == 1) && (key != 0) && (document.getElementById(search_suggest).innerHTML != "No suggestions."))
    {	
		key = 1;
		liArray[key].style.background = "#ADC7DD";
		document.getElementById(searchInputField).value = TempInput;
    }
	// PFEILTASTE OBEN (ENDE ERREICHT)
	if((event.keyCode == 38) && (input != "") && (key == 0) && (key != 1) && (document.getElementById(search_suggest).innerHTML != "No suggestions."))
    {	
		key = liArray.length - 2;
		liArray[key].style.background = "#ADC7DD";
		liArray[0].style.background = "white";
		
		inhalt = liArray[key].innerHTML;
		document.getElementById(searchInputField).value = inhalt;
    }
}

//on mouseOver
function hoverEffect(id) {
	var array_id;
	if ((document.getElementById(searchInputField).value != "") && usedSuggestion == false) {
		if ((id == "one")) { //wenn maus aufm inputfield "one" ist :
			array_id = 1;
			document.getElementsByName(searchWordName)[array_id].background = "#ADC7DD";
		}
		
		else {	//wenn maus nicht aufm inputfield "one" ist :
			for (var i = 0; i<= liArrayGlobal.length-2; i++) {
				if(document.getElementsByName(searchWordName)[i].getAttribute("id") == id)
				{
					array_id = i;
				}			
			}	
			document.getElementsByName(searchWordName)[key].style.background = "#FFF";
			key = array_id;	
			document.getElementsByName(searchWordName)[key].style.background = "#ADC7DD";
		}
	}
}

//Timeout bevor showHint ausgeführt wird
function ownTimeout(str, event, url){
	clearTimeout(t);
	searchString = str; 	//Suchwort wird global gesetzt
	suggestEvent = event.keyCode;	//Event wird global gesetzt
	suggestionsURL = url;	
	t = window.setTimeout("showHint()", requestTimeout); //Timeout für showHint
}

function showHint(){
	usedSuggestion = false;		
	var str = searchString;		//String(Suchwort) wird aus der Globalen Variable genommen
	if (str.length==0)
	  { 
	  document.getElementById(search_suggest).innerHTML = "";
		hideSuggest();
		document.getElementById(searchInputField).style.background = "#FFF";
		usedSuggestion = true; //Vorschlag übernommen
	  return;
	  }
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	  {
	  alert ("Your browser does not support AJAX!");
	  return;
	  }
	if ((suggestEvent !=38) && (suggestEvent != 40)) {
		TempInput = document.getElementById(searchInputField).value;		
		var url=""+suggestionsURL;
		url=url+"?qstring="+str;		
		
//		url=url+"&sid="+Math.random();		
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
		key = 1;
		xmlHttp.onreadystatechange=stateChanged;
	}	
} 

function stateChanged() { 
	if (xmlHttp.readyState==4)
		{ 
		document.getElementById(search_suggest).style.visibility = "visible";
		document.getElementById(search_suggest).innerHTML=xmlHttp.responseText;
		//document.myForm.vorname.value=xmlHttp.responseText;
		
		var liArray = new Array();	
		for (var i = 0; i <= document.getElementsByName(searchWordName).length; i++)
			{
			if(document.getElementsByName(searchWordName)[i])
				{
				liArray[i] = document.getElementsByName(searchWordName)[i];
				}				
			}
		document.getElementById(search_suggest).style.display = "";
		liArrayGlobal = liArray;
		}

}

function getData(id) {
	var Inhalt = null;
	Inhalt = document.getElementById(id).innerHTML;
	document.getElementById(searchInputField).value = Inhalt;
	document.getElementById(search_suggest).style.display = "none";
	document.getElementById(searchInputField).style.background = "#FFF";
	usedSuggestion = true; //Vorschlag übernommen
	focusStart();
}

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;
}