var widgetDir = 'partnersuche/';

var dsCities = new Spry.Data.XMLDataSet(widgetDir+"spryDatasets/getCities.php", "container/element", {useCache: false, sortOnLoad: "plz", sortOrderOnLoad: "ascending"});
dsCities.setColumnType("plz", "number");

var dsPartners = new Spry.Data.XMLDataSet(widgetDir+"spryDatasets/getPartners.php", "container/element", {useCache: false, sortOnLoad: "distance", sortOrderOnLoad: "ascending"});
dsPartners.setColumnType("distance", "number");



function readyStr(s) {
	// Die Städtenamen sind in der Datenbank
	// ohne Umlaute gespeichert - deswegen ersetzen!
	
	s = s.toLowerCase();
	s = s.replace(/ä/g,"ae");
	s = s.replace(/ö/g,"oe");
	s = s.replace(/ü/g,"ue");
	s = s.replace(/ß/g,"ss");
	
	return s;
}



function changeIam(e) {
	// Standard Optionen 
	var sOpt1 = $(document.createElement('option')).attr('value', '-1').text('Ich suche nach ...');
	var sOpt2 = $(document.createElement('option')).attr('value', '0').text(' --- ');
	
	// Weitere Optionsschaltflächen
	var optFachbetriebKK = $(document.createElement('option')).attr('value', '11').text('Fachbetrieb in meiner Nähe (Kälte-Klima)');
	var optFachbetriebWP = $(document.createElement('option')).attr('value', '11a').text('Fachbetrieb in meiner Nähe (Wärmepumpen)');
	var optRegionalbuero = $(document.createElement('option')).attr('value', '12').text('Regionalbüro in meiner Nähe');
	var optGrosshandel = $(document.createElement('option')).attr('value', '31').text('Großhandel in meiner Nähe'); 
	var optPlanerberater = $(document.createElement('option')).attr('value', '42').text('Mitsubishi Electric Planerberater');
	

	// Bei jedem Ändern die zweite Auswahlbox leeren 
	// und die beiden Standardoptionen eintragen
	$('#searchfor').empty();
	$('#searchfor').append(sOpt1);
	$('#searchfor').append(sOpt2);


	// Wenn eine gültige Auswahl getroffen wurde,
	// dann die zweite Auswahlbox aktivieren und
	// Werte je nach Auswahl in Auswahlbox 1 eintragen
	var v = $(e).val();

	if (v != -1 && v != 0) {
		$('#searchfor').removeAttr('disabled');
		
		switch(v) {
			case '1': 	$('#searchfor').append(optFachbetriebKK);
						$('#searchfor').append(optFachbetriebWP);
						$('#searchfor').append(optRegionalbuero);
						break;
			
			case '2': 	$('#searchfor').append(optFachbetriebKK);
						$('#searchfor').append(optFachbetriebWP);
						$('#searchfor').append(optRegionalbuero);
						break;
						
			case '3': 	$('#searchfor').append(optGrosshandel);
						$('#searchfor').append(optRegionalbuero);
						break;
						
			case '4': 	$('#searchfor').append(optFachbetriebKK);
						$('#searchfor').append(optFachbetriebWP);
						$('#searchfor').append(optPlanerberater);
						break;
			
			default: 	break;
		}
	} else {	
		$('#searchfor').attr('disabled', 'disabled');
		$('#searchfor').val('-1');
		$('#searchText').attr('disabled', 'disabled');
		$('#searchText').attr('value', 'Suche nach Plz oder Ort');
		$('#btnSearch').attr('disabled', 'disabled');
		
		$('#partnerSearch').fadeOut('slow', function() { Spry.Data.getRegion('dsPartners').clearContent(); });
		$('#zipSearch .MasterContainer').fadeOut('slow', function() { Spry.Data.getRegion('dsCities').clearContent(); });
	}
}

function changeSearchfor(e) {
	var v = $(e).val();
	
	if (v != -1 && v != 0) {
		$('#searchText').removeAttr('disabled');
	} else {
		$('#searchText').attr('disabled', 'disabled');
		$('#searchText').attr('value', 'Suche nach Plz oder Ort');
		$('#btnSearch').attr('disabled', 'disabled');
		
		$('#partnerSearch').fadeOut('slow', function() { Spry.Data.getRegion('dsPartners').clearContent(); });
		$('#zipSearch .MasterContainer').fadeOut('slow', function() { Spry.Data.getRegion('dsCities').clearContent(); });
	}
}



function getCityList(element) {
	var userinput = $(element).val();
	
	if ( userinput.length > 2 ) {
		userinput = readyStr(userinput);
		$('#zipSearch .MasterContainer').fadeIn('slow');
		dsCities.setURL(widgetDir+'spryDatasets/getCities.php?ui='+userinput);
		dsCities.loadData();
	} else {
		$('#zipSearch .MasterContainer').fadeOut('slow', function() { Spry.Data.getRegion('dsCities').clearContent(); });
	}
}

function getPartnerList() {
	var lon = $('#searchLon').val();
	var lat = $('#searchLat').val();
	var type = $('#searchfor').val();
	var zip = $('#searchZip').val();
	
	dsPartners.setURL(widgetDir+'spryDatasets/getPartners.php?zip='+zip+'&type='+type+'&lon='+lon+'&lat='+lat);	
	dsPartners.loadData();
	
	$('#partnerSearch').fadeIn('slow');
}

function selectEntry() {
	setTimeout(	function() { 
					$('#searchText').val($('#searchZip').val() + ' ' + $('#searchName').val());
					$('#btnSearch').removeAttr('disabled');
					getPartnerList();
				}, 100);
	
	$('#zipSearch .MasterContainer').fadeOut('slow', function() { Spry.Data.getRegion('dsCities').clearContent(); });
}

function clearEntry() {
	$('#searchText').val('');
	$('#btnSearch').attr('disabled', 'disabled');
	$('#searchZip').val('');
	$('#searchName').val('');
	$('#partnerSearch').fadeOut('slow', function() { Spry.Data.getRegion('dsPartners').clearContent(); });
	$('#zipSearch .MasterContainer').fadeOut('slow', function() { Spry.Data.getRegion('dsCities').clearContent(); });
}






