//var ajax = newAjax();

window.addEvent('domready', function(){
//alert('inizio');

/*--------------------*/
var myErrorText = new Element('span', {
	id: 'myErrorText',						  
    html: ' ',
    styles: {
        border: '0px solid white',
		width:'300px'
		   }
});
myErrorText.injectAfter($('calcola'));
 

/*--------------------*/
    $('combobox1').set('opacity', '0');
    $('combobox2').set('opacity', '0');
    $('combobox1').size = 1;
    $('combobox2').size = 1;   
    $('citta1').setProperty('class', 'no');
    $('citta2').setProperty('class', 'no');

    if ($defined($('combobox1B')) && $defined($('combobox2B')) && $defined($('citta1B')) && $defined($('citta2B')) && $defined($('id_citta1B')) && $defined($('id_citta2B'))) {
        $('combobox1B').set('opacity', '0');
        $('combobox2B').set('opacity', '0');
        $('combobox1B').size = 1;
        $('combobox2B').size = 1;
        $('citta1B').setProperty('class', 'no');
        $('citta2B').setProperty('class', 'no');
    }
    loadCountry('combobox3', 'combobox2', 'citta1', 'citta2', 'nome', 'id_citta2');
    loadCountry('combobox3B', 'combobox2B', 'citta1B', 'citta2B', 'nomeB', 'id_citta2B');
    validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
    
    $('citta1').addEvent('change', function(event){
        validaTextCitta('citta1');
        validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
    });
    $('citta2').addEvent('change', function(event){
        validaTextCitta('citta2');
        validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
    });
    
    if ($defined($('citta1B'))) {
        $('citta1B').addEvent('change', function(event){
            validaTextCitta('citta1B');
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
        });
    }
    if ($defined($('citta2B'))) {
        $('citta2B').addEvent('change', function(event){
            validaTextCitta('citta2B');
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
        });
    }
    
    $('citta1').addEvent('keyup', function(event){
        var keycode;
        if (window.event) 
            keycode = window.event.keyCode;
        else 
            if (event) 
                keycode = event.which;
        if (keycode == 8) {
            $('id_citta1').value = ""; // era 0
        }
        validaTextCitta('citta1');
        try {
            $('test1').innerHTML = $('citta1').value.length;
        } 
        catch (exc) {
        }
        
        if ($('citta1').value.length == 0) {
            $('id_citta1').value = ""; // era 0
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            validaTextCitta('citta1');
        }
        if ($('citta1').value.length > 0) {
            nascondiComboBox('citta2', 'combobox2', 'id_citta2');
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
        }
        if ($('citta1').value.length > 1) {
            mostraComboBox('citta1', 'combobox1', 'ita', 'id_citta1','combobox3');
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
        }
        else {
            $('combobox1').set('opacity', '0');
        }
    });
    
    $('citta2').addEvent('keyup', function(event){
        var keycode;
        if (window.event) 
            keycode = window.event.keyCode;
        else 
            if (event) 
                keycode = event.which;
        if (keycode == 8) {
            $('id_citta2').value = ""; // era 0
        }
        validaTextCitta('citta2');
        try {
            $('test2').innerHTML = $('citta2').value.length;
        } 
        catch (exc) {
        }
        if ($('citta2').value.length == 0) {
            $('id_citta2').value =""; // era 0
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            validaTextCitta('citta2');
        }
        if ($('citta2').value.length > 0) {
            nascondiComboBox('citta1', 'combobox1', 'id_citta1');
            validaDati('id_citta1', 'id_citta2');
        }
        if ($('citta2').value.length > 0) { /* >1*/
            mostraComboBox('citta2', 'combobox2', 'est', 'id_citta2','combobox3');
            validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
        }
        else {
            $('combobox2').set('opacity', '0');
        }
    });
    
    if ($defined($('citta1B'))) {
        $('citta1B').addEvent('keyup', function(event){
            var keycode;
            if (window.event) 
                keycode = window.event.keyCode;
            else 
                if (event) 
                    keycode = event.which;
            if (keycode == 8) {
                $('id_citta1B').value = ""; // era 0
            }
            validaTextCitta('citta1B');
            try {
                $('test1B').innerHTML = $('citta1B').value.length;
            } 
            catch (exc) {
            }
            
            if ($('citta1B').value.length == 0) {
                $('id_citta1B').value = ""; // era 0
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
                validaTextCitta('citta1B');
            }
            if ($('citta1B').value.length > 0) {
                nascondiComboBox('citta2B', 'combobox2B', 'id_citta2B');
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            }
            if ($('citta1B').value.length > 1) {
                mostraComboBox('citta1B', 'combobox1B', 'ita', 'id_citta1B','combobox3B');
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            }
            else {
                $('combobox1B').set('opacity', '0');
            }
        });
    };
    
    if ($defined($('citta2B'))) {
        $('citta2B').addEvent('keyup', function(event){
            var keycode;
            if (window.event) 
                keycode = window.event.keyCode;
            else 
                if (event) 
                    keycode = event.which;
            if (keycode == 8) {
                $('id_citta2B').value = ""; // era 0
            }
            validaTextCitta('citta2B');
            try {
                $('test2B').innerHTML = $('citta2B').value.length;
            } 
            catch (exc) {
            }
            
            if ($('citta2B').value.length == 0) {
                $('id_citta2B').value = ""; // era 0
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
                validaTextCitta('citta2B');
            }
            if ($('citta2B').value.length > 0) { /*>1*/
                nascondiComboBox('citta1B', 'combobox1B', 'id_citta1B');
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            }
            if ($('citta2B').value.length > 0) {
                mostraComboBox('citta2B', 'combobox2B', 'est', 'id_citta2B','combobox3B');
                validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
            }
            else {
                $('combobox2B').set('opacity', '0');
            }
        });
    };
    $('calcola').addEvent('click', function(event){
		//alert ($('offset1').value);
		applicaTZ('offset1','dst1');
		if ($defined($('offset2'))){
			applicaTZ('offset2','dst2');
		}    
	});
	 
});

function validaDati(id_citta1, id_citta2, id_citta3, id_citta4){
	pagina=window.location.href;
	//alert (pagina);
	Cookie.write('citta1', $('citta1').value,{path:pagina});
	Cookie.write('citta2', $('citta2').value,{path:pagina});
	if ($defined($('citta1B'))) {Cookie.write('citta1B', $('citta1B').value,{path:pagina});} // window.location.href;
	if ($defined($('citta1B'))) {Cookie.write('citta2B', $('citta2B').value,{path:pagina});}
	Cookie.write('id_citta1', $('id_citta1').value,{path:pagina});
	Cookie.write('id_citta2', $('id_citta2').value,{path:pagina});
	if ($defined($('citta1B'))) {
		Cookie.write('id_citta1B', $('id_citta1B').value, {
			path: pagina
		})
	};
	if ($defined($('citta1B'))) {
		Cookie.write('id_citta2B', $('id_citta2B').value,{path:pagina});
	};
	
    if ($defined($(id_citta3)) == false) {
        if (  (($(id_citta1).value > 0) || ($(id_citta2).value > 0))) {
            $('myErrorText').set('text',' ');
        }
        else {
             $('myErrorText').set('text',' Per eseguire il calcolo è necessario selezionare la città');
             }
    }
    else {
        if ((($(id_citta1).value > 0) || ($(id_citta2).value > 0)) && (($(id_citta3).value > 0) || ($(id_citta4).value > 0))) {
           			$('myErrorText').set('text',' ');
        }
        else {
			$('myErrorText').set('text',' Per eseguire il calcolo è necessario selezionare la città');
             }
    }
}

function aggiornaText(inputCitta, combo, textdebug){
    if ($defined($(inputCitta)) == false) 
        return;
    if ($defined($(combo)) == false) 
        return;
    if ($defined($(textdebug)) == false) 
        return;
    var myString = $(combo).value;
    var myArray = myString.split('|');
    $(inputCitta).value = myArray[2];
    try {
        $(textdebug).value = myArray[0];
    } 
    catch (exc) {
    };
    validaTextCitta(inputCitta);
    validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
}

function newAjax(){
    var xmlHttp;
    try { // Firefox, Opera e Safari
        xmlHttp = new XMLHttpRequest();
    } 
    catch (exc) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch (exc) {
            try {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (exc) {
                alert("Il tuo browser non supporta AJAX!");
                return false;
            }
        }
    }
    return xmlHttp;
}


function mostraComboBox(text, combo, naz, textdebug, nazione){
	if ($defined($(combo)) == false) 
        return;
    var ajax = newAjax();
	ajax.abort();
    ajax.onreadystatechange = function(){
        if (ajax.readyState == 4) { // verifico che la richiesta è finita
            if ((ajax.status == 200) || (ajax.status == 0)) { // controllo che la richiesta è terminata in modo corretto
                if (ajax.responseText.search("option") > 0) {
                    $(combo).set('display', 'block');
                    $(combo).set('opacity', '1');
                    if (BrowserDetect.browser == "Firefox") {
                        $(combo).innerHTML = ajax.responseText;
                    }
                    else {
                        $(combo).outerHTML = "<select size=\"2\" class='boxdati' style=\"z-index:99\" id='" + combo + "'>" + ajax.responseText + "</select>";
                    }
                    $(combo).size = "5";
                    $(combo).addEvent('click', function(event){
                        aggiornaText(text, combo, textdebug);
                        $(combo).set('opacity', '0');
                    });
                    
                    $(combo).addEvent('change', function(event){
                        aggiornaText(text, combo, textdebug);
                        $(combo).size = 1;
                    });
                    $(combo).addEvent('select', function(event){
                        aggiornaText(text, combo, textdebug);
                    });
                }
                else {
                    $(combo).set('opacity', '0');
                }
            }
            else {
            }
        }
    }
    //var r = Math.random();
	var r=1;
    nazioneS = $(nazione).value;
    
    ajax.open("POST", "script/elenco_citta.asp?combo=" + combo + "&naz=" + naz + "&citta=" + $(text).value.substr(0, 6) + "&country=" + nazioneS + "&rand=" + escape(r), true);
    ajax.send(null);
}

function nascondiComboBox(citta, combo, id_citta){
    if ($defined($(citta)) == false) 
        return;
    if ($defined($(combo)) == false) 
        return;
    if ($defined($(id_citta)) == false) 
        return;
    $(citta).value = "";
    $(id_citta).value =""; //era 0
    $(combo).blur();
    $(combo).set('opacity', '0');
} //nascondiComboBox
function validaNome(nome){
    validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
} //validaNome
function validaTextCitta(inputCitta){
    switch (inputCitta) {
        case 'citta1':
            $('citta2').value = "";
            $('id_citta2').value = ""; // era 0
            if ($('id_citta1').value != 0) {
                $('citta1').setProperty('class', 'ok');
            }
            else {
                $('citta1').setProperty('class', 'neutro');
            }
            $('citta2').setProperty('class', 'neutro');
            $('combobox2').set('opacity', '0');
            break;
        case 'citta2':
            $('citta1').value = "";
            $('id_citta1').value = ""; // era 0
            $('citta1').setProperty('class', 'neutro');
            if ($('id_citta2').value != 0) {
                $('citta2').setProperty('class', 'ok');
            }
            else {
                $('citta2').setProperty('class', 'neutro');
            }
            $('combobox1').set('opacity', '0');
            break;
        case 'citta1B':
            $('citta2B').value = "";
            $('id_citta2B').value = ""; // era 0
            if ($('id_citta1B').value != 0) {
                $('citta1B').setProperty('class', 'ok');
            }
            else {
                $('citta1B').setProperty('class', 'neutro');
            }
            $('citta2B').setProperty('class', 'neutro');
            $('combobox2B').set('opacity', '0');
            break;
        case 'citta2B':
            $('citta1B').value = "";
            $('id_citta1B').value = ""; // era 0
            $('citta1B').setProperty('class', 'neutro');
            if ($('id_citta2B').value != 0) {
                $('citta2B').setProperty('class', 'ok');
            }
            else {
                $('citta2B').setProperty('class', 'neutro');
            }
            $('combobox1B').set('opacity', '0');
            break;
    }
    validaDati('id_citta1', 'id_citta2', 'id_citta1B', 'id_citta2B');
} //validaTextCitta
function loadCountry(combo, comboboxEst, cittaIta, cittaEst, nome, id_cittaEst){
    if ($defined($(combo)) == false) 
        return;
    if ($defined($(comboboxEst)) == false) 
        return;
    if ($defined($(cittaIta)) == false) 
        return;
    if ($defined($(cittaEst)) == false) 
        return;
    var ajax = newAjax();
    ajax.onreadystatechange = function(){
        if (ajax.readyState == 4) { // verifico che la richiesta è finita
            if ((ajax.status == 200) || (ajax.status == 0)) { // controllo che la richiesta è terminata in modo corretto
                if (BrowserDetect.browser == "Firefox") {
                    $(combo).innerHTML = ajax.responseText;
                }
                else {
                    $(combo).outerHTML = "<select class='boxdati' id='" + combo + "'>" + ajax.responseText + "</select>";
                }
                $(combo).addEvent('change', function(event){
                	//nascondiComboBox('citta1', 'combobox1', 'id_citta1');
					$(comboboxEst).set('opacity','0');
                    validaTextCitta(cittaIta);
                    validaTextCitta(cittaEst);
                    validaNome(nome);
                    mostraComboBox(cittaEst, comboboxEst, 'est', id_cittaEst,combo);
                });
            }
            else {
                //alert('errore' + ajax.status);
            } //200
        } //4
    }//function
    var r = Math.random();
    ajax.open("POST", "script/elenco_nazioni.asp?combo=" + combo + "&rand=" + escape(r), true);
    ajax.send(null);
}//function loadCountry

function applicaTZ(offsetX,dst){
				// alert('prova');
    var ajaxTZ = newAjax();
    ajaxTZ.onreadystatechange = function(){
        if (ajaxTZ.readyState == 4) { // verifico che la richiesta è finita
            if ((ajaxTZ.status == 200) || (ajaxTZ.status == 0)) { // controllo che la richiesta è terminata in modo corretto
            str_rit=ajaxTZ.responseText;
            j=str_rit.search(" ");
            $(offsetX).value=str_rit.substr(0,j);
			dst_str=str_rit.substr(j+1,6);
			if (dst_str=="errore"){
				if (offsetX=="offset1") dst="errore1";
				else dst_str="errore2";
			}
			$(dst).value=dst_str;
			document.form1.submit();
            }
            else {
            } //200
        } //4
    }//function
    var r = Math.random();
	if (offsetX=="offset1") {
		anno=	$('anno').value;
		mese=	$('mese').value;
		giorno=	$('giorno').value;
		ora=	$('ora').value;
		minuti=	$('minuti').value;
	    if ($('id_citta1').value=="") idcitta=$('id_citta2').value+"&NAZ=EST";	
		else	idcitta=$('id_citta1').value+"&NAZ=ITA";			
	}
	else{ //offset2
		anno=	$('anno2').value;
		mese=	$('mese2').value;
		giorno=	$('giorno2').value;
		ora=	$('ora2').value;
		minuti=	$('minuti2').value;		
		if ($('id_citta1B').value=="") idcitta=$('id_citta2B').value+"&NAZ=EST";	
		else	idcitta=$('id_citta1B').value+"&NAZ=ITA";			

	}
	richiesta_data="&anno=" + anno + "&mese=" + mese + "&giorno=" + giorno + "&ora=" + ora + "&minuti=" + minuti + "&secondi=00";
	//true=asincrono; non funziona per Firefox
	//false=sincrono; funziona per IE, chrome, non per Firefox
	//var r = Math.random();
	 if (BrowserDetect.browser == "Firefox") {
	ajaxTZ.open("POST", "script/carico_tzfile.asp?ID=" + idcitta + richiesta_data + "&test=false" + "&rand=" + escape(r), false); // era true
	 ajaxTZ.send(null);
	           str_rit=ajaxTZ.responseText;
            j=str_rit.search(" ");
            $(offsetX).value=str_rit.substr(0,j);
			dst_str=str_rit.substr(j+1,6);
			if (dst_str=="errore"){
				if (offsetX=="offset1") dst="errore1";
				else dst_str="errore2";
			}
			$(dst).value=dst_str;
			document.form1.submit();
	}
	else
	{
	ajaxTZ.open("POST", "script/carico_tzfile.asp?ID=" + idcitta + richiesta_data + "&test=false" + "&rand=" + escape(r), false);
	 ajaxTZ.send(null);
	}
}//function loadCountry
