var su_erw=0;
var cont='';
var autocompleter;
document.addEvent('domready', function() {
	var inputOrt  = $('sp-wo');
	// Our instance for the element with id "demo-word2"
	autocompleter = new Autocompleter.Request.HTML(inputOrt, '/module_wg3/box_suche/ort_vorschlag_nc.php', {
	'indicatorClass': 'autocompleter-loading',
	'minLength': 2,
	'selectMode': 'selected',
	//'postData': {
	//'extended': '0' // send additional POST data, check the PHP code
	//},
	'injectChoice': function(choice) {
		// choice is one <li> element
		var text = choice.getFirst();
		// the first element in this <li> is the <span> with the text
		var val_arr = text.innerHTML.split("___");
		var value = val_arr[0];
		// inputValue saves value of the element for later selection
		choice.inputValue = value;
		choice.inputValue1 = val_arr[1];
		choice.inputValue2 = val_arr[2];
		choice.inputValue3 = val_arr[3];
		choice.inputValue4 = val_arr[4];
		choice.inputValue5 = val_arr[5];
		// overrides the html with the marked query value (wrapped in a <span>)
		text.set('html', this.markQueryValue(value));
		// add the mouse events to the <li> element
		this.addChoiceEvents(choice);
		

	}
	});

});



function switchToErwSuche(){
	var href;
	switch($('sp_was').value){
		case 'W':
		href='/baugebiete/baugebiet-suchen.html?sp_was=W';
		break;
		case 'G':
		href='/baugebiete/baugebiet-suchen.html?sp_was=G';
		break;
		case 'M':
		href='/baugebiete/baugebiet-suchen.html?sp_was=M';
		break;
		case 'I':
		href='/baugebiete/baugebiet-suchen.html?sp_was=I';
		break;
		case 'grundstuecke':
		href='/grundstuecke/grundstueck-suchen.html?sp_was=grundstuecke';
		break;
		case 'haeuser_k':
		href='/immobilien/haus-suchen.html?sp_was=haeuser&kauf=on&miete=';
		break;
		case 'haeuser_m':
		href='/immobilien/haus-suchen.html?sp_was=haeuser&kauf=&miete=on';
		break;
		case 'wohnungen_m':
		href='/immobilien/wohnung-suchen.html?sp_was=wohnungen&kauf=&miete=on';
		break;
		case 'wohnungen_k':
		href='/immobilien/wohnung-suchen.html?sp_was=wohnungen&kauf=on&miete=';
		break;
		case 'gewerbe':
		href='/immobilien/gewerbeimmobilie-suchen.html?sp_was=gewerbe';
		break;
		case '0':
		href='/suchen.html?';
		break;
		default:
		href='/anbieter/anbieter-suchen.html?anb_kat='+$('sp_was').value;
		break;
	}
	href=href+'&sp_wo='+$('sp-wo').value+'&id_land='+$('id_land').value+'&id_bundesland='+$('id_bundesland').value+'&id_landkreis='+$('id_landkreis').value+'&id_gemeinde='+$('id_gemeinde').value;
	document.location.href=href;
}

function setLocation(land, bula, lakr, geme, ortsteil, str, force){
	$('sp-wo').value = str;

	$('id_land').value=land;
	$('id_bundesland').value=bula;
	$('id_landkreis').value=lakr;
	$('id_gemeinde').value=geme;
	$('id_ortsteil').value=ortsteil;

	clearOrt();

	forms = $$('form.suche');
	if(forms != null && forms[0] != null){
		if(force || forms[0].onsubmit())
		//alert(forms[0].submit.value);    
		forms[0].submit();
	}
}

function setSpWas(was){
	$('sp_was').value = was;

	clearOrt();

	forms = $$('form.suche');
	if(forms != null && forms[0] != null){
		if(forms[0].onsubmit())
		forms[0].submit();
	}
}

function checkOrtSelection(){

	if($('sp_was').value == '' || $('sp_was').value == 0){

		showSelection('selectionPopup', '/module_wg3/box_suche/kategorie_fehlt_popup.php');
		pos = $('sp_was').getCoordinates('main');
		$('selectionPopup').setPosition({x: pos.right, y: pos.top-6});
		return false;
	}

	if(
	//($('id_land').value == '' || $('id_land').value == 'DEU')
	
	($('id_land').value == '' || $('id_land').value == 'DEU')&&
	
	$('id_bundesland').value == 0
	&& $('id_landkreis').value == 0
	&& $('id_gemeinde').value == 0
	&& $('sp-wo').value != ''
	){//noch keinen Ort gesetzt, versuchen ersten Vorschlag zu setzen

		elements = $$('.autocompleter-choices');//document.getElementsByClassName("autocompleter-choices");//$('.autocompleter-choices li');
		if(elements != null && elements[0] != null){
			suggestions = elements[0].getElementsByTagName("li");
			if(suggestions != null && suggestions[0] != null && suggestions.length == 1){
				firstEl = suggestions[0];

				autocompleter.choiceSelect(firstEl);
				return true;
			}


		}
		showSelection('selectionPopup', '/module_wg3/box_suche/ort_Ergebnisse_popup.php?value=' + $('sp-wo').value + '&was='  + $('sp_was').value);
		pos = $('sp-wo').getCoordinates('main');
		$('selectionPopup').setPosition({x: pos.right, y: pos.top-6});
		return false;
	}
	return true;
}

function hideSelection(){
	if($('selectionPopup') != null){
		$('selectionPopup').style.display = 'none';
		$('sp-wo').select();
		//hideSelection();
		//autocompleter.hideChoices();
	}
}
function showSelection(divEl, url){

	if($(divEl) == null){
		var popup  = new Element('div',
		{   id: divEl,
		'styles': {
		'zIndex': 20,
		'position' : 'absolute',
		'width' : '590px',
		'min-height' : '285px',
		'top' : '66px',
		'left': '221px'
		}
		});

		popup.inject($('main'));
	}
	else{
		$(divEl).innerHTML = '';
		$(divEl).style.display = 'block';
	}

	var inhalt = new Element('div',{id : 'auswahlContent'});
	inhalt.inject(divEl);
	reloadElement('auswahlContent', url);


}

var anzInput = 0;

function clearOrt(){

	//elements = $$('.autocompleter-choices');
	//if(elements != null && elements[0] != null){
	//	elements[0].innerHTML = "";
	//}

	if($('sp-wo') != null && $('sp-wo').value=='' && anzInput > 0){
		$('id_land').value='DEU';
		$('id_bundesland').value=0;
		$('id_landkreis').value=0;
		$('id_gemeinde').value=0;
		$('id_ortsteil').value=0;
		setKarte();
		hideSelection();
		autocompleter.hideChoices();
	}if($('sp-wo') != null && $('selectionPopup') != null && $('selectionPopup').style.display != "none" && $('sp_was') != null && $('sp_was').value != 0){
		//selection popup gešffnet -> orte nachladen
		showSelection('selectionPopup', '/module_wg3/box_suche/ort_Ergebnisse_popup.php?value=' + $('sp-wo').value + '&was='  + $('sp_was').value);

	}

	anzInput = $('sp-wo').value;

}

function setToLand(name,iso,flagge){

	if(cont!='Europa'&&cont!=''){
		$('karte_ebene2').style.display='none';
	}else{
		$('karte_ebene2').style.display='';
	}

	$('sp-wo').value=name;
	$('id_land').value=iso;
	$('id_bundesland').value=0;
	$('id_landkreis').value=0;
	$('id_gemeinde').value=0;
	$('id_ortsteil').value=0;
	$('karte_main').innerHTML='';
	$('img_ebene3').alt='';
	$('img_ebene3').href='#';
	$('link_ebene3').onclick='';
	$('link_ebene3').title=name;
	$('img_ebene3').title=name;
	$('karte_ebene4').style.display='none';
	$('karte_ebene5').style.display='none';
	$('karte_ebene6').style.display='none';
	if(flagge==''){
		$('img_ebene3').src='/img/icon/bg_transparent.gif';

	}else{
		$('img_ebene3').src='/img/land/'+flagge;
	}
}

function asksonderkat(){
	if($('sp_was').value=='ferien'){
		document.location.href='/immobilien/ferienimmobilie-suchen.html';
	}else if($('sp_was').value=='fertighaus'){
		document.location.href='/immobilien/fertighaus-suchen.html';
	}else if($('sp_was').value=='Makler'){
		document.location.href='/anbieter.html';
	}else if($('sp_was').value=='orte'){
		document.location.href='/ortsdatenbank.html';
	}else if(cont!=''){
		reloadElement('karte_main380','/module_wg3/box_suche/liste_laender.php?ajax=1&c='+cont+'&kat='+$('sp_was').value);
	}

}

function asksonderkat_2(){
	var zielseite;
	switch($('sp_was').value){
		case 'W':
		zielseite='/baugebiete/baugebiet-suchen.html';
		break;
		case 'M':
		zielseite='/baugebiete/baugebiet-suchen.html';
		break;
		case 'G':
		zielseite='/baugebiete/baugebiet-suchen.html';
		break;
		case 'I':
		zielseite='/baugebiete/baugebiet-suchen.html';
		break;
		case 'grundstuecke':
		zielseite='/grundstuecke/grundstueck-suchen.html';
		break;
		case 'haeuser_k':
		zielseite='/immobilien/haus-suchen.html';
		break;
		case 'haeuser_m':
		zielseite='/immobilien/haus-suchen.html';
		break;
		case 'wohnungen_k':
		zielseite='/immobilien/wohnung-suchen.html';
		break;
		case 'wohnungen_m':
		zielseite='/immobilien/wohnung-suchen.html';
		break;
		case 'gewerbe':
		zielseite='/immobilien/gewerbeimmobilien-suchen.html';
		break;
		case 'ferien':
		zielseite='/immobilien/ferienimmobilie-suchen.html';
		break;
		case 'fertighaus':
		zielseite='/immobilien/fertighaus-suchen.html';
		break;
		case 'Makler':
		zielseite='/anbieter.html';
		break;
		default:
		zielseite="/suchen.html"; // DEBUG-CODE
		break;
	}
	document.location.href=zielseite;
}

var http_karte = createRequestObject();
var http_karte380 = createRequestObject();

function setKarte(){
	$('id_land').value='DEU';
	http_karte.open('get', '/module_wg3/navigation_karte/karte_ajax_rpc.php?id_land='+$('id_land').value+'&id_bundesland='+$('id_bundesland').value+'&id_landkreis='+$('id_landkreis').value+'&id_gemeinde='+$('id_gemeinde').value);
	http_karte.onreadystatechange = handleResponseKarte;
	http_karte.send(null);


}

function handleResponseKarte() {
	if(http_karte.readyState == 4){
		var response_karte = http_karte.responseText;
		var update = new Array();
		if(response_karte.indexOf('|' != -1)) {
			update = response_karte.split('|');

			if($('img_ebene3').src!='/img/karten/flaggen/deutschland.jpg'){
				$('img_ebene3').src='/img/karten/flaggen/deutschland.jpg';
				$('img_ebene3').alt='Deutschland';
				$('img_ebene3').title='Deutschland';
				$('link_ebene3').title='Deutschland';
			}
			if($('karte_ebene2').style.display=='none'){
				$('karte_ebene2').style.display='';
			}
			$('karte_main').innerHTML = update[0];


			if($('id_land').value=='DEU'&&$('id_bundesland').value!=0){
				if(update[1]=='bundesland'){
					$('karte_ebene4').style.display='block';
					$('img_ebene4').src='/img/karten/flaggen/bula'+$('id_bundesland').value+'.png';
					$('img_ebene4').title=update[2];
					$('link_ebene4').href="javascript:setLinkWappen('"+update[2]+"','bundesland')";
					$('karte_ebene5').style.display='none';
					$('karte_ebene6').style.display='none';
				}
				if(update[3]=='landkreis'){
					$('karte_ebene5').style.display='block';
					$('img_ebene5').src='/module_wg3/navigation_karte/wappen.php?ebene=landkreis&id='+$('id_landkreis').value;
					$('img_ebene5').title=update[4];
					$('link_ebene5').href="javascript:setLinkWappen('"+update[4]+"','landkreis')";
					$('karte_ebene6').style.display='none';
				}if(update[5]=='gemeinde'){
					$('karte_ebene6').style.display='block';
					$('img_ebene6').src='/module_wg3/navigation_karte/wappen.php?ebene=gemeinde&id='+$('id_gemeinde').value;
				}
			}else{
				$('karte_ebene4').style.display='none';
				$('karte_ebene5').style.display='none';
				$('karte_ebene6').style.display='none';

			}

		}


	}
}

function setLinkWappen(text,ebene){
	$('sp-wo').value=text;
	switch(ebene){
		case 'bundesland':
		$('id_landkreis').value=0;$('id_gemeinde').value=0;
		break;
		case 'landkreis':
		$('id_gemeinde').value=0;
		break;
	}
	setKarte();
}


function setKarte380(){
	cont='';
	

	http_karte380.open('get', '/module_wg3/navigation_karte/karte_ajax_rpc.php?size=380&id_land='+$('id_land').value+'&id_bundesland='+$('id_bundesland').value+'&id_landkreis='+$('id_landkreis').value+'&id_gemeinde='+$('id_gemeinde').value);
	http_karte380.onreadystatechange = handleResponseKarte380;
	http_karte380.send(null);

}

function handleResponseKarte380() {
	if(http_karte380.readyState == 4){
		var response_karte = http_karte380.responseText;
		var update = new Array();
		if(response_karte.indexOf('|' != -1)) {
			update = response_karte.split('|');


			$('karte_main380').innerHTML = update[0];


			if($('id_land').value=='DEU'&&$('id_bundesland').value!=0){

				if(update[1]=='bundesland'){
					$('kb_bula').innerHTML="&raquo; <a href='#' onclick='setDirect(\"bundesland\",\""+update[2]+"\");return(false);'>"+update[2]+"</a>";

				}
				if(update[3]=='landkreis'){
					$('kb_lakr').innerHTML="&raquo; <a href='#' onclick='setDirect(\"landkreis\",\""+update[4]+"\");return(false);'>"+update[4]+"</a>";
				}if(update[5]=='gemeinde'){
					$('kb_geme').innerHTML="&raquo; <a href='#' onclick='return(false);'>"+update[6]+"</a>";
				}
			}else{

			}

		}


	}
}

function setDirect(ebene,text){
	$('sp-wo').value=text;
	switch(ebene){
		case 'deutschland':
		$('id_bundesland').value=0;$('id_landkreis').value=0;$('id_gemeinde').value=0;
		$('kb_bula').innerHTML="";
		$('kb_lakr').innerHTML="";
		$('kb_geme').innerHTML="";
		break;

		case 'bundesland':
		$('id_landkreis').value=0;$('id_gemeinde').value=0;
		$('kb_lakr').innerHTML="";
		$('kb_geme').innerHTML="";
		break;
		case 'landkreis':
		$('id_gemeinde').value=0;
		$('kb_geme').innerHTML="";
		break;
	}
	setKarte380();
	setKarte();
}


var http_karte380ajax = createRequestObject();

function showKarteBig() {
	$('karte_big').style.display='block';
	http_karte380ajax.open('get', '/module_wg3/box_suche/karte_380.php');
	http_karte380ajax.onreadystatechange = handleResponseKarteBig;
	http_karte380ajax.send(null);

}

function hideKarteBig() {
	$('karte_big').style.display='none';
	$('karte_big_inhalt').innerHTML='';

}

function handleResponseKarteBig() {
	if(http_karte380ajax.readyState == 4){
		var response_karte380 = http_karte380ajax.responseText;
		$('karte_big_inhalt').innerHTML = response_karte380;
		if(cont==''){
			setKarte380();
		}else{
			if(cont=='Welt'){
				$('kb_europa').style.display='none';
			}

			$('kb_dtl').style.display='none';
			$('kb_bula').style.display='none';
			$('kb_lakr').style.display='none';
			$('kb_geme').style.display='none';
			reloadElement('karte_main380','/module_wg3/box_suche/liste_laender.php?ajax=1&c='+cont+'&kat='+$('sp_was').value);
		}
	}
}

