// JavaScript Document
function xmlhttpPost(strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Xhr per Mozilla/Safari/Ie7
	
	var form = document.forms['ImmobiliRicerca'];
	var TotElements = form.length;
	var ValoriAttuali = "";
	var VettoreValoriOriginali = "";
	var TotaleValori = 0;
	var ItemValori = "";
	var VettoreOptionsOld = "";
	var ValoreTxt = "";
	var cntajax = 0;
	var bitfound = 0;
	var TotValori = 0;
	for (contatoreform = 0; contatoreform < TotElements; contatoreform ++) {
		ValoreTxt = "";
		if (form.elements[contatoreform].options) {
			VettoreOptionsOld = form.elements[contatoreform].options[form.elements[contatoreform].selectedIndex];
			ValoreTxt = VettoreOptionsOld.innerHTML;
		};
		ValoriAttuali = ValoriAttuali + form.elements[contatoreform].name + "-" + form.elements[contatoreform].selectedIndex +  "-" + ValoreTxt + ";";
	};
	
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // per tutte le altre versioni di IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
			if (ValoriAttuali != "") {
				VettoreValoriOriginali = ValoriAttuali.split(";");
				TotaleValori = VettoreValoriOriginali.length;

				for (contatoreform = 0; contatoreform < TotaleValori; contatoreform ++) {
						if (VettoreValoriOriginali[contatoreform]) {
							ItemValori = VettoreValoriOriginali[contatoreform].split("-");
							if (form.elements[ItemValori[0]].type=="select-one") {
								TotValori = form.elements[ItemValori[0]].options.length;
								for (cntajax = 0; cntajax < TotValori; cntajax ++) {
									bitfound = 0;
									if (form.elements[ItemValori[0]].options[cntajax].innerHTML == ItemValori[2]) {
										if ((ItemValori[1] > cntajax) || (ItemValori[1] < cntajax)) {
											ItemValori[1] = cntajax;
										};
										bitfound = 1;
										break;
									};
								};
								form.elements[ItemValori[0]].selectedIndex = 0;
								if (bitfound == 1) {
									form.elements[ItemValori[0]].selectedIndex = ItemValori[1];
								};
							};
						};
					//};
				};
			};
        };
    }
    self.xmlHttpReq.send(getquerystring());
}

function getquerystring() {
    var form = document.forms['ImmobiliRicerca'];
	var TotElements = form.length;
	var contatoreform = 0;
	var valoreelemento = "";
	qstr = "";
	for (contatoreform = 0; contatoreform < TotElements; contatoreform ++) {
		valoreelemento = form.elements[contatoreform].value;
		if (valoreelemento > 0) {
			if (form.elements[contatoreform].type=="radio") {
				if (form.elements[contatoreform].checked==true) {
					if (qstr != "") {
						qstr = qstr + "&";
					};
					qstr = qstr + form.elements[contatoreform].name;
					qstr = qstr + '=';
					qstr = qstr + escape(valoreelemento);
				};
			}
			else {
				if (qstr != "") {
					qstr = qstr + "&";
				};
				qstr = qstr + form.elements[contatoreform].name;
				qstr = qstr + '=';
				qstr = qstr + escape(valoreelemento);
			};
		};
	};
	if (qstr != "") {
		qstr = qstr + "&ajaxquery=1";
	}
    return qstr;
}

function updatepage(str){
    //document.getElementById("result").innerHTML = str;
	var form = document.forms['ImmobiliRicerca'];
	var VettorePrincipale = str.split("|");
	var TotaleElementi = VettorePrincipale.length;
	var contatoreajax = 0;
	var VettoreInfo = "";
	var cntajax = 0;
	var VettoreOptions = "";
	var VettoreItem = "";
	for (contatoreajax = 0; contatoreajax < TotaleElementi; contatoreajax ++) {
		VettoreInfo = VettorePrincipale[contatoreajax].split("##");
		NomeElemento = VettoreInfo[0];
//alert(NomeElemento);
		if (NomeElemento != "") {

			if (form.elements[NomeElemento].type=="select-one") {
				while ( form.elements[NomeElemento].options.length ) {
					form.elements[NomeElemento].options[0] = null;
				};
				VettoreOptions = VettoreInfo[1].split(";");
				for (cntajax = 0; cntajax < VettoreOptions.length; cntajax++ ) {
					if (VettoreOptions[cntajax] != "") {
						var VettoreItem = VettoreOptions[cntajax].split("-");
						if ((VettoreItem[0] != "") && (VettoreItem[1] != "") && (VettoreItem[0]) && (VettoreItem[1])) {
							option = new Option( VettoreItem[0], VettoreItem[1] );
							form.elements[NomeElemento].options[form.elements[NomeElemento].length] = option;
						};
					};
				};
			};
		};
		
	};
	
	
	
}
