
	
	var pagedata = new Object();
	pagedata.suche = new Object();
	pagedata.filter = new Object();
	pagedata.show_results = 10;
	pagedata.order_by = new Object;
	
	pagedata.action = new Object;
	pagedata.result_obj = new Object;
	pagedata.showMap = 0;
	
	pagedata.eingabe = new Object;
	
	pagedata.results = false;

	
window.addEvent('domready', function() {
		var status = {
			'true': 'open',
			'false': 'close'};
		
		if($chk($('wer'))){
			new Autocompleter.Request.JSON('wer', '/includes/php/ajax/autocompleter.php?type=wer', {
				'postVar': 'search'
			});
		}
		
		if($chk($('wo'))){
			new Autocompleter.Request.JSON('wo', '/includes/php/ajax/autocompleter.php?type=wo', {
				'postVar': 'search'
			});
		}

		
		

		if($chk($('was'))){
			new Autocompleter.Request.JSON('was', '/includes/php/ajax/autocompleter.php?type=was', {
				'postVar': 'search'
			});
		}
});


function setEingabeValues(){
	switch(pagedata.suchmodus){
	case "schnell":
		$('wer').value = pagedata.eingabe.wer;
		$('wo').value = pagedata.eingabe.wo;
		$('was').value = pagedata.eingabe.was;
		$('entfernung').selectedIndex = pagedata.eingabe.entfernung;
		break;
		
	case "rubriken":
		if(pagedata.eingabe.rubrik){
			pagedata.eingabe.rubrik.each(function(obj, key){
				$('branche').options[obj].selected = 'selected';
			});
		
			genSelect($('branche'),'ort');
			
			if(pagedata.eingabe.ort){
				pagedata.eingabe.ort.each(function(obj, key){
					$('ort').options[obj].selected = 'selected';
				});
				genSelect($('ort'),'firma');
				
				if(pagedata.eingabe.firmenname){
					pagedata.eingabe.firmenname.each(function(obj, key){
						$('firma').options[obj].selected = 'selected';
						
					});
					
				}
			}
		}
		break;
		
	case "detail":
		$('firmenname').value = pagedata.eingabe.firmenname;
		$('plz').value = pagedata.eingabe.plz;
		$('ort').value = pagedata.eingabe.ort;
		$('land').selectedIndex = pagedata.eingabe.land;
		$('rubrik').selectedIndex = pagedata.eingabe.rubrik;
		$('spezialisierung').selectedIndex = pagedata.eingabe.spezialisierung;
		$('mitarbeiter').selectedIndex = pagedata.eingabe.mitarbeiter;
		$('ansprechpartner_vorname').value = pagedata.eingabe.ansprechpartner_vorname;
		$('ansprechpartner_name').value = pagedata.eingabe.ansprechpartner_name;
		break;
	}
}

function saveSuche(){
	switch(pagedata.suchmodus){
	case "schnell":
		pagedata.eingabe.wer = $('wer').value;
		pagedata.eingabe.wo = $('wo').value;
		pagedata.eingabe.was = $('was').value;
		pagedata.eingabe.entfernung = $('entfernung').selectedIndex;
		break;
		
	case "rubriken":
		pagedata.eingabe.rubrik = false;
		pagedata.eingabe.ort = false;
		pagedata.eingabe.firmenname = false;
		
		
		if($('branche').selectedIndex != -1){
			pagedata.eingabe.rubrik = getSelectedIndizes($('branche'));
						
			if($('ort').selectedIndex != -1){
				pagedata.eingabe.ort = getSelectedIndizes($('ort'));
								
				if($('firma').selectedIndex != -1){
					pagedata.eingabe.firmenname = getSelectedIndizes($('firma'));
					
				}
			}
		}
		break;
		
	case "detail":
		pagedata.eingabe.firmenname = $('firmenname').value;
		pagedata.eingabe.plz = $('plz').value;
		pagedata.eingabe.ort = $('ort').value;
		pagedata.eingabe.land = $('land').selectedIndex;
		pagedata.eingabe.rubrik = $('rubrik').selectedIndex;
		pagedata.eingabe.spezialisierung = $('spezialisierung').selectedIndex;
		pagedata.eingabe.mitarbeiter = $('mitarbeiter').selectedIndex;
		pagedata.eingabe.ansprechpartner_vorname = $('ansprechpartner_vorname').value;
		pagedata.eingabe.ansprechpartner_name = $('ansprechpartner_name').value;
		break;
	}
	
	postvars_string = "searchDataObj="+Base64.encode(JSON.encode(pagedata));
	
	//AJAX REQUEST
	var myAjax = new Request.JSON(
            {
               url: '/includes/php/ajax/saveSuche.php',
               method: 'post',
               encoding: 'utf-8',
               async: false,
               data: postvars_string,
               onComplete : function(responseText)
               {
            		daten = responseText;
            	
            		
            		
            		setLoading('stop',$('main'));
            		return true;
            		
            		
            		
            		
            	},
               onRequest: function()
               {
            		
            		setLoading('start',$('main'));
            }

           }
     ).post();
}


function setShowMap(mode){
	$('showMap').value = 1;
	switch(mode){
		case "schnell":
			submitSchnellSuche();
			break;
		case "rubriken":
			submitRubrikenSuche();
			break;
		case "detail":
			submitDetailSuche();
			break;
	}
}

function addToMerkzettel(tab){
	var DataObj = new Object;
	if(tab && tab != ""){
		var container = 'cont_'+tab;
	} else {
		var container = 'cont_output_ergebnisse';
	}
	
	//var checkboxes = $('cont_output_ergebnisse').getElements('input:checked');
	var checkboxes =  $(container).getElements('input');
	
	var i = 0;
	checkboxes.each(function(obj, key){
		if(obj.type == "checkbox" && obj.checked && obj.value != ""){
			
	    	DataObj[key] = obj.value;
	    	i++;
		}
	});
	
	
	if(i == 0){
		alert('Sie müssen mindestens ein Unternehmen auswählen.');
		return ;
	}
	
	postvars_string = "DataObj="+Base64.encode(JSON.encode(DataObj));
	
	//AJAX REQUEST
	var myAjax = new Request.JSON(
            {
               url: '/includes/php/ajax/merkzettel.php?action=add',
               method: 'post',
               encoding: 'utf-8',
               async: false,
               data: postvars_string,
               onComplete : function(responseText)
               {
            		daten = responseText;
            		//$('debug').innerHTML = daten;
            		
            		if(daten){
            			setLoading('stop',$('cont_ergebnisse'));
            			window.location.href = '/merkzettel';
            		} else
            			setLoading('stop',$('cont_ergebnisse'));
            		
            		
            		
            	},
               onRequest: function()
               {
            		
            		setLoading('start',$('cont_ergebnisse'));
            }

           }
     ).post();
	
	
}


function resetRubrikenSuche(){
	$('branche').selectedIndex = -1;
	$('ort').selectedIndex = -1;
	$('firma').selectedIndex = -1;
	
	genSelect($('branche'),'reset');
	
	$('cont_output_ergebnisse').innerHTML = "&nbsp;";
	pagedata.results = false;
	
	$('cont_ergebnisse').setStyles({
			display: 'none',
			height:'200px'});
	
	
	
	
}



function genSelect(el,type){
	searchdata = new Object;
	searchdata.suche = new Object;
	searchdata.type = type;
	
	var tmp_value = multipleWert($('branche'));
	if(tmp_value){
		searchdata.suche.rubrik = tmp_value;
	} else {
		searchdata.suche.rubrik = "";
	}
	
	
	if(type == "firma"){
			var tmp_value = multipleWert(el);
			if(tmp_value){
				searchdata.suche.ort = tmp_value;
			} else {
				searchdata.suche.ort = "";
			}
		
	}
	
	
	
	postvars_string = "searchDataObj="+Base64.encode(JSON.encode(searchdata));
	
	//AJAX REQUEST
	var myAjax = new Request.JSON(
            {
               url: '/includes/php/ajax/suche_genSelectValues.php',
               method: 'post',
               encoding: 'utf-8',
               async: false,
               data: postvars_string,
               onComplete : function(responseText)
               {
            		daten = responseText;
            		//$('debug').innerHTML = daten;
            		
            		if(type == "ort" || type == "reset")
            			$('cont_ort').innerHTML = daten.html.ort;
            		
            			
            		$('cont_firma').innerHTML = daten.html.firma;
            		
            		if(type == "ort"  || type == "reset")
            			setLoading('stop',$('cont_ort')); 
            		
            		if(type == "firma"  || type == "reset")
            			setLoading('stop',$('cont_firma'));
            		
            		if(type == "reset" && pagedata.results)
            			setLoading('stop',$('cont_ergebnisse'));
            		
            	},
               onRequest: function()
               {
            		if(type == "ort" || type == "reset")
            			setLoading('start',$('cont_ort')); 
            		
            		if(type == "firma"  || type == "reset")
            			setLoading('start',$('cont_firma'));
            		
            		if(type == "reset"  && pagedata.results)
            			setLoading('start',$('cont_ergebnisse'));
            }

           }
     ).post();
}

function changeTab(key){
	var container = $('cont_results');
	var new_tab = $('tab_'+key);
	var new_result = $('cont_'+key);
	var all_tabs = $('tabs_ergenisse').getElements('a');
	var all_results = container.getChildren();
	
	all_tabs.each(function(item){
		item.set('class', '');
	});
	
	new_tab.set('class', 'active');
	
	all_results.each(function(item){
		item.setStyle('display', 'none');
	});
	
	new_result.setStyle('display', 'block');
	
	pagedata.akttab = key;
}
	
function setShowResults(){
		pagedata.show_results = $('show_reults').value;
		submitSuche(1);
		
		
	}

function setOrderBy(page,field,direction,tab){
	
	switch(pagedata.suchmodus){
	
		case "schnell":
			pagedata.order_by[tab] = new Object();
			pagedata.order_by[tab]['field'] = field;
			pagedata.order_by[tab]['direction'] = direction;
			submitSuche(1,tab);
			break;
			
		default:
			pagedata.order_by.field = field;
			pagedata.order_by.direction = direction;
			submitSuche(1);
			break;
	}
}

function submitSuche(page,tab){
	switch(pagedata.suchmodus){
	
		case "schnell":
			pagedata['aktpage'][tab] = page;
			startSearch();
			break;
		default:
			pagedata.aktpage = page;
			startSearch();
			break;
	}
}

function submitRubrikenSuche(redirect, rubrik){
	pagedata.showMap = $('showMap').value;
	if(!redirect){
		if($('branche').selectedIndex == -1){
			alert('Sie müssen mindestens eine Rubrik auswählen!');
			return ;
		}
	} else {
		
		
		var IndexRubrik = -1;
		var text = "";
		var i = 0;
		
		var opts = $('branche').getChildren();
			
		
		opts.each(function(option, key){
			if(option && parseInt(option.value) == parseInt(rubrik))
				IndexRubrik = i;
			
			
			
			i++;
		});
		
		$('branche').selectedIndex = IndexRubrik;
		
		genSelect($('branche'),'ort');
	}
	
	
	pagedata.suchmodus = "rubriken";
	pagedata.aktpage = 1;
	pagedata.order_by.field = false;
	pagedata.order_by.direction = false;
	
	delete pagedata.suche.ort;
	delete pagedata.suche.rubrik;
	delete pagedata.suche.firmenname;
	
	
	var tmp_value1 = multipleWert($('ort'));
	if(tmp_value1){
		pagedata.suche.ort = tmp_value1;
		pagedata.eingabe.ort = getSelectedIndizes($('ort'));
	} else {
		pagedata.suche.ort = "";
		pagedata.eingabe.ort = false;
	}
		
	var tmp_value2 = multipleWert($('branche'));
	if(tmp_value2){
		pagedata.suche.rubrik = tmp_value2;
		pagedata.eingabe.rubrik = getSelectedIndizes($('branche'));
	} else {
			pagedata.suche.rubrik = "";
			pagedata.eingabe.rubrik = false;
		}
	
	var tmp_value = multipleWert($('firma'));
	
	if(tmp_value){
		pagedata.suche.firmenname = tmp_value;
		pagedata.eingabe.firmenname = getSelectedIndizes($('firma'));
	}else {
		pagedata.suche.firmenname = "";
		pagedata.eingabe.firmenname = false;
	}
	
	startSearch();
}

	
function submitDetailSuche(){
	pagedata.suchmodus = "detail";
	pagedata.showMap = $('showMap').value;
	pagedata.aktpage = 1;
	pagedata.order_by.field = false;
	pagedata.order_by.direction = false;
	
	
	
	var input_exist = 0;
	
	if($('firmenname').value != "")
		input_exist++;
	
	
	if($('plz').value != "")
		input_exist++;
	
	
	if($('ort').value != "")
		input_exist++;
	
	
	if($('rubrik').selectedIndex > 0)
		input_exist++;
	
	
	if($('spezialisierung').selectedIndex > 0)
		input_exist++;
	
	
	if($('mitarbeiter').selectedIndex > 0)
		input_exist++;
	
	
	if($('mitarbeiter').selectedIndex > 0)
		input_exist++;
	
	
	if($('land').selectedIndex > 0)
		input_exist++;
	
	
	if($('ansprechpartner_vorname').value != "")
		input_exist++;
	
	
	if($('ansprechpartner_name').value != "")
		input_exist++;
	
	
	if(input_exist == 0){
		alert('Sie müssen mindestens ein Suchkriterium angeben!');
		return ;
	}
	
	//Auslesen des Formulars
	pagedata.suche.firmenname = $('firmenname').value;
	pagedata.eingabe.firmenname = $('firmenname').value
	
	pagedata.suche.plz = $('plz').value;
	pagedata.eingabe.plz = $('plz').value;
	
	pagedata.suche.ort = $('ort').value;
	pagedata.eingabe.ort = $('ort').value;
	
	pagedata.suche.land = $('land').value;
	pagedata.eingabe.land = $('land').selectedIndex;
	
	pagedata.suche.rubrik = $('rubrik').value;
	pagedata.eingabe.rubrik = $('rubrik').selectedIndex;
	
	pagedata.suche.spezialisierung = $('spezialisierung').value;
	pagedata.eingabe.spezialisierung = $('spezialisierung').selectedIndex;
	
	pagedata.suche.mitarbeiter = $('mitarbeiter').value;
	pagedata.eingabe.mitarbeiter = $('mitarbeiter').selectedIndex;
	
	pagedata.suche.ansprechpartner_vorname = $('ansprechpartner_vorname').value;
	pagedata.eingabe.ansprechpartner_vorname = $('ansprechpartner_vorname').value;
	
	pagedata.suche.ansprechpartner_name = $('ansprechpartner_name').value;
	pagedata.eingabe.ansprechpartner_name = $('ansprechpartner_name').value;
	
	startSearch();
	
}





function submitSchnellSuche(redirect,wer,wo,was,entfernung,index_entfernung,showMap){
	pagedata.suchmodus = "schnell";
	pagedata.showMap = $('showMap').value;
	
	pagedata.aktpage = new Object();
	pagedata.akttab = false;
	pagedata['order_by'] = new Object;
	
	if(!redirect){
		//Auslesen des Formulars
		var value_wer = $('wer').value;
		pagedata.eingabe.wer = value_wer;
		
		var value_wo = $('wo').value;
		pagedata.eingabe.wo = value_wo;
		
		var value_entfernung = $('entfernung').value;
		pagedata.eingabe.entfernung = $('entfernung').selectedIndex;
		
		var value_was = $('was').value;
		pagedata.eingabe.was = value_was;
	
	
		//Überprüfen ob ein Wert eingegeben wurde
		if(value_wer.trim() == "" && value_wo.trim() == "" && value_was.trim() == ""){
			alert("Bitte geben Sie mindestens einen Suchbegriff ein!");
			return ;
		}
	} else {
		var value_wer = wer;
		var value_wo = wo;
		var value_entfernung = entfernung;
		var value_was = was;
		pagedata.showMap = showMap;
		
		$('wer').value = wer;
		
		$('wo').value = wo;
		$('was').value = was;
		$('entfernung').selectedIndex = index_entfernung;
		$('showMap').selectedIndex = showMap;
		
	}
	
	
	// Aufteilen der Felder
	
	// WER
		pagedata.suchmodus = "schnell";
	
		//Firmenname
		pagedata.suche.firmenname = value_wer;
		
		
		//Ansprechpartner
		pagedata.suche.ansprechpartner_vorname = value_wer;
		pagedata.suche.ansprechpartner_name = value_wer;
	
	
	// WO
	
		//Ort
		pagedata.suche.ort = value_wo;
		
		//Land
		pagedata.suche.land = value_wo;
		
		//PLZ
		pagedata.suche.plz = value_wo;
		
		//Strasse
		pagedata.suche.strasse = value_wo;
		
		//FILTER
		//Entfernung
		if(value_entfernung != ""){
			pagedata.filter.entfernung = value_entfernung;
		} else {
			pagedata.filter.entfernung = "";
		}
		
	
	
	// WAS
	
		//Rubrik
		pagedata.suche.rubrik = value_was;
		
		//Spezialisierung
		pagedata.suche.spezialisierung = value_was;
		
		//Kernkompetenzen
		pagedata.suche.kompetenzen = value_was;
		
	
	
	startSearch();
		
}

function startSearch(){
	
	postvars_string = "searchDataObj="+Base64.encode(JSON.encode(pagedata));
	
	
	
	//AJAX REQUEST
	var myAjax = new Request.JSON(
            {
               url: '/includes/php/ajax/suche.php',
               method: 'post',
               encoding: 'utf-8',
               async: false,
               data: postvars_string,
               onComplete : function(responseText)
               {
            		daten = responseText;
            		
            		//alert(daten);
            		
            		pagedata.result_obj = daten.results;
            		
            		if(!pagedata.results){
            			$('cont_ergebnisse').setStyle('height', 'auto');
            			pagedata.results = true;
            		} 
            		
            		$('cont_output_ergebnisse').innerHTML = daten.html;
            		
            		
            		if(pagedata.showMap == 1){
            			showKartenansicht();
            		} else {
            			//if($chk($('suche_check_all')))
                			//$('suche_check_all').focus();
            		}
            		
            		setLoading('stop',$('cont_ergebnisse'));   
            		
            		
               },
               onRequest: function()
               {
            	   if(!pagedata.results){
            		   $('cont_ergebnisse').setStyles({
            			   							display: 'block',
            			   							height:'200px'});
            	   } 
            		   
            		setLoading('start',$('cont_ergebnisse'));              		   
            }

           }
     ).post();
	
	
	
}

function showKartenansicht(){
if($chk(pagedata.result_obj[0])){
	postvars_string = "DataObj="+Base64.encode(JSON.encode(pagedata.result_obj));
	
	
	
	//AJAX REQUEST
	var myAjax = new Request.JSON(
            {
               url: '/includes/php/ajax/map.php?action=showResults',
               method: 'post',
               encoding: 'utf-8',
               async: false,
               data: postvars_string,
               onComplete : function(responseText)
               {
            		daten = responseText;
            		
            		            		
            		
            		$('kartenansicht').setStyle('display', 'block');
            		
            		$('cont_kartenansicht').innerHTML = daten;
            		
            		
            		            		
            		setLoading('stop',$('cont_kartenansicht'));   
            		
            		
               },
               onRequest: function()
               {
            	              		   
            	   $('kartenansicht').setStyle('display', 'block');
            	   setLoading('start',$('cont_kartenansicht'));              		   
            }

           }
     ).post();
}
}



















