﻿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 = '';
var idConvenzione  = '';

// Parametri Avanzati
var idCategorie = '';
var idClassificazioni = '';
var idZone = '';
var idTipologie = '';
var idDisponibilita = '';
var idOrdinamento = '';


// 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 FiltraCamere(idNPersone, idNCamere, OldVal)
{
	var objNPersone = FindCtrl(idNPersone);
	var objNCamere = FindCtrl(idNCamere);
	var NPersone = parseInt(objNPersone[objNPersone.selectedIndex].value, 10);
	var NCamera = 0;
	if(OldVal != null && OldVal != "") { NCamera = parseInt(OldVal, 10); }
	else if(
		objNCamere.selectedIndex != -1 && 
		objNCamere[objNCamere.selectedIndex].value != ""
	) { NCamera = parseInt(objNCamere[objNCamere.selectedIndex].value, 10); }
	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, 10)) { objNCamere.options[k].selected = true; }
	}
}

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 (EvalDateFrom.trim() == EvalDateNow.trim() || EvalDateFrom.trim() > EvalDateNow.trim())
        {   
            if (EvalDateFrom.trim() < EvalDateTo.trim()) 
            {
                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 'EN':
            strDate = strMonth + '/' + strDay + '/' + strYear;
            break;
        case 'JP':
            strDate = strYear + '/' + strMonth + '/' + strDay;
            break;
        default:
            strDate = strDay + '/' + strMonth + '/' + strYear;
            break;
    }
      
    if(typeDate.trim() == '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 'EN':
	        DataObj.value = mm + '/' + gg + '/' + AnnoSel;
	        break;
	    case 'JP':
	        DataObj.value = AnnoSel + '/' + mm + '/' + gg;
	        break;
        default:
	        DataObj.value = gg + '/' + mm + '/' + AnnoSel;
	        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.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);
	    //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 oOrdinamento = eval(idOrdinamento); //FindCtrl(idOrdinamento);
    //var oHdnLoc = FindCtrl(idHdnLoc);
    var oHdnLoc = null;
    var oNome = FindCtrl(idNome);
    var oIDA = FindCtrl(idAlbergo);
    var oConv = FindCtrl(idConvenzione);

    var oCat = FindCtrl(idCategorie);
    var oCls = FindCtrl(idClassificazioni);
    var oZon = FindCtrl(idZone);
    var oTip = FindCtrl(idTipologie);
    
    var dd = oArrivoAnno.value + "|" + oArrivoMese.value + "|" + oArrivoGiorno.value;    
    var ad = oPartenzaAnno.value + "|" + oPartenzaMese.value + "|" + oPartenzaGiorno.value;
    
    if(dd.trim() == '||' && ad.trim() == '||')
    {
        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 ord = '';
    if(oOrdinamento != null)
        ord = oOrdinamento.value; //oOrdinamento[oOrdinamento.selectedIndex].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 cat = '';
    if(oCat != null)
        cat = oCat.value.removeSpace();
        
    var cls = '';
    if(oCls != null)
        cls = oCls.value.removeSpace();

    var zon = '';
    if(oZon != null)
        zon = oZon.value.removeSpace();

    var tip = '';
    if(oTip != null)
        tip = oTip.value.removeSpace();
        
	var conv = '';
	if(oConv != null && oConv.value != '')
		conv = oConv.value;
    

	var ChkGiorni = 30;
	var NGiorni = 0;

	if (dd != '' && ad != '')
	{
	    var DalGiorno = oArrivoGiorno.value;
	    var DalMese = oArrivoMese.value;
	    var DalAnno = oArrivoAnno.value;
	    var AlGiorno = oPartenzaGiorno.value;
	    var AlMese = oPartenzaMese.value;
	    var AlAnno = oPartenzaAnno.value;
	    var Pers = oPersone[oPersone.selectedIndex].value;
	    var Cams = oCamere[oCamere.selectedIndex].value;
    	
	    var DataArrivo = new Date(DalAnno, parseInt(DalMese, 10) - 1, DalGiorno);
	    var DataPartenza = new Date(AlAnno, parseInt(AlMese, 10) - 1, AlGiorno);
	    var MilliSecDiff = DataPartenza.valueOf() - DataArrivo.valueOf();
	    var NGiorni = parseInt(MilliSecDiff/1000/60/60/24, 10);

	    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('?CAT=') == -1) && (Url.indexOf('&CAT=') == -1))
        if(oCat != null && oCat != undefined && oCat.value != undefined && oCat.value != '' && oCat.value != 'undefined')
            Url = AddQueryString(Url, 'CAT', cat);
        //if((Url.indexOf('?CLS=') == -1) && (Url.indexOf('&CLS=') == -1))
        if(oCls != null && oCls != undefined && oCls.value != undefined && oCls.value != '' && oCls.value != 'undefined')
            Url = AddQueryString(Url, 'CLS', cls);
        //if((Url.indexOf('?ZON=') == -1) && (Url.indexOf('&ZON=') == -1))
        if(oZon != null && oZon != undefined && oZon.value != undefined && oZon.value != '' && oZon.value != 'undefined')
            Url = AddQueryString(Url, 'ZON', zon);
        if(oTip != null && oTip != undefined && oTip.value != undefined && oTip.value != '' && oTip.value != 'undefined')
            Url = AddQueryString(Url, 'TIP', tip);
        //if(nome != '')
        if(oNome != null && oNome != undefined && oNome.value != undefined && oNome.value != '' && oNome.value != 'undefined')
            Url = AddQueryString(Url, 'NOME', nome);
        if(oIDA != null && oIDA != undefined && oIDA.value != undefined && oIDA.value != '')
           { Url = AddQueryString(Url, 'IDA', oIDA.value);           
           }
          
        if(oConv != null && oConv != undefined && oConv.value != undefined && oConv.value != '' && oConv.value != 'undefined')
            Url = AddQueryString(Url, 'CNV', conv);
         
        if((oFLSoloPren != null) && (oFLSoloPren != undefined) && (oFLSoloPren.value != undefined) && (oFLSoloPren.value != ''))
        {
            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(oOrdinamento != null && oOrdinamento != undefined) // && oOrdinamento[oOrdinamento.selectedIndex].value != undefined && oOrdinamento[oOrdinamento.selectedIndex].value != '')
            Url = AddQueryString(Url, 'SORT', ord); //oOrdinamento[oOrdinamento.selectedIndex].value);
        
        Url = AddQueryString(Url, 'SEZ', 'HTL');
            
        var loading = '/loading.aspx?URL=' +  escape(Url);
 
        self.location.href = loading;
    }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.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;
}
var wndCal = null;
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 = 145;
	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);
	//var dvCont = "ctl00_CtnContenuto_incControlDettaglio_incBoxRicercaOrizzontale1dvCalInside";
	
	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);
	//alert('url, dvCont, Img: ' + url + '-' + dvCont.innerHTML + '-' + Img.src);
}
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)
{
	//alert("123: " + divContenitore.id);
	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);
}


