
var http_request = false;
/**
			Effettua la rechiesta AJAX tramite http
		*/
function makeRequest(url) {

	
 
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType("text/xml");
	                // See note below about this line
        }
    } else {
        if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {
                	alert(e);
                }
            }
        }
    }
    if (!http_request) {
        alert("Giving up :( Cannot create an XMLHTTP instance");
        return false;
    }
    http_request.onreadystatechange = publishContents;
    http_request.open("GET", url, true);
    http_request.send(null);
}
/** print della response AJAX sul div  **/
function publishContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            document.getElementById("content").innerHTML = http_request.responseText;
        } else {
            alert("There was a problem with the request.");
        }
    }
}
/** intercetta evernti **/
function handleEvent(aEvent) {


    document.getElementById("atls").style.backgroundImage = "url('/common/images/ricerca/progress.gif')";
		  //controllo tasti
    var myEvent = aEvent ? aEvent : window.event;
    var kcode = myEvent.keyCode;
    try {
    
			//EFFETTUA LA RICERCA
        makesearch();
    }
    catch (e) {
        alert(e);
    }
}  
	
	
	//variabili globali
var position = eval(0);
var bgcolor = "";
/** intercetta evento tastiera **/
function keyHandleEvent(aEvent) {
    
    //
    document.getElementById("atls").style.backgroundImage = "url('/common/images/ricerca/progress.gif')";
	
	//controllo tasti
    var myEvent = aEvent ? aEvent : window.event;
    var kcode = myEvent.keyCode;

	//EFFETTUA IL SELEZIONAMENTO
    try {
        if (kcode == 40) {
					//freccia giu
            position++;
            if (document.getElementById("content").innerHTML != "") {
                if (position > 1) {
                    deselector((position - 1));
                }
                document.getElementById("scrollable").focus();
                selector(position);
            }
        } else {
            if (kcode == 13) {
				//invio
                acceptSelection(position);
            } else {
                if (kcode == 38) {
				//freccia su
                    if (document.getElementById("content").innerHTML != "") {
                        position--;
                        if (position < 10) {
                            deselector((position + 1));
                        }
                        document.getElementById("scrollable").focus();
                        selector(position);
                    }
                } else {
			   		//EFFETTUA LA RICERCA
                    makesearch();
                }
            }
        }
    }
    catch (e) {
		  	//alert(e);
        resetPosition();
    }
}
/**
 * x y position
 */
function xypos(content, atls) {
	//posizioni x e y di atls
	var xpos = findPosX(atls);
	var ypos = findPosY(atls);
	//risetta content
	document.getElementById("content").style.left = xpos;

  	var strBrowser = navigator.userAgent.toLowerCase();
 	if (strBrowser.indexOf("msie") > -1) {
		document.getElementById("content").style.top = eval(ypos) + 20;
	} else {
		document.getElementById("content").style.top = ypos;
	}
	
	
}

/**effettua la ricerca **/
function makesearch() {
		//se le lettere digitate sono minori di 2 chiude
	
	
    if (document.getElementById("atls").value.length < 2) {
        closeAtlas();
        return;
    }
    document.getElementById("content").innerHTML = "";
	//riposiziona l'elemento
	xypos(document.getElementById("content"), document.getElementById("atls")); 
	//
    document.getElementById("content").style.display = "block";
    makeRequest("common/components/atlantefull.jsp?descrizione=" + document.getElementById("atls").value);
    document.getElementById("atls").style.backgroundImage = "url('')";
}
/**chiude div	**/
function closeAtlas() {
    if (document.getElementById("atls")) {
        resetPosition();
			//document.getElementById("content").innerHTML = "";
        document.getElementById("content").style.display = "none";
    }
}
	
	//variabili globali per memorizzare lo stato delle selezioni full text
var fulltextidprov;
var fulltextprov;
var fulltextidnaz;
var fulltextdescnaz;
var fulltextidreg;
var fulltextreg;
var fulltextidcont;
var fulltextdesccont;
var fulltextidcom;
var fulltextdesccom;
	//
/**
 * inserisce il testo nei tasti scelta del menu
 */
function selFullText(funcname) {
    if (funcname == "provincia") {
        textIndDiv("provincia-sel", fulltextprov, "idProvincia", fulltextidprov, "Provincia");
        fulltextprov = null;
    }
    if (funcname == "regione") {
        textIndDiv("regione-sel", fulltextreg, "idRegione", fulltextidreg, "Regione");
        fulltextidreg = null;
    }
    if (funcname == "nazione") {
        textIndDiv("nazione-sel", fulltextdescnaz, "idNazione", fulltextidnaz, "Nazione");
        fulltextidnaz = null;
    }
    if (fulltextidcont != null) {
        textIndDiv("continente-sel", fulltextcont, "idContinente", fulltextidcont, "Continente");
        fulltextidcont = null;
    }
    if (funcname == "comune") {
        if (fulltextidcom != null) {
            textIndDiv("comune-sel", fulltextdesccom, "idComune", fulltextidcom, "Comune");
            fulltextidcont = null;
        }
    }
}
/**
 * accetta la selezione del combo full text 
 */
function acceptSelection(id) {

    //
	var name = "desctab" + id;
    document.getElementById("atls").value = document.getElementById(name).value;
    deselector(id);
	
	//recupera idgeo
    var geoidtab = "idtab" + id;
    var geodesc = document.getElementById(name).value;
    var idgeo = document.getElementById(geoidtab).value;
	
	//recupera tipo di classe
    var geoclass = "classType" + id;
    var idclass = document.getElementById(geoclass).value;


	//recupera la classe		
    idclass = idclass.split(".")[(idclass.split(".").length - 1)];
	
	//-->
    if (idclass == "Provincia") {	

			//nazione
        var idcont = document.getElementById("idContinente" + id).value;
        var descCont = document.getElementById("descContinente" + id).value;
		
			//regione
        var idnaz = document.getElementById("idNazione" + id).value;
        //var idnaz =  eval(Math.round(Math.random()*10));
        var descNaz = document.getElementById("descNazione" + id).value;

			//provincia
        var idreg = document.getElementById("idRegione" + id).value;
        var descReg = document.getElementById("descRegione" + id).value;


		document.getElementById("idNazione").value = idnaz;
		document.getElementById("idContinente").value = idcont;
		document.getElementById("idRegione").value = idreg;
		document.getElementById("idProvincia").value = idgeo;
		document.getElementById("idComune").value = "";
		
		document.getElementById("content").innerHTML = "";
			
        if (document.forms[0].name == "immobiliForm") {
            doImmobileAction(document.forms[0], "SE");
        }
        if (document.forms[0].name == "agenzieForm") {
            doAgenziaAction(document.forms[0], "SE");
        }
		
		//carica nella variabile globale
        fulltextprov = geodesc;
        fulltextidprov = idgeo;
        fulltextidreg = idreg;
        fulltextreg = descReg;
        fulltextidnaz = idnaz;
        fulltextdescnaz = descNaz;
        fulltextidcont = idcont;
        fulltextcont = descCont;


    } else if (idclass == "Comune") {	
		
			//continente
            var idcont = document.getElementById("idContinente" + id).value;
            var descCont = document.getElementById("descContinente" + id).value;

			//nazione
            var idnaz = document.getElementById("idNazione" + id).value;
            var descNaz = document.getElementById("descNazione" + id).value;
        	//var idnaz = eval(Math.round(Math.random()*10));

			//regione
            var idreg = document.getElementById("idRegione" + id).value;
            var descReg = document.getElementById("descRegione" + id).value;

			//provincia
            var idprov = document.getElementById("idProvincia" + id).value;
            var descProv = document.getElementById("descProvincia" + id).value;

		document.getElementById("idNazione").value = idnaz;
		document.getElementById("idContinente").value = idcont;
		document.getElementById("idRegione").value = idreg;
		document.getElementById("idProvincia").value = idprov;
		document.getElementById("idComune").value = idgeo;
		document.getElementById("content").innerHTML = "";
			
        if (document.forms[0].name == "immobiliForm") {
            doImmobileAction(document.forms[0], "SE");
        }
        if (document.forms[0].name == "agenzieForm") {
            doAgenziaAction(document.forms[0], "SE");
        }			
		
		//carica nella variabile globale
        fulltextprov = descProv;
        fulltextidprov = idprov;
		fulltextidreg = idreg;
        fulltextreg = descReg;
        fulltextidnaz = idnaz;
        fulltextdescnaz = descNaz;
        fulltextidcont = idcont;
        fulltextcont = descCont;
        fulltextidcom = idgeo;
        fulltextdesccom = geodesc;
        //-->
            
     } else if (idclass == "Regione") {	

			//continente
                var idcont = document.getElementById("idContinente" + id).value;
                var descCont = document.getElementById("descContinente" + id).value;
                reloadNazioniConFlash(idcont, 0, 0);
			
			//nazione
                var idnaz = document.getElementById("idNazione" + id).value;
                var descNaz = document.getElementById("descNazione" + id).value;
				//var idnaz = eval(Math.round(Math.random()*10));
			//unloadDiv("Regione", 0, 0, "Regione");
                reloadRegioniNoProv(idnaz, 0, 0);

			//regione
                reloadProvinceConFlash(idgeo, 0, 0);

			
			//carica nella variabile globale
                fulltextidreg = idgeo;
                fulltextreg = geodesc;
                fulltextidnaz = idnaz;
                fulltextdescnaz = descNaz;
                fulltextidcont = idcont;
                fulltextcont = descCont;
                
     } else if (idclass == "Nazione") {	

			//continente
                var idcont = document.getElementById("idContinente" + id).value;
                var descCont = document.getElementById("descContinente" + id).value;
                reloadNazioniConFlash(idcont, 0, 0);
			
			//nazione
                reloadRegioniNoProv(idgeo, 0, 0);

			//carica nella variabile globale
                fulltextidnaz = idgeo;
                fulltextdescnaz = geodesc;
                fulltextidcont = idcont;
                fulltextcont = descCont;
                
     } else if (idclass == "Continente") {	
			//continente
              	 reloadNazioniConFlash(idgeo, 0, 0);
			//carica nella variabile globale
                 fulltextidcont = idgeo;
                 fulltextcont = geodesc;
     }
     closeAtlas();
     document.getElementById("content").innerHTML = "";
}


/**
	 * selezionatore
	 */
function selector(id) {
    var name = "tstab" + id;
    bgcolor = document.getElementById(name).style.backgroundColor;
    document.getElementById(name).style.backgroundColor = "#fbe1c6";
}

/**
	 * deselezionatoreo
	 */
function deselector(id) {
    var name = "tstab" + id;
    document.getElementById(name).style.backgroundColor = bgcolor;
}
/**
	 * resetta la variabile position
	 */
function resetPosition() {
    position = eval(0);
}

