function jsSearchEngine() {
	$( "#searchengine_form" ).bind( "submit", searchengineSubmit );
	$( "#searchengine_form" ).bind( "reset", searchengineReset );
	$( "#searchengine_form_string" ).bind( "focus", searchengineStringLogicFocus );
	$( "#searchengine_form_string" ).bind( "blur", searchengineStringLogicBlur );
	$( "#searchengine_form_land" ).bind( "keyup", getRegionsSearchEngine );
	$( "#searchengine_form_land > option" ).bind( "select", getRegionsSearchEngine );
	$( "#searchengine_form_region" ).bind( "keyup", syncRegionsSearchEngine );
	$( "#searchengine_form_region > option" ).bind( "select", syncRegionsSearchEngine );
	getRegions();
}
var mSearchEngineState = true;
function searchengineSubmit( e ) {
	if ( mSearchEngineState ) {
		mSearchEngineState = false;
		
		var category, person, date, steady, pricemin, pricemax;
		if ( document.getElementById( "searchfilter_form_category" ) ) 
				category = $( "#searchfilter_form_category" ).val();
		else category = "beliebig";
		if ( document.getElementById( "searchfilter_form_person" ) ) 
				person = $( "#searchfilter_form_person" ).val();
		else person = 0;
		if ( document.getElementById( "searchfilter_form_date" ) ) 
				date = $( "#searchfilter_form_date" ).val();
		else date = "beliebig";
		if ( document.getElementById( "searchfilter_form_steady" ) ) 
				steady = $( "#searchfilter_form_steady" ).val();
		else steady = 7;
		if ( document.getElementById( "searchfilter_form_price_min" ) ) 
				pricemin = $( "#searchfilter_form_price_min" ).val();
		else pricemin = 0;
		if ( document.getElementById( "searchfilter_form_price_max" ) ) 
				pricemax = $( "#searchfilter_form_price_max" ).val();
		else pricemax = 0;
		if ( document.getElementById( "searchfilter_form_kit_hund" ) ) 
				kit_hund = document.getElementById( "searchfilter_form_kit_hund" ).checked;
		else kit_hund = "false";
		
		closeField();
		submitInit( "searchengine_form" );
		$( "#searchengine_form .loading" ).css("visibility", "visible" );
		$.get( "/system/suchanfrage.php", { 
				category:	category, 
				land:		$( "#searchengine_form_land" ).val(), 
				region:		$( "#searchengine_form_region" ).val(), 
				person:		person, 
				date:		date, 
				steady:		steady, 
				string:		$( "#searchengine_form_string" ).val(), 
				pricemin:	pricemin, 
				pricemax:	pricemax, 
				kit_hund:	kit_hund
			 }, function( data ) {
			if ( data == "!" || data == "" ) {
				$( "#searchengine_form .loading" ).css("visibility", "hidden" );
				alert( "Suche abgebrochen." );
				openField();
			} else submitLogic( "searchengine_form", "successfull", "Suche abgeschlossen.", data );
			mSearchEngineState = true;
		});
	}
	if ( e ) e.preventDefault();
}
function closeField() {
	$( "#searchengine_form .input" ).attr( "disabled", true );
	$( "#searchengine_form .button" ).attr( "disabled", true );
	try {
		$( "#searchfilter_form .input" ).attr( "disabled", true );
		$( "#searchfilter_form .button" ).attr( "disabled", true );
		$( "#searchfilter_form_date_panel" ).datepicker( "disable" );
		$( "#searchfilter_form_price" ).slider( "disable" )
		
	} catch ( e ) {}
}
function openField() {
	mSearchEngineState = true;
	$( "#searchengine_form .input" ).attr( "disabled", false );
	$( "#searchengine_form .button" ).attr( "disabled", false );
	try {
		$( "#searchfilter_form .input" ).attr( "disabled", false );
		$( "#searchfilter_form .button" ).attr( "disabled", false );
		$( "#searchfilter_form_date_panel" ).datepicker( "enable" );
		$( "#searchfilter_form_price" ).slider( "enable" )
	} catch ( e ) {}
}
function searchengineReset( e ) {
	mSearchEngineState = true;
	openField();
}
function searchengineStringLogicFocus() {
	if ( $( "#searchengine_form_string" ).val() == "Volltextsuche" ) $( "#searchengine_form_string" ).val( "" );
	$( "#searchengine_form .set" ).hide();
	$( "#searchengine_form div.field" ).css( 
		{
			width: "500px"
		}
	);
	document.getElementById( "searchengine_form_string" ).focus();
}
function searchengineStringLogicBlur() {
	if ( $( "#searchengine_form_string" ).val() == "") $( "#searchengine_form_string" ).val( "Volltextsuche" );
	$( "#searchengine_form .set" ).show();
	$( "#searchengine_form div.field" ).css( 
		{
			width: "210px"
		}
	);
}
var mSearchEngineGetRegionsFlag = true;
function getRegions() {
	/*
	$( "#searchengine_form > div.field_bg" ).css( { 
			background: "url( /templates/desktop/system/flagge.php?" + 
			"land=" + escape( $("#searchengine_form_land").val() ) + " ) " + 
			"no-repeat left top" 
		} );
	*/
	
	$.get("/system/regionen.php", { 
			land: $("#searchengine_form_land").val()
		 }, 
		 function( data ) {
			$("#searchengine_form_region").html( data );
			try {
				$("#searchfilter_form_region").html( data );
			} catch ( e ) {}
			mSearchEngineGetRegionsFlag = true;
			try { jsIndex(); } catch(e) {}
		}
	);
}
function getRegionsSearchEngine() {
	if ( mSearchEngineState && mSearchEngineGetRegionsFlag ) {
		mSearchEngineGetRegionsFlag = false;
		$("#searchfilter_form_land").val( $("#searchengine_form_land").val() );
		getRegions();
	}
}
function getRegionsSearchFilter() {
	if ( mSearchEngineState && mSearchEngineGetRegionsFlag ) {
		mSearchEngineGetRegionsFlag = false;
		$("#searchengine_form_land").val( $("#searchfilter_form_land").val() );
		getRegions();
	}
}
function syncRegionsSearchEngine() {
	$("#searchfilter_form_region").val( $("#searchengine_form_region").val() );
}
function syncRegionsSearchFilter() {
	$("#searchengine_form_region").val( $("#searchfilter_form_region").val() );
}