var jqDatePicker;

//#######################################################################################  
function InitSearchForm(){
	   
		
		// Grundvariablen setzen
		// Das Loding Element anzeigen
		var strLoadingHTML="<p id=\"loading\" style=\"text-align: center;\"><img src=\""+strWebDBPath+"/loading.gif\" alt=\"Loading ...\" title=\"Loading ...\" height=\"16\" width=\"16\">&nbsp;</p>";
		$("#divloading").prepend(strLoadingHTML); 
		//$("#Datacontainer").hide("fast"); 
		$("#loading").hide();    
 		//Initiierung der Echtzeitsuche
 		$("#SectorTX").change(function () {
					$("#loading").show();
         			RefreshSearchString('');
  		});   
  		$("#BeginID").change(function () {
					$("#loading").show();
         			RefreshSearchString('');
   		});
    	//ausgewählten Text aus Vorschlagsliste in Livesuche	wird als Parameter an die Funktion übergeben
		$('#FreeTextTX').result(function(event, data, formatted) {
			//alert( !data ? "No match!" : "Selected: " + formatted); 	
			$("#loading").show();			
			RefreshSearchString(formatted); 		
		});
		
   		$('#LocationTX').change(function () {
			$("#loading").show();
 			RefreshSearchString(''); 
   		});  
		
		
		$("#ResetButton").click(
		function () {
		var nix = "";
        $("#BeginID").val(nix);
		RefreshSearchString('');
		});
		
		$("#ResetButton2").click(
		function () {
		
		var nix = "";
		$("#BeginID").val(nix);
		$("#LocationTX").val([]);
		$("#FreeTextTX").val(nix);
		$("#SectorTX").val([]);
		RefreshSearchString('');
		});

		//jqDatePicker = $('#BeginID').datepicker({	
		if ($("#BeginID").length)   {
			
			$("#BeginID").datepicker({	
				firstDay: 1,
				dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
				monthNames:['Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
				dateFormat: 'dd.mm.yy',
				prevText:'zur&uuml;ck',
				nextText:'weiter',
				inline: true			
				}) 
			
		}
		
		//$('#BeginID').keyup(SetDatePicker);
		

		$("#FreeTextTX").autocomplete("./WebGetKeywords?OpenAgent", {
			selectFirst: false
		});
	
		//Datumsparser für Tablesorter
		$.tablesorter.addParser({
			id: 'germanDate',
			is: function(s){
			return false;
			},
			format: function(s) {
				var a = s.split('.');
				a[1] = a[1].replace(/^[0]+/g,"");
				return new Date(a.reverse().join("/")).getTime();
			 	},
			 	type: 'numeric'
			 }); 
		
		
		//autostart beim Öffnen der Leer Suchmaske
		//wenn das Wort Searchview in der aktuellen URL enthalten ist, dann ist eine Ergebnisliste und der Autostart ist nicht nötig
		//einmaliger Start beim Öffnen der Maske. Dient auch dem Rücksprung von der Detailsmaske über history.back()
		var strDocURL = window.location.href;		
		var InitSearchCase = strDocURL.indexOf("SearchView");
		//alert(InitSearchCase);
		if (InitSearchCase<0) {
			RefreshSearchString(''); 
		} else {
			//im Falle einer Suche wird die Sortierung der Tabelle aktiviert
			$('#TableFB').tablesorter({
				sortList: [[0,0]],
				headers: { 
		               0: {  sorter:'germanDate'} 
						 }} 
				);
			//alle Alternierende Zeilen
			$('#TableFB tr:odd').addClass('ct-odd');
			$('#TableFB tr:even').addClass('ct-even'); 
			$('#TableFB tr:odd').css('background-color','#ffffff');
			$('#TableFB tr:even').css('background-color','#E5EEF5');
			
		}
}
//#######################################################################################  
function SetDatePicker(eventObject){
	if (eventObject.keyCode >= 96 && eventObject.keyCode <=105 ){
		//wenn eine Zahl eingegeben wird
		var strBeginDT = $("input[name='BeginDT']").attr('value'); 
		if (strBeginDT.length >= 7){
			//alert($.datepicker.parseDate('dd.mm.yy', strBeginDT));  
			//alert($.datepicker.parseDate('dd.mm.yy', '26.01.2007'));  
			//jqDatePicker.datepicker('setDate',strBeginDT);
			jqDatePicker.datepicker('setDate',$.datepicker.parseDate('dd.mm.yy', strBeginDT));
			//alert(strBeginDT);
		} 
	 }
}


//#######################################################################################  
function LoadSuccess(){
	$("#loading").hide();    // Das Loading Element verstecken
	
	// -------------------------------------------------------------------
	$("#Datacontainer").show('slow'); 

	wp.InitTables();
	$('#TableFB').tablesorter({
					sortList: [[0,0]],
					headers: { 
			               0: {  sorter:'germanDate'} 
							 }}
							 );
	
}

//#######################################################################################
function RefreshSearchString(strFreeTextOpt){

		var strViewName = "SearchFBAjax";
		var strBegin = $("input[name='BeginDT']").attr('value'); 
		var strLocation = $("#LocationTX").val();
		var strSector =  $("#SectorTX").val() || [];
		var strFreeText= $("input[name='FreeTextTX']").attr('value'); 

//Suchstring leeren für neue Abfrage
		SearchString =""
		//alert(strFreeTextOpt);

//Zusammensetzen des Suchstrings - strFreeText
		SearchString=strFreeText ;

//Zusammensetzen des Suchstrings - strLocation
		switch (strLocation) {
			case "":
			//alert ("nichts");
			// nothing
			break;
			case "alle":	
			//alert ("alle");
				if(SearchString !="") {			
						SearchString =SearchString +" AND FIELD Form = fbdok ";
					}
					else
					{
						//SearchString = " FIELD Form = fbdok ";
						SearchString = "fbdok ";
					}		
			break;
			default:
			//alert (strLocation);
				if(SearchString !="") {
					SearchString =SearchString+ " AND FIELD Ort = "+strLocation;
					//alert("2");
				}
				else
				{
					SearchString =" FIELD Ort = "+strLocation;
				}
		}
         
			//Zusammensetzen des Suchstrings - Eingabe strBegin
				if(strBegin!="" ) {
				//Umwandlung des angezeigten Datums mit 4stelliger Jahreszahl in 	Datum mit 2stelliger jahreszahl, so wie im zu durchsuchenden Feld hinterlegt	
				//alert(strBegin);
					d=strBegin; 
					dat=d.split('.'); 
					datum=new Date(dat[1]+'/'+dat[0]+'/'+dat[2]); 
					day=datum.getDate(); 
					month=datum.getMonth()+1;
					year=datum.getYear();
					
				//alert("1"+year)
				if (year > 2000)
				{
				year2=datum.getYear()-2000;						
				}
				else
				{				
				if (year > 99)
				{
				year2=datum.getYear()-100;						
				}
				else
				{				
				yearStr2=datum.getYear();
				}	
				}	
				
				if (year2 < 10)
				{
				yearStr="0"+year2;
				}
				else
				{
				yearStr=year2;
				}		
					
				if (day < 10)
				{
				dayStr="0"+day;
				}
				else
				{
				dayStr=day;
				}
								
				if (month < 10)
				{
				monthStr="0"+month; 
				}
				else
				{
				monthStr=month; 
				}
								
				
				NewBeginDT=dayStr+"."+monthStr+"."+yearStr;
							
				 //alert(NewBeginDT);
				 if(SearchString !="")
				 //if (strLocation="alle")
				{
					SearchString =SearchString+ " AND FIELD termin_von = "+strBegin;
										
				}
				else
				{
					SearchString =" FIELD termin_von = "+strBegin;				
				}};
		//alert(SearchString);
		//Zusammensetzen des Suchstrings - Eingabe SectorStringTX

		var SectorElements =strSector.length ;
		//alert ("elemente: "+SectorElements);

		SectorStringTX=strSector.join(" OR FIELD gebiet contains ");
		SectorStringTX =SectorStringTX.replace("alle", "");

		//alert (SectorStringTX);
		
		if(SectorStringTX!="" ) {
			if(SearchString !="")
				{				
				SearchString =SearchString+ " AND ( FIELD gebiet contains "+SectorStringTX+"  ) ";
					//alert("7");								
				}
				else
				{				
				SearchString ="( FIELD gebiet contains " +SectorStringTX+"  ) ";
					//alert("8");
				}		
				};
		
		

		// Zusammengesetzter und codierter String für die Suche
		Search ="./"+strViewName+"?SearchView&Query="+encodeURI(SearchString);
		//alert (Search);

		//$("#Datacontainer").hide("fast");	
		//Laden der fertigen Suche		
		$("#Datacontainer").load(Search + " #TableContainer" , LoadSuccess);

}
//#######################################################################################  
