// Globals für die Navigation

//document.onkeyup = suggestUpdown;
document.onkeydown = suggestUpdown;

var suggestelement = 0;
var position = -1;
var values = [];

//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();


//Called from keyup on the search textbox.
//Starts the AJAX request.

function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('search_name').value);
		searchReq.open("GET", '/ajax/checkresult.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
		if (document.getElementById('search_name').value == '')
				{document.getElementById('search_suggest').style.visibility = 'hidden';}
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest_old() {
        if (searchReq.readyState == 4) {
                var ss = document.getElementById('search_suggest')
                ss.style.visibility = 'visible';
                ss.innerHTML = '';
                var str = searchReq.responseText.split("\n");
                for(i=0; i < str.length - 1; i++) {
                        //Build our element string.  This is cleaner using the DOM, but
                        //IE doesn't support dynamically added attributes.
                        var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
                        suggest += 'onmouseout="javascript:suggestOut(this);" ';
                        suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        suggest += 'class="suggest_link">' + str[i] + '</div>';
                        ss.innerHTML += suggest;
                        if (document.getElementById('search_name').value == '')
                                {document.getElementById('search_suggest').style.visibility = 'hidden';}
                }
        }
}


//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.style.visibility = 'visible';
		ss.innerHTML = '';
		var result = searchReq.responseText;
		suggestelement = 0;
		if (result != '')
		{
			ss.innerHTML += '<div class="search_suggest_top">Könnten Sie vielleicht das hier suchen:</div>';
		}
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			var str2 = str[i].split("\t");
			for(e=0; e < str2.length - 1; e++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			//var suggest = str2[e];

			var suggest = '<div id="'+ suggestelement +'"onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(\'' + str2[0] + '\');" ';
			suggest += 'class="suggest_link"><table><tr><td><img class="search_suggest_image" width="40" height="30" src="/static/campics/' + str2[1] + '.jpg" /></div>';
			suggest += '</td><td width="100%"><div>' + str2[0] + '</div></td></tr></table></div>\n';
			
			values[suggestelement] = str2[0];
			suggestelement++;
			
			ss.innerHTML += suggest;
			if (document.getElementById('search_name').value == '')
				{document.getElementById('search_suggest').style.visibility = 'hidden';}
			}
		
		}
		if (result == '')
		{
			ss.innerHTML += '<div class="search_suggest_bottom" onclick="javascript:setSearch(\'' + document.getElementById('search_name').value + '\');">Direkt Suche ergab keine Ergebnisse <br/>Weiter auf gut Glück...</div>';
		}
		else
		{
			ss.innerHTML += '<div class="search_suggest_bottom" onclick="javascript:setSearch(\'' + document.getElementById('search_name').value + '\');">mehr Ergebnisse</div>';
		}
	}
}

//Navigation über Cursor Tasten
function suggestUpdown (Ereignis) {
  if (!Ereignis)
    Ereignis = window.event;
  if (Ereignis.which) {
    Tastencode = Ereignis.which;
  } else if (Ereignis.keyCode) {
    Tastencode = Ereignis.keyCode;
  }
  // Mach was
  
  
  if (Tastencode == 40)
   	{
   	 	if (position == (suggestelement-1))
   	 		{
				
				position = (suggestelement-1);
			}
   	 	else
   	 	{
	    	position++;
	    }
		divelement = document.getElementById(position);
		suggestOver(divelement);
	}
	   
  if (Tastencode == 38)
  	{
   	 	if (position == 0)
   	 		{
   	 		 	 
				 position = 0;
			}
		else
		{
			position--;
		}
		divelement = document.getElementById(position);
		suggestOver(divelement);
	}
  if (Tastencode == 13 && position != -1)
  	{
		setSearch(values[position]);
	} 	
	//alert(position);
  //window.status = position + "von max "+ suggestelement;
}


//Mouse over function
function suggestOver_new(div_value) {
	document.getElementById(div_value).className = 'suggest_link_over';
	if (document.getElementById('search_name').value == '')
				{document.getElementById('search_suggest').style.visibility = 'hidden';}
}

//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
	if (document.getElementById('search_name').value == '')
				{document.getElementById('search_suggest').style.visibility = 'hidden';}
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
	if (document.getElementById('search_name').value == '')
				{document.getElementById('search_suggest').style.visibility = 'hidden';}
}

//Click function
function setSearch(value) {
	document.getElementById('search_name').value = value;
	document.schnellsuche.submit();
}
//Mouseout Deaktivation
function deactivateSuggest()  {
		document.getElementById('search_suggest').style.visibility = 'hidden';
}