﻿// File JScript

function UpdateTextboxDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);
    
    var txtDep = document.getElementById(clientId + 'txtDep');
    txtDep.className = (txtDep.className == 'citta sprite') ? 'citta sprite' : 'citta sprite';

    var nation1 = document.getElementById(clientId + 'nation1');
    var departure = document.getElementById(clientId + 'departure');

    nation1.value = "";
    departure.value = "";
}
function UpdateTextboxArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);
    
    var txtArr = document.getElementById(clientId + 'txtArr');
    txtArr.className = (txtArr.className == 'citta sprite') ? 'citta sprite' : 'citta sprite';

    var nation2 = document.getElementById(clientId + 'nation2');
    var arrive = document.getElementById(clientId + 'arrive');

    nation2.value = "";
    arrive.value = "";
}
function UpdateFieldsDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var fullCode = objArgs.get_value();
    var testo;
    
    if (!fullCode) 
    {
        if (objArgs._item.parentElement && objArgs._item.parentElement.tagName == "LI")
        {
          if (objArgs._item.parentElement.attributes["_value"] != null)
            fullCode = objArgs._item.parentElement.attributes["_value"].value;
          else
            fullCode = objArgs._item.parentElement._value;
        }
        else if (objArgs._item.parentElement && objArgs._item.parentElement.parentElement.tagName == "LI")
          fullCode = objArgs._item.parentElement.parentElement.attributes["_value"].value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode._value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode.parentNode._value;              
        else
          fullCode = "";
          
        testo = (document.all) ? objArgs._item.parentNode.innerText : objArgs._item.parentNode.textContent;
    }
    else
    {
        testo = (document.all) ? objArgs._item.innerText : objArgs._item.textContent;
    }
    objSource.get_element().value = fullCode;

    var nation1 = document.getElementById(clientId + 'nation1');
    var departure = document.getElementById(clientId + 'departure');
    var txtDep = document.getElementById(clientId + 'txtDep');

    txtDep.className = 'citta sprite';

    if (fullCode == null || fullCode.length == 0)
    {
        txtDep.value = "";
        nation1.value = "";
        departure.value = "";
    }
    else
    {
        var codVolo = fullCode;
        if (fullCode.indexOf("#") > -1) codVolo = fullCode.substring(0, fullCode.indexOf("#"));
        nation1.value = codVolo.substring(0, 2);
        departure.value = codVolo.substring(3);
        
        testo = testo.substring(0, testo.indexOf(" ["));
//        testo = testo.replace("(",", ");
//        testo = testo.replace(")","");
        objSource.get_element().value = testo;
    }
}
function UpdateFieldsArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);
    
    var fullCode = objArgs.get_value();
    var testo;
    
    if (!fullCode) 
    {
        if (objArgs._item.parentElement && objArgs._item.parentElement.tagName == "LI")
        {
          if (objArgs._item.parentElement.attributes["_value"] != null)
            fullCode = objArgs._item.parentElement.attributes["_value"].value;
          else
            fullCode = objArgs._item.parentElement._value;
        }
        else if (objArgs._item.parentElement && objArgs._item.parentElement.parentElement.tagName == "LI")
          fullCode = objArgs._item.parentElement.parentElement.attributes["_value"].value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode._value;
        else if (objArgs._item.parentNode && objArgs._item.parentNode.parentNode.tagName == "LI")
          fullCode = objArgs._item.parentNode.parentNode._value;              
        else
          fullCode = "";
          
        testo = (document.all) ? objArgs._item.parentNode.innerText : objArgs._item.parentNode.textContent;
    }
    else
    {
        testo = (document.all) ? objArgs._item.innerText : objArgs._item.textContent;
    }
    objSource.get_element().value = fullCode;

    var nation2 = document.getElementById(clientId + 'nation2');
    var arrive = document.getElementById(clientId + 'arrive');
    var txtArr = document.getElementById(clientId + 'txtArr');

    txtArr.className = 'citta sprite';

    if (fullCode == null || fullCode.length == 0)
    {
        txtArr.value = "";
        nation2.value = "";
        arrive.value = "";
    }
    else
    {
        var codVolo = fullCode.substring(0, fullCode.indexOf("#"));
        var codHotel = fullCode.substring(fullCode.indexOf("#")+1);
        nation2.value = codVolo.substring(0, 2);
        arrive.value = codVolo.substring(3);
        
        var txtCities = document.getElementById(clientId + 'txtCities');
        if (txtCities != null)
        {
            var country = document.getElementById(clientId + 'country');
            var country_city = document.getElementById(clientId + 'country_city');
            
            country.value = codVolo.substring(0, 2);
            country_city.value = codHotel.substring(0,codHotel.indexOf("@"));
            txtCities.value = codHotel.substring(codHotel.indexOf("@")+1);
            fillcomboPoi(clientId + "poi_zone",'poi_'+ country_city.value);
        }
        
        testo = testo.substring(0, testo.indexOf(" ["));
//        testo = testo.replace("(",", ");
//        testo = testo.replace(")","");
        objSource.get_element().value = testo;
    }
}

function ClientPopulatedFlights(objSource, objArgs)
{
    if (objSource._currentPrefix != null)
    {
        var target = objSource.get_completionList();
        var prefix = objSource._currentPrefix.toLowerCase();
        var i;
        for (i = 0; i < target.childNodes.length; i++)
        {
            var sValue = target.childNodes[i].innerHTML.toLowerCase();
            if (sValue.indexOf(prefix) != -1)
            {
                if (sValue.indexOf("[" + prefix + "]") != -1) prefix = "[" + prefix + "]";
                var fstr = target.childNodes[i].innerHTML.substring(0, sValue.indexOf(prefix));
                var pstr = target.childNodes[i].innerHTML.substring(fstr.length, fstr.length + prefix.length);
                var estr = target.childNodes[i].innerHTML.substring(fstr.length + prefix.length, target.childNodes[i].innerHTML.length);
                var mmm1 = estr;
                var mmm2 = "";
                if (estr.indexOf(" (")> -1)
                {
                    mmm1 = estr.substring(0, estr.indexOf(" ("));
                    mmm2 = estr.substring(estr.indexOf(" ("),estr.length);
                    mmm2 = (mmm2.length > 1) ? "<br/><span class='txtSmall'>" + estr.substring(estr.indexOf(" (")+1,estr.length) + "</span>" : "";
                }
                if (prefix.indexOf("[")>-1 && prefix.indexOf("]")>-1)
                {
                    pstr = pstr.replace("[","").replace("]","");
                    target.childNodes[i].innerHTML = fstr + '[<b>' + pstr + '</b>]' + mmm1 + mmm2;
                }
                else
                    target.childNodes[i].innerHTML = fstr + '<b>' + pstr + '</b>' + mmm1 + mmm2;
            }
        }
    }
}

function VerificaSelezioneArr(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var arrive = document.getElementById(clientId + 'arrive');
    var txtArr = document.getElementById(clientId + 'txtArr');

    if (arrive.value == "")
    {
        //txtArr.value = "";
        txtArr.className = 'citta sprite';
        txtArr.focus();
        //return false;
    }
    else
    {
        //return true;
    }
}
function VerificaSelezioneDep(objSource, objArgs)
{
    var clientId = objSource.get_element().id;
    clientId = clientId.substring(0, clientId.lastIndexOf("_") + 1);

    var departure = document.getElementById(clientId + 'departure');
    var txtDep = document.getElementById(clientId + 'txtDep');

    if (departure.value == "")
    {
        //txtDep.value = "";
        txtDep.className = 'citta sprite';
        txtDep.focus();
        //return false;
    }
    else
    {
        //return true;
    }
}
function TypeChange(val)
{    
    var clientId = document.getElementById("clientId" + val).value + "_";
    var ritorno = document.getElementById(clientId + 'tipovolo_0');
    var andata = document.getElementById(clientId + 'tipovolo_1');
    var multiVolo = document.getElementById(clientId + 'tipovolo_2');
    
    var tipo = "";
    
    if (ritorno.checked) tipo = "return";
    if (andata.checked) tipo = "oneway";

    if (!multiVolo.checked) 
    {
        location.href = location_path + "risultati_volo.aspx?type=" + tipo;
    }
}
function ShowHideReturn(val)
{
    var clientId = document.getElementById("clientId" + val).value + "_";
    var multiVolo = document.getElementById(clientId + 'tipovolo_2');

    if (multiVolo != null && multiVolo.checked) 
    {
        location.href = location_path + "risultati_volo.aspx?type=multi";
        return;
    }

    var tipovolo = document.getElementById(clientId + 'tipovolo_1');
    var andata, ritorno;
    var ritorno_rfv, ritorno_rev;
    if (val == "Volo" || val == "VoloHotel")
    {
        andata = document.getElementById(clientId + 'andata');
        ritorno = document.getElementById(clientId + 'ritorno');
        ritorno_rfv = document.getElementById(clientId + 'ritorno_rfv');
        ritorno_rev = document.getElementById(clientId + 'ritorno_rev');
    }
//    else if (val == "VoloHotel")
//    {
//        andata = document.getElementById(clientId + 'date_checkin');
//        ritorno = document.getElementById(clientId + 'date_checkout');
//    }

    var oraRitorno = document.getElementById(clientId + 'oraRitorno');
    var spanSelectOraRitorno = document.getElementById('select' + oraRitorno.name);
    if (tipovolo.checked)
    {
        $calendar = $('#' + clientId + 'ritorno + img');
		if (val == "Volo" || val == "VoloHotel")
        {
            $('#' + clientId + 'ritorno').addClass('disattivo').attr({disabled:'disabled'});
			//alert($calendar);
			$calendar.css({"display":"none"});
            ValidatorEnable(ritorno_rfv, false);
            ValidatorEnable(ritorno_rev, false);
        }
        oraRitorno.disabled = true;
        if (spanSelectOraRitorno != null)
            spanSelectOraRitorno.className = "select disattivo";
    }
    else
    {
        if (val == "Volo" || val == "VoloHotel")
        {
            $('#' + clientId + 'ritorno').removeClass('disattivo').attr({disabled:''});
			$calendar.css({"display":"block"});
            ValidatorEnable(ritorno_rfv, true);
            ValidatorEnable(ritorno_rev, true);
        }
        oraRitorno.disabled = false;
        if (spanSelectOraRitorno != null)
        {
		    spanSelectOraRitorno.className = "select";
		    oraRitorno.disabled = false;
		}

        var andataToCheck = dataConvertiIn(andata.value, "primaAA");
        var ritornoToCheck = dataConvertiIn(ritorno.value, "primaAA");
        
        if (ritornoToCheck < andataToCheck)
            ritorno.value = sommaGiorni(andata.value, 1);
    }

    if (val == "VoloHotel" && !tipovolo.checked) {
        var date_checkout = document.getElementById(clientId + 'date_checkout');
        var date_checkoutToCheck = dataConvertiIn(date_checkout.value, "primaAA");
        if (date_checkoutToCheck > ritornoToCheck) date_checkout.value = ritorno.value;
        SetNights(clientId);
    }
}
function CheckEmptyCityVolo(val, fromTo)
{
    var clientId = val.substring(0, val.lastIndexOf("_") + 1);
    
    val = document.getElementById(val);
    if (val.value.length==0)
    {
        if (fromTo==1)
        {
            var country = document.getElementById(clientId + "nation1");
            var country_city = document.getElementById(clientId + "departure");
            country.value="";
            country_city.value="";
        }
        if (fromTo==2)
        {
            var country = document.getElementById(clientId + "nation2");
            var country_city = document.getElementById(clientId + "arrive");
            country.value="";
            country_city.value="";            
        }
    }
}
function CheckEmptyCityMultiVolo(val, fromTo)
{
    var clientId = val.substring(0, val.lastIndexOf("_") + 1);

    val = document.getElementById(val);
    if (val.value.length==0)
    {
        if (fromTo==1)
        {
            var country = document.getElementById(clientId + "nation1");
            var country_city = document.getElementById(clientId + "departure");
            country.value="";
            country_city.value="";
        }
        if (fromTo==2)
        {
            var country = document.getElementById(clientId + "nation2");
            var country_city = document.getElementById(clientId + "arrive");
            country.value="";
            country_city.value="";            
        }
    }
}

function SetReturnDateVolo(objSource)
{
    var clientIdVolo = document.getElementById("clientIdVolo").value + "_";
    var tipovolo = document.getElementById(clientIdVolo + "tipovolo_0");
    var tipovolo1 = document.getElementById(clientIdVolo + "tipovolo_1");
    var tipovolo2 = document.getElementById(clientIdVolo + "tipovolo_2");
        
    var msgError = "";
    
    //var retoday = sommaGiorni(dataOggi(), 1);
    var txtDataMinimum = document.getElementById(clientIdVolo + "txtDataMinimum");
    var retoday = txtDataMinimum.value;
    today =  dataConvertiIn(retoday, "primaAA");

    if (tipovolo!= null && tipovolo.checked)
    {
        var andata = document.getElementById(clientIdVolo + "andata");
        var ritorno = document.getElementById(clientIdVolo + "ritorno");

        var andataToCheck = dataConvertiIn(andata.value, "primaAA");
        var ritornoToCheck = dataConvertiIn(ritorno.value, "primaAA");
        
        if (!checkDate(andata.value))
        {
            alert(MsgCheckDates);
            selezionaCampo(andata, true);
            return;
        }
        else if (!checkDate(ritorno.value))
        {
            alert(MsgCheckDates);
            selezionaCampo(ritorno, true);
            return;
        }

        if (andataToCheck < today)
        {
            alert(MsgErrorDepMinDate);
            andata.value = retoday;
        }
        else if (ritornoToCheck < today)
        {
            alert(MsgErrorSearchArrAfterDep);
            ritorno.value = sommaGiorni(andata.value, 1);
        }
        else if (ritornoToCheck < andataToCheck)
        {
            if (objSource == ritorno) alert(MsgErrorSearchArrAfterDep);
            ritorno.value = sommaGiorni(andata.value, 1);
        }

        if (checkDate(andata.value) && checkDate(ritorno.value))
        {
//            $find('calExt1').set_selectedDate(Date.parseLocale(andata.value, "dd-MM-yyyy"));
//            $find('calExt2').set_selectedDate(Date.parseLocale(ritorno.value, "dd-MM-yyyy"));
        }
    }
    else if (tipovolo1 != null && tipovolo1.checked)
    {
        var andata = document.getElementById(clientIdVolo + "andata");
        var andataToCheck = dataConvertiIn(andata.value, "primaAA");
        
        if (!checkDate(andata.value))
        {
            alert(MsgCheckDates);
            selezionaCampo(andata, true);
            return;
        }
        
        if (andataToCheck < today)
        {
            alert(MsgErrorDepMinDate);
            andata.value = retoday;
        }
        
        if (checkDate(andata.value))
        {
            //$find('calExt1').set_selectedDate(Date.parseLocale(andata.value, "dd-MM-yyyy"));
        }
    }
    else if (tipovolo2 != null && tipovolo2.checked)
    {
        var routes = document.getElementById(clientIdVolo + "routes");
        var andataToCheck = dataConvertiIn(objSource.value, "primaAA");
        if (andataToCheck < today)
        {
            alert(MsgErrorDepMinDate);
            objSource.value = retoday;
        }
        else if (routes != null)
        {
            var bAlert = false;
            var nRoutes = parseInt(routes.value);
            var dataPrec;
            for (var i=0; i < nRoutes; i++)
            {
                var dataCurrent = document.getElementById(clientIdVolo + "multi0" + i + "_" + "depDate");
                if (i != 0)
                {
                    var dataAToCheck = dataConvertiIn(dataPrec, "primaAA");
                    var dataBToCheck = dataConvertiIn(dataCurrent.value, "primaAA");
                    if (dataBToCheck < dataAToCheck)
                    {
                        if (objSource == dataCurrent) bAlert = true;
                        dataCurrent.value = sommaGiorni(dataPrec, 1);
                    }
                }
                dataPrec = dataCurrent.value;
            }
            if(bAlert) alert(MsgErrorFlightaSearchRouteDateSequence);
        }
    }
    return msgError;
}

function MostraSuntoRicercaVolo()
{
    var clientIdVolo = document.getElementById("clientIdVolo").value + "_";
    var attendereRiepilogo = document.getElementById("divAttendereRicercaRiepilogo");
    if (attendereRiepilogo != null)
    {
        var tipovolo = document.getElementById(clientIdVolo + "tipovolo_0");
        var txtDep = document.getElementById(clientIdVolo + "txtDep");
        var txtArr = document.getElementById(clientIdVolo + "txtArr");
        var andata = document.getElementById(clientIdVolo + "andata");
        var ritorno = document.getElementById(clientIdVolo + "ritorno");
        var testo = "";
        testo += "<div class='attendere_row'>" + lblFrom + ": " + txtDep.value + "</div>";
        testo += "<div class='attendere_row'>" + lblTo + ": " + txtArr.value + "</div>";
        testo += "<div class='attendere_row'>" + lblDepartureDate + ": " + andata.value + "</div>";
        if (tipovolo.checked)
        {
            testo += "<div class='attendere_row'>" + lblReturnDate + ": " + ritorno.value + "</div>";
        }
        attendereRiepilogo.innerHTML = testo;
    }
}

function MostraSuntoRicercaMultiVolo()
{
    var clientId = document.getElementById("clientIdVolo").value + "_";
    var attendereRiepilogo = document.getElementById("divAttendereRicercaRiepilogo");
    if (attendereRiepilogo != null)
    {
        var tratte = document.getElementById(clientId + "routes");
        var testo = "";
        for (var x = 0; x < tratte.value; x++)
        {
            var controlId = clientId + "multi0" + x + "_";
            var txtDep = document.getElementById(controlId + "txtDep");
            var txtArr = document.getElementById(controlId + "txtArr");            
            var depDate = document.getElementById(controlId + "depDate");
            testo += "<div class='attendere_row'><b>" + lblRoute + " " + (x+1) + "</b></div>";
            testo += "<div class='attendere_row'>" + lblFrom + ": " + txtDep.value + "</div>";
            testo += "<div class='attendere_row'>" + lblTo + ": " + txtArr.value + "</div>";
            testo += "<div class='attendere_row'>" + lblDepartureDate + ": " + depDate.value + "</div>";
        }
        attendereRiepilogo.innerHTML = testo;
    }
}

function VerificaFormVolo(objSource, objArgs)
{
    var clientIdVolo = document.getElementById("clientIdVolo").value + "_";
    var bValid = true;
    var msgError = "";
    var bVoliMaxDaysValid = true;
    
    var tipovolo = document.getElementById(clientIdVolo + "tipovolo_0");

    var nation1 = document.getElementById(clientIdVolo + "nation1");
    var departure = document.getElementById(clientIdVolo + "departure");
    var txtDep = document.getElementById(clientIdVolo + "txtDep");

    if (txtDep.value == "")// || nation1.value == "" || departure.value == "")
    {
        msgError += MsgSelectDepApt + "\n";
        bValid = false;
    }
    
    var nation2 = document.getElementById(clientIdVolo + "nation2");
    var arrive = document.getElementById(clientIdVolo + "arrive");
    var txtArr = document.getElementById(clientIdVolo + "txtArr");

    if (txtArr.value == "")// || nation2.value == "" || arrive.value == "")
    {
        msgError += MsgSelectArrApt + "\n";
        bValid = false;
    }
      
    var dataVoloMax = dataConvertiIn(sommaGiorni(dataOggi(), VoliMaxDays),"primaAA");
    var andata = document.getElementById(clientIdVolo + "andata");
    var andataToCheck = dataConvertiIn(andata.value,"primaAA");    
    
    if (andataToCheck > dataVoloMax)
    {
        bVoliMaxDaysValid = false;
        bValid = false;
    }

    if (tipovolo.checked)
    {
        var ritorno = document.getElementById(clientIdVolo + "ritorno");
        var ritornoToCheck = dataConvertiIn(ritorno.value,"primaAA");

        if (ritornoToCheck < andataToCheck) 
        {
            msgError += MsgCheckDates + "\n";
            bValid = false;
        }
        
        if (bVoliMaxDaysValid && ritornoToCheck > dataVoloMax)
        {
            bVoliMaxDaysValid = false;
            bValid = false;
        }
    }
    
    //mostra errore date inoltrate
    if (!bVoliMaxDaysValid) msgError += MsgErrorFlightSearchMaxDays + "\n";
    
    if (txtDep.value == txtArr.value && txtDep.value != "")
    {
        msgError += MsgErrorFlightSearchSameCity + "\n";
        bValid = false;
    }
    
    var adults = document.getElementById(clientIdVolo + "adults");
    var student = document.getElementById(clientIdVolo + "student");
    var youth = document.getElementById(clientIdVolo + "youth");
    var children = document.getElementById(clientIdVolo + "children");
    var infant = document.getElementById(clientIdVolo + "infant");
    
    var iStudentsNum = parseInt(student.value);
    var iYouthsNum = parseInt(youth.value);
    
    var totGrandi = parseInt(adults.value) + iStudentsNum + iYouthsNum;
    var totPax = totGrandi + parseInt(children.value) + parseInt(infant.value);
    var totChildInf = parseInt(children.value) + parseInt(infant.value);
    
    if (totPax == 0)
    {
        msgError += MsgErrorSearchPaxZero + "\n";
        bValid = false;
    }
    else
    {
        if (totChildInf == totPax)
        {
            msgError += MsgErrorSearchOnlyPiccoli + "\n";
            bValid = false;
        }
        else if (parseInt(infant.value) > totGrandi)
        {
            msgError += MsgErrorSearchTooInfants + "\n";
            bValid = false;
        }
    }
       
    if (totPax > VoliMaxPax)
    {
        msgError += MsgErrorFlightSearchMaxPax + "\n";
        bValid = false;
    }
    
    if (bValid)
    {
        objArgs.IsValid = true;
        MostraSuntoRicercaVolo();
        ShowProgressRicerca();
    }
    else
    {
        objSource.errormessage = msgError;
        objArgs.IsValid = false;
    }
}

function VerificaFormMultiVolo(objSource, objArgs)
{
    var clientId = document.getElementById("clientIdVolo").value + "_";
    var bValid = true;
    var bRouteDateValid = true;
    var bVoliMaxDaysValid = true;
    var msgError = "";
    var routeDates = new Array();

    var tratte = document.getElementById(clientId + "routes");
    var dataVoloMax = dataConvertiIn(sommaGiorni(dataOggi(), VoliMaxDays),"primaAA");

    for (var x = 0; x < tratte.value; x++)
    {
        var controlId = clientId + "multi0" + x + "_";
    
        var nation1 = document.getElementById(controlId + "nation1");
        var departure = document.getElementById(controlId + "departure");
        var txtDep = document.getElementById(controlId + "txtDep");
        
        var nation2 = document.getElementById(controlId + "nation2");
        var arrive = document.getElementById(controlId + "arrive");
        var txtArr = document.getElementById(controlId + "txtArr");
        
        var depDate = document.getElementById(controlId + "depDate");
        
        var andataToCheck = dataConvertiIn(depDate.value,"primaAA");    
        
        //date inoltrate
        if (bVoliMaxDaysValid && andataToCheck > dataVoloMax)
        {
            bVoliMaxDaysValid = false;
            bValid = false;
        }

        if (txtDep.value == "" || txtArr.value == "") 
        {
            msgError += MsgErrorFlightSearchRouteApt + " " + (x+1) + ".\n";
            bValid = false;
        }
        if (depDate.value == "")
        {
            msgError += MsgErrorFlightSearchRouteDate + " " + (x+1) + ".\n";
            bValid = false;
        }
        if (txtDep.value == txtArr.value && txtDep.value != "")
        {
            msgError += MsgErrorFlightSearchRouteSameCity + " " + (x+1) + ".\n";
            bValid = false;
        }
        if (tratte.value > 1)
        {
            routeDates[x]=dataConvertiIn(depDate.value, "primaAA");
        }
    }
    
    //mostra errore date inoltrate
    if (!bVoliMaxDaysValid) msgError += MsgErrorFlightSearchMaxDays + "\n";
    
    //verifica sequenza date
    if (tratte.value > 1)
    {
        for (var x = 1; x < tratte.value; x++)
        {
            if (routeDates[x] < routeDates[x-1]) bRouteDateValid = false;
        }
    }
    if (!bRouteDateValid)
    {
        msgError += MsgErrorFlightaSearchRouteDateSequence + "\n";
        bValid = false;
    }

    var adults = document.getElementById(clientId + "adults");
    var student = document.getElementById(clientId + "student");
    var youth = document.getElementById(clientId + "youth");
    var children = document.getElementById(clientId + "children");
    var infant = document.getElementById(clientId + "infant");
    
    var totGrandi = parseInt(adults.value) + parseInt(student.value) + parseInt(youth.value);
    var totPax = parseInt(adults.value) + parseInt(student.value) + parseInt(youth.value) + parseInt(children.value) + parseInt(infant.value);
    var totChildInf = parseInt(children.value) + parseInt(infant.value);
    
    if (totPax == 0)
    {
        msgError += MsgErrorSearchPaxZero + "\n";
        bValid = false;
    }
    else
    {
        if (totChildInf == totPax)
        {
            msgError += MsgErrorSearchOnlyPiccoli + "\n";
            bValid = false;
        }
        else if (parseInt(infant.value) > totGrandi)
        {
            msgError += MsgErrorSearchTooInfants + "\n";
            bValid = false;
        }
    }  
    
    if (totPax > VoliMaxPax)
    {
        msgError += MsgErrorFlightSearchMaxPax + "\n";
        bValid = false;
    }

    if (bValid)
    {
        objArgs.IsValid = true;
        MostraSuntoRicercaMultiVolo();
        ShowProgressRicerca();
    }
    else
    {
        objSource.errormessage = msgError;
        objArgs.IsValid = false;
    }
}

//fa posizionare la combo del num tratte dopo un refresh della pagina
function MultiEditNumTratte()
{
    var nTratte = document.getElementById(clientId + "routes");
    var nTratteOld = document.getElementById(clientId + "routesOld");
    nTratte.value = nTratteOld.value;
}

function MultiEditTratte(val)
{
    var clientId = document.getElementById("clientIdVolo").value + "_";
    var depDate0 = document.getElementById(clientId + "multi00_depDate");
    for (var i=0; i<3; i++)
    {
        var liTratta = document.getElementById(clientId + "multi0" + i + "_liTratta");
        var depDateX = document.getElementById(clientId + "multi0" + i + "_depDate");
        var depDate_rfv = document.getElementById(clientId + "multi0" + i + "_rfvDepartureDate");
        var depDate_rev = document.getElementById(clientId + "multi0" + i + "_revDepartureDate");
        if (i<val)
        {
            ValidatorEnable(depDate_rfv, true);
            ValidatorEnable(depDate_rev, true);
            liTratta.style.display='';
            if (i > 0 && checkDate(depDate0.value)) depDateX.value = sommaGiorni(depDate0.value, i);
        }
        else
        {
            ValidatorEnable(depDate_rfv, false);
            ValidatorEnable(depDate_rev, false);
            liTratta.style.display='none';
        }
    }
}
