/*
##########################################################
# ------------------------------------------------------ #
# Copyright ©2008 Berlin-Webdesign-Team                  #
# Alle Rechte Vorbehalten!                               #
# url: http://www.berlin-webdesign-team.de               #
# ------------------------------------------------------ #
##########################################################
*/

// JavaScript Document
var http_request 	= false;
var postParameters	= null;
var LoaderIMG 		= '<img src="'+BASE_URI+'/img/ajax-loader.gif" alt="Loading ..." />';
var LoaderFrmIMG 	= '<img src="'+BASE_URI+'/img/ajax-loader-form.gif" alt="Loading ..." />';
//var reqtest_method	= 'POST';
var BASE_DIR		= BASE_URI + "?do=ax";
var PlaceHolder		= "";
var counter = 0;
var jsc;

function sendRequest(url,functionsname,reqtest_method) {
	//if(http_request==undefined){
		//http_request = false;
	//}
	//if(http_request==false){

		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
		}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		
		if (!http_request) {
			alert('Fehler: Es kann keine XMLHTTP-Instanz erzeugt werden.');
			http_request = false;
			return false;
		}
		
		http_request.open(reqtest_method, url, true);
		if(reqtest_method == 'POST' && postParameters!=null){
			http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http_request.setRequestHeader("Content-length", postParameters.length);
		}else{
			postParameters = null;
		}
		http_request.send(postParameters);
		http_request.onreadystatechange = functionsname;
		return true;
	//}else{
		//document.title = counter + " / " + url;
	//	counter++;
	//	window.setTimeout("sendRequest('"+url+"',"+functionsname+",'"+reqtest_method+"')", 50);
	//}
}
function sendRequest_callback() {
	var returnValue = null;
	if(http_request!=null){
		if (http_request.readyState==4 && http_request.status==200){
			returnValue = http_request.responseText;
			http_request = false;
		}
	}
	return returnValue;
}


/* ******************************************************* */
/* ****************** SEARCH DROP DOWNS ****************** */
var nutzungsart 	= null;
var objektart 		= null;
var vermarktungsart = null;
var wohnungtyp 		= null;
var dataFor 		= null;
function declareDropdowns(){
	nutzungsart 	= fetchObject('nutzungsart');
	objektart 		= fetchObject('objektart');
	vermarktungsart = fetchObject('vermarktungsart');
	wohnungtyp 		= fetchObject('wohnungtyp');
}
function getSelectedOptionValue(obj){
	var selectedValue = null;
	if(obj.length>0){
		if(obj.options[obj.selectedIndex]!=undefined){
			selectedValue = obj.options[obj.selectedIndex].value;
		}else{
			selectedValue = obj.options[0].value;
		}
		if(selectedValue==null){
			selectedValue = obj.options[0].value;
		}
	}
	return selectedValue;
}
function getOptions(obj){
	
	if(typeof(obj)=="object"){
	}else{
		obj = fetchObject(obj);
	}
	
	var id = obj.id;
	declareDropdowns();
	switch(id){
		case 'nutzungsart':
			var selectedValue 	= getSelectedOptionValue(obj);
			if(selectedValue!=""){
				eval("dataFor = fetchObject('"+objektart.id+"');");
			}
		break;
		
		case 'objektart':
			var selectedValue 	= getSelectedOptionValue(obj);
			if(selectedValue!=""){
				eval("dataFor = fetchObject('"+vermarktungsart.id+"');");
			}
			
		break;
		
		case 'vermarktungsart':
			var selectedValue 	= getSelectedOptionValue(obj);
			if(selectedValue!=""){
				eval("dataFor = fetchObject('"+wohnungtyp.id+"');");
			}
			
		break;
		
		
	}
	postParameters = "datafor="+dataFor.id;
	if(nutzungsart.length>0 && nutzungsart.options[nutzungsart.selectedIndex].value)
	postParameters += "&nutzungsart="+nutzungsart.options[nutzungsart.selectedIndex].value;
	
	if(objektart.length>0 && objektart.options[objektart.selectedIndex].value)
	postParameters += "&objektart="+objektart.options[objektart.selectedIndex].value;
	
	if(vermarktungsart.length>0 && vermarktungsart.options[vermarktungsart.selectedIndex].value)
	postParameters += "&vermarktungsart="+vermarktungsart.options[vermarktungsart.selectedIndex].value;
	
	dataFor.disabled = true;
	if(dataFor.length>0){}
		for(var i=(dataFor.length-1); i>=0; i--){
			dataFor.options[ (i) ] =null;
		}		
	
	var dimg = fetchObject("a_"+dataFor.id);
	dimg.innerHTML = LoaderFrmIMG;

	sendRequest(BASE_DIR, dropDownResult, 'POST' );
	PlaceHolder = dataFor;
}
function dropDownResult(){
	var dest = PlaceHolder;

	var dimg = fetchObject("a_"+dest.id);
	dimg.innerHTML = "";
	var returnValue = sendRequest_callback();
	if(returnValue!=null){
		eval(returnValue);
		if(jsc!=undefined){
			for(var i=0; i<jsc.length; i++){
				nOption = new Option(jsc[i][1], jsc[i][0], false, true);
				nOption.defaultSelected = true;
				dest.options[dest.length] = nOption;
			}
			dest.selectedIndex = 0;
		}else{
			dest.disabled = true;
		}
		//ab ier Arbeiten ....
	}
	
}
/* ****************** SEARCH DROP DOWNS ****************** */
function doStartChangefilter(){
	fetchObject('ausstattung').innerHTML = LoaderFrmIMG;
	fetchObject('who_type').innerHTML = LoaderFrmIMG;
	getAusstattung('ausstattung',	nutzungsart.options[nutzungsart.selectedIndex].value, objektart.options[objektart.selectedIndex].value);
}
/* ******************************************************** */
function getAusstattung(id, nutzungsart_value, objektart_value){
	ausstattungDiv = "";
	eval("ausstattungDiv = fetchObject('"+id+"');");
	ausstattungDiv.innerHTML = LoaderFrmIMG;
	sendRequest(BASE_DIR + "&get=ausstattung&nutzungsart="+nutzungsart_value+'&objektart='+objektart_value, setAusstattungContent, 'GET' );
}
function setAusstattungContent(){
	var returnValue = sendRequest_callback();
	if(returnValue!=null){
		ausstattungDiv.innerHTML = returnValue;
		getObjektType('who_type', 		nutzungsart.options[nutzungsart.selectedIndex].value, objektart.options[objektart.selectedIndex].value);
	}

}
/* ******************************************************** */
function getObjektType(id, nutzungsart_value, objektart_value){
	objektTypeDiv = "";
	eval("objektTypeDiv = fetchObject('"+id+"');");
	objektTypeDiv.innerHTML = LoaderFrmIMG;
	sendRequest(BASE_DIR + "&get=objekt_type&nutzungsart="+nutzungsart_value+'&objektart='+objektart_value, setObjektTypeContent, 'GET' );

}
function setObjektTypeContent(){
	var returnValue = sendRequest_callback();
	if(returnValue!=null){
		objektTypeDiv.innerHTML = returnValue;
	}	
}












