//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 update(feld) {

var loading = '<table width="100%" cellpadding="0" cellspacing="0">'
			+ '<tr><td class="detail_head"><b>Loading ...</b></td>'
			+ '<td align="right">&nbsp;&nbsp;&nbsp;</td>'
			+ '</tr><tr>'
			+ '<td class="detail_body" colspan="2" style="text-align:center;">'
			+ '<img src="image/loading.gif" />'
			+ '</td></tr></table>';

	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		
		
		
		if (feld == 'ort')
		{
		 	//Suchebutton deaktivieren
		 	document.suche.suche.disabled = true;
		 	var str = document.suche.bundesland.value;
			searchReq.open("GET", 'ajax/getvalues.php?mode=' + feld + '&data=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggest_bundesland; 
			searchReq.send(null);
		}
		if (feld == 'branche')
		{
			//Suchebutton deaktivieren
		 	document.suche.suche.disabled = true;
			var str = document.suche.ort.value;
			searchReq.open("GET", 'ajax/getvalues.php?mode=' + feld + '&data=' + escape(str), true);
			searchReq.onreadystatechange = handleSearchSuggest_ort; 
			searchReq.send(null);
		}
		if (feld == 'bewertung')
		{
			var str = document.empfehlung.branche.value;
			searchReq.open("GET", 'ajax/getvalues.php?mode=' + feld + '&data=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggest_bewertung; 
			searchReq.send(null);
		}
		if (feld == 'newort')
		{	
		 	document.getElementById('neueeintraege').innerHTML = '';
   			document.getElementById('neueeintraege').innerHTML = loading;
			var str = document.suche.ort.value;
			searchReq.open("GET", 'template/neue_eintraege.php?update=1&ort=' + escape(str), true);
			searchReq.onreadystatechange = handleSearchSuggest_neweintraege; 
			searchReq.send(null);
		}
		if (feld == 'newbranche')
		{
			
		 	document.getElementById('neueeintraege').innerHTML = '';
   			document.getElementById('neueeintraege').innerHTML = loading;
			var ort = document.suche.ort.value;
			var branche = document.suche.branche.value;
			searchReq.open("GET", 'template/neue_eintraege.php?update=1&ort=' + escape(ort) + '&branche=' + branche, true);
			searchReq.onreadystatechange = handleSearchSuggest_neweintraege; 
			searchReq.send(null);
		}

	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest_bundesland() {
		if (searchReq.readyState == 4) {
                // Selectbox löschen
                document.suche.ort.length = null;

                var station_ort = document.getElementById('selectort').innerHTML;
                NeuerEintrag = new Option('', '', false, false);
				document.suche.ort.options[0] = NeuerEintrag;
							
				
				var str = searchReq.responseText.split("\n");
				for(i=1; i < str.length - 1; i++) {
                    
					if (str[i] == station_ort)
					{
						var position = i;
					}
					NeuerEintrag = new Option(str[i], str[i], false, false);
					document.suche.ort.options[document.suche.ort.length] = NeuerEintrag;
                	
                }
                
				
				if (position)
				{
					document.suche.ort.options[position].selected = true;
				}
				else
				{
					document.suche.ort.options[0].selected = true;
                }

				update('branche');
				
        }
}
function handleSearchSuggest_ort() {
		if (searchReq.readyState == 4) {
			// Selectbox löschen
                
				document.suche.branche.length = null;
                
                
				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++) {
                        NeuerEintrag = new Option(str2[0], str2[1], false, false);
  						document.suche.branche.options[document.suche.branche.length] = NeuerEintrag;
                }
                }
                if (document.suche.branche.options[0])
                {
					document.suche.branche.options[0].selected = true;
					// Suche Button aktivieren
					document.suche.suche.disabled = false;
        		}
        	update('newort');	
		}
}

function handleSearchSuggest_bewertung() {
		if (searchReq.readyState == 4) {
			// Selectbox löschen
                
				var str = searchReq.responseText.split("\n");
				for(i=1; i < str.length - 1; i++) {
				 	
					document.getElementById(i).firstChild.deleteData(0, 100);
    				document.getElementById(i).firstChild.insertData(0, str[i]);
                }

		}
}

function handleSearchSuggest_neweintraege() {
		if (searchReq.readyState == 4) {
			var str = searchReq.responseText;
			document.getElementById('neueeintraege').innerHTML = '';
   			document.getElementById('neueeintraege').innerHTML = str;
		}
}




