﻿function FiltraCamere(idNPersone, idNCamere, OldVal)
{
	var objNPersone = FindCtrl(idNPersone);
	var objNCamere = FindCtrl(idNCamere);
	var NPersone = parseInt(objNPersone[objNPersone.selectedIndex].value);
	var NCamera = 0;
	if(OldVal != null && OldVal != "") { NCamera = parseInt(OldVal); }
	else if(
		objNCamere.selectedIndex != -1 && 
		objNCamere[objNCamere.selectedIndex].value != ""
	) { NCamera = parseInt(objNCamere[objNCamere.selectedIndex].value); }
	for(var i = objNCamere.options.length; i >= 0; i--) {objNCamere.options[i] = null;}
	for(var k = 0; k <= NPersone; k++)
	{
		var Descr = new String(k);
		var Val = new String(k);
		if(k==0)
		{
			Descr = "--";
			Val = "";
		}
		objNCamere.options[k] = new Option(Descr);
		objNCamere.options[k].value = Val;
		if(NCamera > 0 && NCamera == parseInt(Val)) { objNCamere.options[k].selected = true; }
	}
}

var ClientID = '';
var CodLang = '';

var idDataArrivo = '';
var idDataPartenza = '';
var idArrivoGiorno = '';
var idArrivoMese = '';
var idArrivoAnno = '';
var idPartenzaGiorno = '';
var idPartenzaMese = '';
var idPartenzaAnno = '';
var idPersone = '';
var idCamere = '';
var idProvince = '';
var idFLSoloPren = '';
var idHdnLoc = '';
var idLocalita = '';
var idNome = '';
var idAlbergo = '';

// Parametri Avanzati
var idCategorie = '';
var idClassificazioni = '';
var idZone = '';
var idTipologie = '';
var idDisponibilita = '';

// Oggetti Calendario
var idDvCal = '';
var idDvCalCont = '';

function PreparaGiorni()
{
	var DalDayObj = FindCtrl(idArrivoGiorno);
	var AlDayObj = FindCtrl(idPartenzaGiorno);
	for(var i = 1; i <= 31; i++)
	{
		var idx = DalDayObj.options.length;
		var strI = new String(i);
		DalDayObj.options[idx] = new Option(((strI.length < 2) ? '0' + strI : strI));
		DalDayObj.options[idx].value = strI;
		AlDayObj.options[idx] = new Option(((strI.length < 2) ? '0' + strI : strI));
		AlDayObj.options[idx].value = strI;
	}
}
function PreparaMesi()
{
	var DalMonthObj = FindCtrl(idArrivoMese);
	var AlMonthObj = FindCtrl(idPartenzaMese);
	for(var j = 0; j < 12; j++)
	{
		var idx = DalMonthObj.options.length;
		DalMonthObj.options[idx] = new Option(this.aryMesi[j]);
		DalMonthObj.options[idx].value = (j+1);
		AlMonthObj.options[idx] = new Option(this.aryMesi[j]);
		AlMonthObj.options[idx].value = (j+1);
	}
}
function PreparaAnni()
{
	var DalYearObj = FindCtrl(idArrivoAnno);
	var AlYearObj = FindCtrl(idPartenzaAnno);
	var Today = new Date();
	var TodayYear = Today.getFullYear();
	for(var k = 0; k < 3; k++)
	{
		var Year = TodayYear + k;
		var idx = DalYearObj.options.length;
		if(TipoDescrAnni == 1)
		{
			DalYearObj.options[idx] = new Option(Year);
			DalYearObj.options[idx].value = Year;
			AlYearObj.options[idx] = new Option(Year);
			AlYearObj.options[idx].value = Year;
		} 
		else
		{
			var strY = new String(Year);
			DalYearObj.options[idx] = new Option(strY.substring(2,4));
			DalYearObj.options[idx].value = Year;
			AlYearObj.options[idx] = new Option(strY.substring(2,4));
			AlYearObj.options[idx].value = Year;
		}
	}
}
function DateCheck(objDa, objA, lingua) 
{ 
    var EvalDateFrom;
    var EvalDateTo;
    var DateNow = new Date();
    var EvalDateNow = RetIntDate(new String(DateNow.getDate()),new String(eval(DateNow.getMonth()+1)),new String(DateNow.getFullYear()))
    var Error = 0;
    var txtDataDa = FindCtrl(objDa);
    var txtDataA = FindCtrl(objA);

    if (EvalStrDate(txtDataDa.value, 'Data Arrivo',lingua)) {EvalDateFrom = DateFormatInt;}
    else {Error = 1;}

    if (EvalStrDate(txtDataA.value, 'Data Partenza',lingua)) {EvalDateTo = DateFormatInt;}
    else {Error = 2;}

    if (Error == 0)
    { 
        if (EvalDateFrom == null && EvalDateTo == null)
        {
            /*FindCtrl(idArrivoGiorno).value = '';
            FindCtrl(idArrivoMese).value = '';
            FindCtrl(idArrivoAnno).value = '';
            FindCtrl(idPartenzaGiorno).value = '';
            FindCtrl(idPartenzaMese).value = '';
            FindCtrl(idPartenzaAnno).value = '';*/
            alert(MsgImmettereDataPartenza + '\n' + MsgImmettereDataArrivo);
            return false;
        }
        if(EvalDateFrom != null && EvalDateTo == null)
        {
            alert(MsgImmettereDataPartenza);
            return false;
        }
        if(EvalDateFrom == null && EvalDateTo != null)
        {
            alert(MsgImmettereDataArrivo);
            return false;
        }
        if (TrimWord(EvalDateFrom) == TrimWord(EvalDateNow) || TrimWord(EvalDateFrom) > TrimWord(EvalDateNow))
        {   
            if (TrimWord(EvalDateFrom) < TrimWord(EvalDateTo)) 
            {
                txtDataDa.value = RetStringDate(EvalDateFrom,'Arrivo',lingua);
                txtDataA.value = RetStringDate(EvalDateTo,'Partenza',lingua);
                return true;
            }
            else 
            {
                alert(MsgDataArrivoInferiorePartenza);
                return false;
            }
        }
        else
        {
            alert(MsgDataArrivoNoInferioreOggi)
            return false;
        }
    }
    else
    {
        alert(MsgIntervalloDate)
        txtDataDa.value = ResetDate(lingua);
        txtDataA.value = ResetDate(lingua);
        return false;
    }
}
function RetStringDate(intDate,typeDate,lingua)
{
    var strYear = intDate.substr(0, 4);
    var strMonth = intDate.substr(4, 2);
    var strDay = intDate.substr(6, 2);
    var strDate 
       
    switch(lingua)
    {
        case 'IT':
            strDate = strDay + '/' + strMonth + '/' + strYear;
            break;
        case 'EN':
            strDate = strMonth + '/' + strDay + '/' + strYear;
            break;
        case 'JP':
            strDate = strYear + '/' + strMonth + '/' + strDay;
            break;
    }
      
    if(TrimWord(typeDate) == 'Arrivo') {
        FindCtrl(idArrivoGiorno).value = strDay
        FindCtrl(idArrivoMese).value = strMonth
        FindCtrl(idArrivoAnno).value = strYear

    }else{
        FindCtrl(idPartenzaGiorno).value = strDay
        FindCtrl(idPartenzaMese).value = strMonth
        FindCtrl(idPartenzaAnno).value = strYear
    }

    return strDate;
}
function PreparaPersone()
{
	var PerObj = FindCtrl(idPersone);
	var CamObj = FindCtrl(idCamere);
	for(var l = 1; l <= 8; l++)
	{
		var idx = PerObj.options.length;
		PerObj.options[idx] = new Option(l);
		PerObj.options[idx].value = l;
		if(l == 2) { PerObj.options[idx].selected = true; }
	}
	if(CamObj != null)
	{
		CamObj.options[0] = new Option('--');
		CamObj.options[0].value = 0;
		for(var m = 1; m <= 2; m++)
		{
			var idx = CamObj.options.length;
			CamObj.options[idx] = new Option(m);
			CamObj.options[idx].value = m;
		}
	}
}
function ControllaGiorni(Tipo, GiornoSel, MeseSel, AnnoSel)
{
	// Reimpostazione parametri
	Tipo = (Tipo == null) ? "" : Tipo;
	GiornoSel = (GiornoSel == null) ? "" : GiornoSel;
	MeseSel = (MeseSel == null) ? "" : MeseSel;
	AnnoSel = (AnnoSel == null) ? "" : AnnoSel;

	var DayObj = FindCtrl((Tipo == "1") ? idPartenzaGiorno : idArrivoGiorno);
	var MonthObj = FindCtrl((Tipo == "1") ? idPartenzaMese : idArrivoMese);
	var YearObj = FindCtrl((Tipo == "1") ? idPartenzaAnno : idArrivoAnno);
	var DataObj = FindCtrl((Tipo == "1") ? idDataPartenza : idDataArrivo);
	
    /*
	// Giorno, mese, anno della data di oggi
	var Today = new Date();
	var TodayDay = Today.getDate();
	var TodayMonth = Today.getMonth();
	var TodayYear = Today.getFullYear();

	// Preparazione variabili
	var aryMonth = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
	var FebDays = 28
	//var CheckYear = (AnnoSel == "") ? YearObj[YearObj.selectedIndex].value : AnnoSel;
	var CheckYear = AnnoSel;
	if(CheckYear/4 == Math.round(CheckYear/4)) {var FebDays = 29;}
	var aryTotDays = new Array(31, FebDays, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var oldSelDay = "";
	
	//if(DayObj.selectedIndex != -1) {oldSelDay = DayObj[DayObj.selectedIndex].value;}
	if(GiornoSel != "") { oldSelDay = GiornoSel; }
	
	//alert(MonthObj[MonthObj.selectedIndex].value);
	//alert(aryTotDays[MonthObj[MonthObj.selectedIndex].value]);
	//return;
	*/
	// Reimpostazione data
	var gg = new String(GiornoSel);
	var mm = new String(MeseSel);
	var aa = new String(AnnoSel);
	if(gg.length < 2) { gg = '0' + gg; }
	if(mm.length < 2) { mm = '0' + mm; }
	DayObj.value = gg;
	MonthObj.value = mm;
	YearObj.value = aa;
	switch(codePage)
    {
       case 'IT':
	        DataObj.value = gg + '/' + mm + '/' + AnnoSel;
	        break;
	    case 'EN':
	        DataObj.value = mm + '/' + gg + '/' + AnnoSel;
	        break;
	   case 'JP':
	        DataObj.value = AnnoSel + '/' + mm + '/' + gg;
	        break;
	 }

    if(isNaN((new Date((FindCtrl(idDataPartenza)).value))))
    {
         var NewData = new Date(AnnoSel,eval(mm - 1),gg);
		     NewData.setDate(NewData.getDate() + 1);
		     ControllaGiorni("1", NewData.getDate(), NewData.getMonth() + 1, NewData.getFullYear());
    }else if(isNaN((new Date((FindCtrl(idDataArrivo)).value))))
    {
         var NewData = new Date(AnnoSel,eval(mm - 1),gg);
		     NewData.setDate(NewData.getDate() - 1);
		     ControllaGiorni("0", NewData.getDate(), NewData.getMonth() + 1, NewData.getFullYear());
    }else{
        ControllaValiditaDate();
    }
    
	/*
	for(var i = DayObj.options.length; i >= 0; i--) {DayObj.options[i] = null;}
	for(var m = 0; m < aryMonth.length; m++)
	{
		if((aryMonth[m] == MonthObj[MonthObj.selectedIndex].value && MeseSel == "") ||
			(aryMonth[m] == MeseSel)
		)
		{
			for(var d = 0; d < aryTotDays[m]; d++)
			{
				var intG = (d+1);
				var g = new String(d+1);
				if(g.length < 2) { g = "0" + g; }
				var idxGiorno = DayObj.options.length;
				DayObj.options[idxGiorno] = new Option(g);
				DayObj.options[idxGiorno].value = intG;
				if(oldSelDay != "" && oldSelDay == intG) { DayObj.options[idxGiorno].selected = true; }
			}
		}
	}
	if(DayObj.selectedIndex == -1) { DayObj.options[0].selected = true; }
	if(MeseSel != "")
	{
		for(var i = 0; i < MonthObj.options.length; i++)
		{
			if(MonthObj.options[i].value == MeseSel)
			{
				MonthObj.options[i].selected = true;
				break;
			}
		}
	}
	if(AnnoSel != "")
	{
		for(var i = 0; i < YearObj.options.length; i++)
		{
			if(YearObj.options[i].value == AnnoSel)
			{
				YearObj.options[i].selected = true;
				break;
			}
		}
	}

	/*if(Tipo != "1") {ControllaValiditaDate(); //}
	*/
	
}
function ControllaValiditaDate()
{
	// Recupero oggetti select
	var DalGiornoObj = FindCtrl(idArrivoGiorno);
	var DalMeseObj = FindCtrl(idArrivoMese);
	var DalAnnoObj = FindCtrl(idArrivoAnno);
	var AlGiornoObj = FindCtrl(idPartenzaGiorno);
	var AlMeseObj = FindCtrl(idPartenzaMese);
	var AlAnnoObj = FindCtrl(idPartenzaAnno);	
	
	
	var Today = new Date();
	Today =  new Date(Today.getFullYear(), Today.getMonth(), Today.getDate());
    /*
	var DalAnno = DalAnnoObj.options[DalAnnoObj.selectedIndex].value;
	var DalMese = DalMeseObj.options[DalMeseObj.selectedIndex].value;
	var DalGiorno = DalGiornoObj.options[DalGiornoObj.selectedIndex].value;

	var AlAnno = AlAnnoObj.options[AlAnnoObj.selectedIndex].value;
	var AlMese = AlMeseObj.options[AlMeseObj.selectedIndex].value;
	var AlGiorno = AlGiornoObj.options[AlGiornoObj.selectedIndex].value;
	*/
	
    var DalAnno = DalAnnoObj.value;
	var DalMese = DalMeseObj.value;
	var DalGiorno = DalGiornoObj.value;

	var AlAnno = AlAnnoObj.value;
	var AlMese = AlMeseObj.value;
	var AlGiorno = AlGiornoObj.value;
	

	var DataArrivo = new Date(DalAnno, (DalMese - 1), DalGiorno);
	var DataPartenza = new Date(AlAnno, (AlMese - 1), AlGiorno);

	var MilliSecDiff = DataPartenza.valueOf() - DataArrivo.valueOf();
	// Recuperato da una funzione datediff ricreata in javascript
	var NGiorni = Math.round(MilliSecDiff/1000/60/60/24)
	
	
	var MilliSecDiffA = DataArrivo.valueOf() - Today.valueOf();
	// Recuperato da una funzione datediff ricreata in javascript
	var NGiorniA = Math.round(MilliSecDiffA/1000/60/60/24)
   
    if(NGiorniA >= 0)
    {
	    if(NGiorni < 1) 
	    {
		    var NewData = DataArrivo;
		    NewData.setDate(NewData.getDate() + 1);
		    ControllaGiorni("1", NewData.getDate(), NewData.getMonth() + 1, NewData.getFullYear());
	    }
	    if(NGiorni > 30)
	    {
	    }
    }
    else
    {
	    var Today = new Date();
	    Today.setDate(Today.getDate() + 1);
	    ControllaGiorni('0', Today.getDate(), Today.getMonth() + 1, Today.getFullYear());
    }

}
/*function EffettuaRicerca(Url)
{
	var DalGiornoObj = FindCtrl(idArrivoGiorno);
	var DalMeseObj = FindCtrl(idArrivoMese);
	var DalAnnoObj = FindCtrl(idArrivoAnno);
	var AlGiornoObj = FindCtrl(idPartenzaGiorno);
	var AlMeseObj = FindCtrl(idPartenzaMese);
	var AlAnnoObj = FindCtrl(idPartenzaAnno);
	var PerObj = FindCtrl(idPersone);
	var CamObj = FindCtrl(idCamere);
	
	var DalGiorno = DalGiornoObj[DalGiornoObj.selectedIndex].value;
	var DalMese = DalMeseObj[DalMeseObj.selectedIndex].value;
	var DalAnno = DalAnnoObj[DalAnnoObj.selectedIndex].value;
	var AlGiorno = AlGiornoObj[AlGiornoObj.selectedIndex].value;
	var AlMese = AlMeseObj[AlMeseObj.selectedIndex].value;
	var AlAnno = AlAnnoObj[AlAnnoObj.selectedIndex].value;
	var Pers = PerObj[PerObj.selectedIndex].value;
	var Cams = CamObj[CamObj.selectedIndex].value;
	
	var DataArrivo = new Date(DalAnno, parseInt(DalMese) - 1, DalGiorno);
	var DataPartenza = new Date(AlAnno, parseInt(AlMese) - 1, AlGiorno);
	var MilliSecDiff = DataPartenza.valueOf() - DataArrivo.valueOf();
	var NGiorni = parseInt(MilliSecDiff/1000/60/60/24)
	
	var ChkGiorni = 30;
	try   { ChkGiorni = maxGiorniPren; }
	catch(e) { ChkGiorni = 30; }
	
	if(NGiorni <= ChkGiorni)
	{
		Url += ((Url.indexOf('?') == -1) ? "?" : "&"); // + "ACT=SEARCH";
		Url += "D_G=" + DalGiorno;
		Url += "&D_M=" + DalMese;
		Url += "&D_A=" + DalAnno;
		Url += "&A_G=" + AlGiorno;
		Url += "&A_M=" + AlMese;
		Url += "&A_A=" + AlAnno;
		Url += "&P=" + Pers;
		Url += "&C=" + Cams;
		
		Url = RecuperaParametriAvanzati(Url);
		
		self.location.href = Url;
	}
	else
	{
		try { alert(jsMexDatePren); }
		catch(e) { alert('Il sistema non permette ricerche per periodi superiori a 30 giorni'); }
	}
}*/
function EffettuaRicerca(Url)
{

    var oArrivoAnno = FindCtrl(idArrivoAnno);
    var oArrivoMese = FindCtrl(idArrivoMese);
    var oArrivoGiorno = FindCtrl(idArrivoGiorno);
    var oPartenzaAnno = FindCtrl(idPartenzaAnno);
    var oPartenzaMese = FindCtrl(idPartenzaMese);
    var oPartenzaGiorno = FindCtrl(idPartenzaGiorno);
    var oPersone = FindCtrl(idPersone);
    var oProvince = FindCtrl(idProvince);
    var oCamere = FindCtrl(idCamere);
    var oFLSoloPren = FindCtrl(idFLSoloPren);
    var oLocalita = FindCtrl(idLocalita);
    var oHdnLoc = FindCtrl(idHdnLoc);
    var oNome = FindCtrl(idNome);
    var oIDA = FindCtrl(idAlbergo);
    var dd = oArrivoAnno.value + "|" + oArrivoMese.value + "|" + oArrivoGiorno.value;    
    var ad = oPartenzaAnno.value + "|" + oPartenzaMese.value + "|" + oPartenzaGiorno.value;
    if(TrimWord(dd) == '||' && TrimWord(ad) == '||')
    {
        dd = '';
        ad = '';
    }
    //var dd = oArrivoAnno[oArrivoAnno.selectedIndex].value + "|" + oArrivoMese[oArrivoMese.selectedIndex].value + "|" + oArrivoGiorno[oArrivoGiorno.selectedIndex].value;    
    //var ad = oPartenzaAnno[oPartenzaAnno.selectedIndex].value + "|" + oPartenzaMese[oPartenzaMese.selectedIndex].value + "|" + oPartenzaGiorno[oPartenzaGiorno.selectedIndex].value;
    var np = oPersone[oPersone.selectedIndex].value;
    var prov = oProvince.value;
    
    var nc = '';
    if(oCamere != null && oCamere.selectedIndex != -1 && oCamere[oCamere.selectedIndex].value != '')
        nc = oCamere[oCamere.selectedIndex].value;

    var loc = '';
    if(oLocalita != null && oLocalita.value != '')
        loc = oLocalita.value;
    if(oHdnLoc != null)
        loc = oHdnLoc.value;

    var nome = '';
    if(oNome != null && oNome.value != '')
        nome = oNome.value;

    var flp = '';
    if(oFLSoloPren != null)
        flp = (oFLSoloPren.checked) ? '1' : '0';
        /*
	var DalGiorno = oArrivoGiorno[oArrivoGiorno.selectedIndex].value;
	var DalMese = oArrivoMese[oArrivoMese.selectedIndex].value;
	var DalAnno = oArrivoAnno[oArrivoAnno.selectedIndex].value;
	var AlGiorno = oPartenzaGiorno[oPartenzaGiorno.selectedIndex].value;
	var AlMese = oPartenzaMese[oPartenzaMese.selectedIndex].value;
	var AlAnno = oPartenzaAnno[oPartenzaAnno.selectedIndex].value;
	*/
	var ChkGiorni = 30;
	var NGiorni = 0;

	if (dd != '' && ad != '')
	{
	    var DalGiorno = parseInt(oArrivoGiorno.value, 10);
	    var DalMese = parseInt(oArrivoMese.value, 10);
	    var DalAnno = parseInt(oArrivoAnno.value, 10);
	    var AlGiorno = parseInt(oPartenzaGiorno.value, 10);
	    var AlMese = parseInt(oPartenzaMese.value, 10);
	    var AlAnno = parseInt(oPartenzaAnno.value, 10);
	    var Pers = oPersone[oPersone.selectedIndex].value;
	    var Cams = oCamere[oCamere.selectedIndex].value;

	    var DataArrivo = new Date(DalAnno, DalMese - 1, DalGiorno);
	    var DataPartenza = new Date(AlAnno, AlMese - 1, AlGiorno);
	    var MilliSecDiff = DataPartenza.valueOf() - DataArrivo.valueOf();
	    var NGiorni = parseInt(MilliSecDiff/1000/60/60/24)

	    try   { ChkGiorni = maxGiorniPren; }
	    catch(e) { ChkGiorni = 30; }
    }
	if(NGiorni <= ChkGiorni)
	{
        Url = AddQueryString(Url, 'DD', dd);
        Url = AddQueryString(Url, 'AD', ad);
        Url = AddQueryString(Url, 'NP', np);
        Url = AddQueryString(Url, 'NC', nc);
        Url = AddQueryString(Url, 'PROV', prov);
        if((Url.indexOf('?ZON=') == -1) && (Url.indexOf('&ZON=') == -1))
            Url = AddQueryString(Url, 'ZON', loc);
        Url = AddQueryString(Url, 'NOME', nome);
        Url = AddQueryString(Url, 'FLP', flp);
        if((Url.indexOf('?LNG=') == -1) && (Url.indexOf('&LNG=') == -1))
            Url = AddQueryString(Url, 'LNG', codePage);
        Url = AddQueryString(Url, 'DO', 'SRC');
        Url = AddQueryString(Url, 'TPSRV', '1');
        if(oIDA != null && oIDA.value != '')
            Url = AddQueryString(Url, 'IDA', oIDA.value);
        self.location.href = Url;
    }else{
        //alert('Superato il limite giorni prenotabili !');
        alert(JSMexChkLimiteGiorni);
    }
}
function RecuperaParametriAvanzati(Url)
{
	var aryCat = FindCtrl(idCategorie);
	var aryCls = FindCtrl(idClassificazioni);
	var aryZon = FindCtrl(idZone);
	var aryTip = FindCtrl(idTipologie);
	var cbDisp = FindCtrl(idDisponibilita);

	if(aryCat)
	{
		var Cat = '';
		
		for(var f = 0; f < document.forms.length; f++)
		{
			eval('aryCat = document.forms[' + f + '].' + idCategorie);
			if(aryCat && aryCat.length) { break; }
		}
		
		for(var i = 0; i < aryCat.length; i++)
		{
			if(aryCat[i].checked)
			{
				Cat += (Cat != '') ? ',' : '';
				Cat += aryCat[i].value;
			}
		}
		if(Cat != '') { Url += "&CAT=" + Cat; }
	}
	if(aryCls)
	{
		var Cls = '';

		for(var f = 0; f < document.forms.length; f++)
		{
			eval('aryCls = document.forms[' + f + '].' + idClassificazioni);
			if(aryCls && aryCls.length) { break; }
		}

		for(var i = 0; i < aryCls.length; i++)
		{
			if(aryCls[i].checked)
			{
				Cls += (Cls != '') ? ',' : '';
				Cls += aryCls[i].value;
			}
		}
		if(Cls != '') { Url += "&CLS=" + Cls; }
	}	
	if(aryZon)
	{
		var Zon = '';

		for(var f = 0; f < document.forms.length; f++)
		{
			eval('aryZon = document.forms[' + f + '].' + idZone);
			if(aryZon && aryZon.length) { break; }
		}

		for(var i = 0; i < aryZon.length; i++)
		{
			if(aryZon[i].checked)
			{
				Zon += (Zon != '') ? ',' : '';
				Zon += aryZon[i].value;
			}
		}
		if(Zon != '') { Url += "&ZON=" + Zon; }
	}	
	if(aryTip)
	{
		var Tip = '';

		for(var f = 0; f < document.forms.length; f++)
		{
			eval('aryTip = document.forms[' + f + '].' + idTipologie);
			if(aryTip && aryTip.length) { break; }
		}

		for(var i = 0; i < aryTip.length; i++)
		{
			if(aryTip[i].checked)
			{
				Tip += (Tip != '') ? ',' : '';
				Tip += aryTip[i].value;
			}
		}
		if(Tip != '') { Url += "&TIP=" + Tip; }
	}
	if(cbDisp && cbDisp.checked)
	{
		Url += "&DISP=true";
	}
	
	return Url;
	
}
// Nuovo Codice per Calendario
function PreparaUrlCalendario(Tipo, IDUC, Lang)
{

	var TodayDate = new Date();
	var DalGiornoObj = FindCtrl(idArrivoGiorno);
	var DalMeseObj = FindCtrl(idArrivoMese);
	var DalAnnoObj = FindCtrl(idArrivoAnno);
	var AlGiornoObj = FindCtrl(idPartenzaGiorno);
	var AlMeseObj = FindCtrl(idPartenzaMese);
	var AlAnnoObj = FindCtrl(idPartenzaAnno);	

	var Giorno = TodayDate.getDate();
	var Mese = (TodayDate.getMonth()+1);
	var Anno = TodayDate.getFullYear();
    /*
	var DalAnno = DalAnnoObj.options[DalAnnoObj.selectedIndex].value;
	var DalMese = DalMeseObj.options[DalMeseObj.selectedIndex].value;
	var DalGiorno = DalGiornoObj.options[DalGiornoObj.selectedIndex].value;

	var AlAnno = AlAnnoObj.options[AlAnnoObj.selectedIndex].value;
	var AlMese = AlMeseObj.options[AlMeseObj.selectedIndex].value;
	var AlGiorno = AlGiornoObj.options[AlGiornoObj.selectedIndex].value;
	*/
    var DalAnno = DalAnnoObj.value;
	var DalMese = DalMeseObj.value;
	var DalGiorno = DalGiornoObj.value;

	var AlAnno = AlAnnoObj.value;
	var AlMese = AlMeseObj.value;
	var AlGiorno = AlGiornoObj.value;

	var wndParam = ''; //'scrollbar=yes,resizable=no,menu=no,status=no,width=210,height=163';
	var url = '/inclusioni/calendario/calendario.aspx';
	url += '?IDUC=' + IDUC;
	url += '&LNG=' + Lang;
	url += '&TIPO=' + Tipo;
	url += '&GIORNO='; // + ((Tipo == '0') ? DalGiorno : AlGiorno);
	url += '&MESE='; // + ((Tipo == '0') ? DalMese : AlMese);
	url += '&ANNO='; // + ((Tipo == '0') ? DalAnno : AlAnno);
	url += '&DAL_GIORNO=' + DalGiorno;
	url += '&DAL_MESE=' + DalMese;
	url += '&DAL_ANNO=' + DalAnno;
	url += '&AL_GIORNO=' + AlGiorno;
	url += '&AL_MESE=' + AlMese;
	url += '&AL_ANNO=' + AlAnno;
	//if(wndCal) if(!wndCal.closed) wndCal.close();
	//wndCal = window.open(url, 'Cal', wndParam);
	return url;
}
function ANIM_AperturaCalendario(Img)
{
	var dvCal = FindCtrl(idDvCal);
	dvCal.className = 'dvCal';
	dvCal = (dvCal.style) ? dvCal.style : dvCal;
	dvCal.top = findPosY(Img) + 'px';
	dvCal.left = findPosX(Img) + 'px';
	ANIM_AperturaCalendario_Script();
}
function ANIM_AperturaCalendario_Script()
{
	var dvCal = FindCtrl(idDvCal);
	dvCal = (dvCal.style) ? dvCal.style : dvCal;
	if(!dvCal.clip)
	    dvCal.clip = "rect(0px 0px 0px 0px)";
	var stepClip = 10;
	var maxWid = 168;
	var maxHei = 140;
	var curWid = clipValues(dvCal, 'r');
	var curHei = clipValues(dvCal, 'b');
	if(curWid < maxWid || curHei < maxHei)
	{
		if(curWid < maxWid) { curWid += stepClip; }
		if(curHei < maxHei) { curHei += stepClip; }
		clipTo(dvCal, 0, curWid, curHei, 0);
		setTimeout("ANIM_AperturaCalendario_Script()",10);
	}
}
function ANIM_ChiusuraCalendario()
{
	var dvCal = FindCtrl(idDvCal);
	dvCal = (dvCal.style) ? dvCal.style : dvCal;
	if(!dvCal.clip)
	    dvCal.clip = "rect(0px 0px 0px 0px)";
	var stepClip = 10;
	var curWid = clipValues(dvCal, 'r');
	var curHei = clipValues(dvCal, 'b');
	if(curWid > 0 || curHei > 0)
	{
		if(curWid > 0) { curWid -= stepClip; }
		else { curWid = 0; }
		if(curHei > 0) { curHei -= stepClip; }
		else { curHei = 0; }
		clipTo(dvCal, 0, curWid, curHei, 0);
		setTimeout("ANIM_ChiusuraCalendario()",10);
	}
	else { dvCal.className = 'HideClass'; }
}
function ApriCalendario(Tipo, Img, IDUC, Lang)
{
	// Preparazione Url Calendario
	var url = PreparaUrlCalendario(Tipo, IDUC, Lang);

	var dvCont = FindCtrl(idDvCalCont);
	
	dvCont.innerHTML = '';
	dvCont.innerHTML = '<center><br><br><br>Loading, please wait...</center>';

	// Animazione di apertura
	ANIM_AperturaCalendario(Img); 

	// Recupero HTML Calendario;
	AJAX_RecuperaCalendario(url, dvCont, Img);
}
function ChiudiCalendario() { ANIM_ChiusuraCalendario(); }
function AggiornaCalendario(Tipo, Giorno, Mese, Anno, IDUC, Lang)
{
	var url = PreparaUrlCalendario(Tipo, IDUC, Lang);

	var reD = /&GIORNO=/;
	var reM = /&MESE=/;
	var reA = /&ANNO=/;

	url = url.replace(reD, '&GIORNO=' + Giorno);
	url = url.replace(reM, '&MESE=' + Mese);
	url = url.replace(reA, '&ANNO=' + Anno);

	var Img = FindCtrl(IDUC + ((Tipo == '0') ? 'imgDA' : 'imgDP'));
	AJAX_RecuperaCalendario(url, FindCtrl(idDvCalCont), Img);
	
}
function ImpostaGiorno(Tipo, Giorno, Mese, Anno)
{
	// Animazione di chiusura
	ANIM_ChiusuraCalendario();

	ControllaGiorni(Tipo, Giorno, Mese, Anno);
}

function AJAX_RecuperaCalendario(url, divContenitore, img)
{
	GetXml();
	xmlHttp.onreadystatechange = function()
	{
		// AJAX_RecuperaCalendario_CallBack;
		if (xmlHttp.readyState == 4 || 
			xmlHttp.readyState == 'complete')
		{
			var response = xmlHttp.responseText;
			
			var strIni = "<!--#JSInculde-->";
			var strEnd = "<!--#JSInculdeEnd-->";
			
			var idxIni = response.indexOf(strIni) + 17;
			var idxEnd = response.indexOf(strEnd) - 1;

			var txt = response.substring(idxIni, idxEnd);
			
			if(divContenitore != null)
			{
				try
				{ 
					divContenitore.innerHTML = '';
					divContenitore.innerHTML = txt; 
				}
				catch(e) {}
			}
		}
	}
	//url = 'http://' + self.location.hostname + '/' + url;
	url = url;
	SendXmlHttpRequest(xmlHttp, url);
}
