function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Dieser Browser unterst&uuml;tzt leider kein Ajax.");
	}
}
var searchReq = getXmlHttpRequestObject();

function searchSuggest(event,txtSearch,suggest,suchesuggest,ziel,bereich,clickziel) {
	if(event.keyCode == 38 || event.keyCode == 40 || event.keyCode == 13){
		for(i=0; i < 10; i++){
			var d2 = document.getElementById(suggest+i);
			if(d2){
				if(d2.className == 'suggest_link_over'){
					var sn = i;
					if(event.keyCode == 13 && document.getElementById(txtSearch).value != document.getElementById(suggest + i).innerHTML){
						document.getElementById(txtSearch).value = document.getElementById(suggest + i).innerHTML;
						document.getElementById(suchesuggest).innerHTML = '';
						return false;
					}

					if(event.keyCode == 38){
						if(sn > 0){
							--sn;
						}
						document.getElementById(suggest + i).className = 'suggest_link';
						document.getElementById(suggest + sn).className = 'suggest_link_over';
						document.getElementById(suggest + sn).className = 'suggest_link_over';
						var eingabe = document.getElementById(txtSearch).value;
						document.getElementById(txtSearch).value = "";
						document.getElementById(txtSearch).value = eingabe;
					}

					if(event.keyCode == 40){
						if(sn < 9){
							++sn;
						}
						document.getElementById(suggest + i).className = 'suggest_link';
						document.getElementById(suggest + sn).className = 'suggest_link_over';
						var eingabe = document.getElementById(txtSearch).value;
						document.getElementById(txtSearch).value = "";
						document.getElementById(txtSearch).value = eingabe;
					}
					break;
				}
			}
		}
		return true;
	}
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById(txtSearch).value);
		searchReq.open("post", ziel, true);
		searchReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		searchReq.onreadystatechange = function(){
			if (searchReq.readyState == 4) {
				var ss = document.getElementById(suchesuggest);
				ss.innerHTML = '';
				var str = searchReq.responseText.split("\n");
				for(i=0; i < str.length - 1; i++){
					var suggestcode = '<div id="'+suggest + i + '" onmouseover="javascript:suggestOver(this,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\');" ';
					suggestcode += 'onmouseout="javascript:suggestOut(this,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\');" ';
					if(clickziel){
						suggestcode += 'onclick="javascript:setLink(this.innerHTML,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\',\''+clickziel+'\');" ';
						suggestcode += 'class="suggest_link"><a href="javascript:setLink(this.innerHTML,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\',\''+clickziel+'\');">' + unescape(str[i]) + '</a></div>';
					}else{
						suggestcode += 'onclick="javascript:setSearch(this.innerHTML,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\',\''+clickziel+'\');" ';
						suggestcode += 'class="suggest_link"><a href="javascript:setSearch(this.innerHTML,\''+txtSearch+'\',\''+suggest+'\',\''+suchesuggest+'\',\''+ziel+'\',\''+clickziel+'\');">' + unescape(str[i]) + '</a></div>';
					}
					ss.innerHTML += suggestcode;
					document.getElementById(suchesuggest).style.display = '';
				}
				if(str != ""){
					document.getElementById(suggest+"0").className = "suggest_link_over";
				}
			}
        	};
                searchReq.send('site=' + bereich + '&search=' + str);
	}
}



function suggestOver(div_value,txtSearch,suggest,suchesuggest,ziel) {
	for(i=0; i < 10; i++){
		var d3 = document.getElementById(suggest+i);
		if(d3){
			document.getElementById(suggest + i).className = 'suggest_link';
		}
	}
	div_value.className = 'suggest_link_over';
}
function suggestOut(div_value,txtSearch,suggest,suchesuggest,ziel){
//	div_value.className = 'suggest_link';
}
function setSearch(ergebnis,txtSearch,suggest,suchesuggest,ziel,clickziel) {
	document.getElementById(txtSearch).value = ergebnis;
	document.getElementById(suchesuggest).innerHTML = '';
	document.getElementById(suchesuggest).style.display = 'none';
}

function setLink(ergebnis,txtSearch,suggest,suchesuggest,ziel,clickziel) {
	document.location.href = clickziel + ergebnis;
	document.getElementById(suchesuggest).innerHTML = '';
	document.getElementById(suchesuggest).style.display = 'none';
}

function setOut(suchesuggest){
	window.setTimeout(function() {document.getElementById(suchesuggest).style.display = 'none';}, 100);
}

function setHinweis (suchesuggest){
	document.getElementById(suchesuggest).style.display = 'none';
}

function setIn(suchesuggest){
	document.getElementById(suchesuggest).style.display = '';
}