function getXmlHttpRequestObject() {
	
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		alert("Can't create XMLHttpRequest Object.");
	}
}

var searchReq = getXmlHttpRequestObject();

function searchSuggest() {

	for( var i = 0; i < document.getElementsByName('searchfilter').length; i++ ) {
		if( document.getElementsByName('searchfilter')[i].checked ) {
			var filter = i;
		}
	}

	//Ifap-Suche Wirkstoffe und Indikation laeuft nicht ueber Suggest, sondern ueber Zwischenseite
	if(document.getElementsByName('searchfilter')[filter].value == 'indication' || document.getElementsByName('searchfilter')[filter].value == 'substance')
	{
		document.getElementById('search_suggest').style.visibility = 'hidden';
		return false;
	}

	if( filter == "1" ) {
		var minbuchstaben = 2;
	}
	else {
		var minbuchstaben = 3;
	}
	
	document.getElementById('search_suggest').style.visibility = 'hidden';
	
	if( document.getElementById('txtSuche').value.length >= minbuchstaben )	{
		
		if (searchReq.readyState == 4 || searchReq.readyState == 0) {
			
			var suchstring = escape(document.getElementById('txtSuche').value);

			if( document.getElementById('suchform5').searchfilter_rx[0].checked ) {
				var rx = 0;
			}
			else {
				var rx = 1;
			}

			searchReq.open("GET", 'ajax_suggestsearch.php?suchstring=' + suchstring + '&rx=' + rx + '&filter=' + filter, true);
			searchReq.onreadystatechange = handleSearchSuggest; 
			searchReq.send(null);
		}		
	}
}

function handleSearchSuggest() {
	
	if (searchReq.readyState == 4) 	{	
		
		xmlDok = searchReq.responseXML;
		elemente = xmlDok.childNodes[0].childNodes.length;
		
		if( elemente == 0 ) {
			document.getElementById('search_suggest').style.visibility = 'hidden';
		}
		else {
			document.getElementById('search_suggest').style.visibility = 'visible';
		}
				
		while( document.getElementById('search_suggest').hasChildNodes() ) {
			
			knoten = document.getElementById('search_suggest').firstChild;
			document.getElementById('search_suggest').removeChild(knoten);
		}
		
		for( var i = 0; i < xmlDok.childNodes[0].childNodes.length; i++ ) {			
			
			if( i % 2 == 0 ) {
				farbe = "dunkel";
			}
			else {
				farbe = "hell";
			}
				
			var suggest = '<li class="' + farbe + '"><a href="#" onclick="javascript:setSearch(this.innerHTML);">' + xmlDok.firstChild.childNodes[i].childNodes[0].childNodes[0].data + '</a></li>';
			
			document.getElementById('search_suggest').innerHTML += suggest;			
		}	
	}
}

function setSearch(value, pzn)
{
	value = value.replace (/&amp;/g, '&');
	document.getElementById('txtSuche').value = value;
	document.getElementById('ajax_pzn').value = pzn;
	document.getElementById('search_suggest').innerHTML = '';
	document.getElementById('search_suggest').style.visibility = 'hidden';
	document.getElementById('suchform5').submit();
}

document.onmouseup = function() {
	document.getElementById('search_suggest').style.visibility = 'hidden';
}