	/**
	 * Einstiegspunkt in die Verarbeitung (auf Basis von jQuery).
	 */
	$(document).ready(function() {
		$("#manufacturer").change(
			function() {
				var manufacturer = document.getElementById("manufacturer");
				var product = document.getElementById("filter_keyword_sel");
				
				if ( manufacturer.selectedIndex == 0 ) {
				 	$("#filter_keyword_sel").children().remove();
				 	$("#filter_keyword_sel").append("<option>Model w&#228;hlen, zuvor Hersteller</option>");
				} else {
					initAjax();
				}
			}
		);
		
		$("#filter_keyword_sel").change(
			function() {
				document.searchform.submit();
			}
		);
		
		$("#filter_keyword").click(
			function() {
				var inputField = document.getElementById("filter_keyword");
				
				if (inputField.value == "Suchbegriff(e) eingeben") {
					inputField.value = "";
					inputField.style.color = '#000000';
				}
			}
		);
		
		$("#searchbutton").click(
			function(event) {
				if (!(document.getElementById("filter_keyword_sel"))) {
					var inputField = document.getElementById("filter_keyword");
				
					if (inputField.value == "" || inputField.value == "Suchbegriff(e) eingeben") {
						event.preventDefault();
						inputField.value = "Suchbegriff(e) eingeben";
						inputField.style.color = '#FF0000';
					}
				}
				else {
					var select = document.getElementById("filter_keyword_sel")

     				if (select.selectedIndex == 0) {
     					event.preventDefault();
     					//select.style.color = '#FF0000';
     				}
				}
			}
		);
		
	});
	
	/**
	 * Hauptfunktion fŸr den AJAX-Request. 
	 * Zuerst wird das entsprechende XMLHttpRequest-Object erzeugt (je nach Browser),
	 * danach wird die Anfrage abgesendet.
	 */
	function initAjax() {
     	if ( document.getElementById ) {
     		if (window.XMLHttpRequest) {
     			request = new XMLHttpRequest();
     		}
     		
     		if (window.ActiveXObject) {
     			var versions = new Array("MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsof.XMLHttp");
 				for ( var i = 0; i < versions.length; i++ ) {
     				try {
     					request = new ActiveXObject(versions[i]);
     				}
     				catch ( exception ) {
     					 
     				}
     			}
     		}
     	}

     	if ( request ) {
     		var select = document.getElementById("manufacturer")
     		value = select.options[select.selectedIndex].value;
			 
     		//var url = "http://www.staubbeutel-profi.de/search/search.php?manufacturerID=" + value;
     		var url = "http://www.staubbeutel-profi.de/search/search.php?manufacturerID=" + value;
     		request.open( "GET", url, true );
     		request.onreadystatechange = processResponse;
     		request.send( null );
     	}
     }
     
     
     /**
      *	Callback fŸr den AJAX-Request
      */
     function processResponse() {
     	if ( request.readyState == 4 ) {
     		if ( request.status == 200 ) {
     			//alert("ready");
     			obj = eval("(" + request.responseText + ")");
     			//alert(obj[0].name);
     			fillProduct(obj);
     		}
     	}
     }
     
	/**
	 * Diese Funktion fŸllt die 2. Combo-Box mit dem Ergebnis der Suche.
	 */
	function fillProduct(dataSource) {
		//alert("fill product");
		// Entfernen von evtl. vorhandenen EintrŠgen
		$("#filter_keyword_sel").children().remove();

		document.getElementById("filter_keyword").value ='';
	
		// Ÿber das Ergebnis iterieren und die neuen Elemente einhŠngen
		$("#filter_keyword_sel").append("<option>jetzt das Model w&#228;hlen</option>");
		for ( var current in dataSource ) {
				$("#filter_keyword_sel").append("<option value=\"" + dataSource[current].model_id + "\">&nbsp;&nbsp;&nbsp;" + dataSource[current].name + "</option>");
		}
	}
