/**
* Skripte die beim Laden der Seite initialisiert werden sollen
*/
window.onload = function() {

	// JS - Suche der Kontakte
	if(document.getElementById("searchresult")) {
		var live = new LiveSearch();
	}    
			 
	// Funktionen die die Suche nach Immobilien erleichtern sollen
	if(document.getElementById("frm_filter")) {
		var re = new RealEstate();
		
		if(document.getElementById("cb_state")) { // Wenn es Bundeslaender zur Auswahl gibt (Vermietung)
			$("cb_state").onchange = function() {
				
				// dieses Feld wird in der PHP Programmierung benoetigt um bei abgeschalteten JavaScript die Orte, Ortsteile, ...
				// zurueckzusetzen; wenn ja JavaScript aktiviert ist, wird hierdurch diese Sicherung umgangen
				document.getElementsByName("_bundesland")[0].value = $("cb_state").value;
			
				// erstmal alle Felder wieder auf default umstellen
				re.resetForm();
				re.reloadCity();

				if(document.getElementById("cb_roomMin") && document.getElementById("cb_roomMax")) { // wenn Raumauswahl vorhanden ist
					re.reloadRoomMin();
					re.reloadRoomMax();    
				}                
			}        
		}
		
		$("cb_city").onchange = function() {
			if(document.getElementById("cb_district")) { // wenn Ortsteil vorhanden
				re.reloadArea();
				re.reloadDistrict();
				
				if($("cb_city").value == "Berlin") {
					$("pnl_area").setStyle("display", "block");
				} else {
					$("pnl_area").setStyle("display", "none");
				}
			}
			
			if(document.getElementById("cb_roomMin") && document.getElementById("cb_roomMax")) { // wenn Raumauswahl vorhanden ist
				re.reloadRoomMin();
				re.reloadRoomMax();    
			}
		}
		
		$("cb_area").onchange = function() {
			re.reloadDistrict();
			
			if(document.getElementById("cb_roomMin") && document.getElementById("cb_roomMax")) { // wenn Raumauswahl vorhanden ist
				re.reloadRoomMin();
				re.reloadRoomMax();    
			}
		}		
	}
	
	
	
	// Falls es die Startseite ist und ein Bundesland ausgewaehlt wurde
	if(document.getElementById("frm_leasing")) {
		var re = new RealEstate();
		
		$("cb_state").onchange = function() {
			if(document.getElementById("cb_city")) { // wenn die Auswahlbox der Staedte vorhanden ist
				re.reloadCity();
			}
		}
	}
	
	if(document.getElementById("cb-contact")) {
		$("cb-contact").onchange = function() {
			switch(this.value) {
				case "mietinteressenten":
					window.location.href = "/de/kontakt/mietinteressenten.html";
					break;
				
				case "prospective-tenant":
					window.location.href = "/en/contact/prospective_tenant.html";
					break;
				
				case "weg-verwaltung":
					window.location.href = "/de/kontakt/wohnungseigentuemer.html";
					break;
				
				case "real-estate-owner":
					window.location.href = "/en/contact/real_estate_owner.html";
					break;									
				
				default:
					this.form.submit();
					break;
			}
		}        
	}
}
function popup(mylink, windowname, hoehe, breite) {
    if(!window.focus) {
        return true;
    }
    var href;
    if(typeof(mylink)=='string') {
         href=mylink;
    } else {
         href=mylink.href;
    }
    window.open(href, windowname,'width=850, height=600, scrollbars=yes');
    window[windowname].focus();
    return false;
}

function appendOption(selectObject, selectOptions) {
	selectObject.innerHTML = "";
	
	// Pseudoobjekt erzeugen
	var selectTempObject = document.createElement("tmpselect");
	var selectSelectedIndex = 0;
	var optionElement;
	
	// Pseudoobjekt bearbeiten
	selectTempObject.id = "tmpselect";
	document.body.appendChild(selectTempObject);
	selectTempObject = document.getElementById("tmpselect");
	selectTempObject.style.display = "none";
		
	// einzufuegenden Code ueberarbeiten und an Pseudoobjekt uebergeben
	selectOptions = selectOptions.replace(/<option/g, "<span").replace(/<\/option/g, "</span");
	selectTempObject.innerHTML = selectOptions;
	
	// Kinderknoten des Pseudoobjekts durchlaufen und Optionknoten neu erzeugen
	var j = 0;
	for(var i=0;i<selectTempObject.childNodes.length;i++) {
		if(selectTempObject.childNodes[i].tagName) {
			optionElement = document.createElement("OPTION"); // neues Element erzeugen
			
			if(selectTempObject.childNodes[i].getAttribute("selected", 0) != null) { // selektierten Index merken
				selectSelectedIndex = j;
			}

			// Value und Inhalt uebernehmen
			optionElement.value = selectTempObject.childNodes[i].getAttribute("value");
			optionElement.text = selectTempObject.childNodes[i].innerHTML;
			
			// neuen Optionknoten der Selectbox hinzufuegen
			if(document.all) { // IE
				selectObject.add(optionElement);
			
			} else { // alle guten Browser
				selectObject.appendChild(optionElement);
			}
			j++;
		}    
	}
	
	// vorselktierten Wert setzen und Pseudoobjekt zerstoeren
	try {
		selectObject.options[selectSelectedIndex].selected = true;
	} catch(e) {}
	document.body.removeChild(selectTempObject);
	selectTempObject = null;	
}