﻿// JScript File
function MostrarDiponibilidad(elem,datos_fechas,direccion)
{
    var fechas;
    var direccion;

    if (document.getElementById)
        fechas=document.getElementById("ctl00_MainContentPlaceHolder_FechasOculto");
    else
        fechas=document.getElementById["ctl00_MainContentPlaceHolder_FechasOculto"];

    fechas.value=datos_fechas;
    //direccion = "/pb/Disponibilidad_es_.aspx";
    direccion += "?Fechas=" + fechas.value;
   
    window.location=direccion;
}

function MouseOver(elem)
{
    elem.style.cursor='hand';
    elem.style.background='#EEEEEE';
}

function MouseOut(elem,color)
{
    elem.style.cursor='';
    elem.style.background=color;
}

function DiasMes(elem, obtcalendar)
{
    var Mes = null;
    
    if (elem.id=="ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo")
    {   
        lstDiaIda=document.getElementById("ctl00_MainContentPlaceHolder_lstDiaIdaInfoVuelo");
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo");
        
        Mes=lstMesAnioIda.options[lstMesAnioIda.selectedIndex].text.split(" ");
        
        AsignarDias(lstDiaIda, Mes, obtcalendar, false);
    }
    else if (elem.id=="ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo2")
    {
        lstDiaIda=document.getElementById("ctl00_MainContentPlaceHolder_lstDiaIdaInfoVuelo2");
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo2");
        
        Mes=lstMesAnioIda.options[lstMesAnioIda.selectedIndex].text.split(" ");
        
        AsignarDias(lstDiaIda, Mes, obtcalendar, false);
    }
    else
    {
        lstDiaIda=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaIda");
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstMesAnioIda");    
        lstDiaVuelta=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaVuelta");
        lstMesAnioVuelta=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstMesAnioVuelta");
        
        if (elem.id=="ctl00_MainContentPlaceHolder_UC_Buscador1_lstMesAnioIda")
        {
            Mes=lstMesAnioIda.options[lstMesAnioIda.selectedIndex].text.split(" ");
            AsignarDias(lstDiaIda, Mes, obtcalendar, true);

            if (lstMesAnioVuelta != null)
            {
                if (lstMesAnioIda.selectedIndex > lstMesAnioVuelta.selectedIndex)
                {
                    Mes=lstMesAnioIda.options[lstMesAnioIda.selectedIndex].text.split(" ");            
                    lstMesAnioVuelta.selectedIndex = lstMesAnioIda.selectedIndex;
                    AsignarDias(lstDiaVuelta, Mes, obtcalendar, false);
                }
                else if (lstMesAnioIda.selectedIndex == lstMesAnioVuelta.selectedIndex)
                {
                    if (lstDiaIda.selectedIndex > lstDiaVuelta.selectedIndex)
                    {
                       lstDiaVuelta.selectedIndex = lstDiaIda.selectedIndex;
                    }
                }
            }            
        }
        else
        {   
            if (lstMesAnioIda.selectedIndex > lstMesAnioVuelta.selectedIndex)
            {
                lstMesAnioVuelta.selectedIndex = lstMesAnioIda.selectedIndex;
                
                if (lstDiaIda.selectedIndex > lstDiaVuelta.selectedIndex)
                {
                   lstDiaVuelta.selectedIndex = lstDiaIda.selectedIndex;
                }
            }
            else if (lstMesAnioIda.selectedIndex == lstMesAnioVuelta.selectedIndex)
            {
                if (lstDiaIda.selectedIndex > lstDiaVuelta.selectedIndex)
                {
                   lstDiaVuelta.selectedIndex = lstDiaIda.selectedIndex;
                }
                else
                {
                   if (lstDiaIda.options.length < lstDiaVuelta.options.length)
                   {
                        Mes=lstMesAnioVuelta.options[lstMesAnioVuelta.selectedIndex].text.split(" ");            
                        AsignarDias(lstDiaVuelta, Mes, obtcalendar, false);
                        lstDiaVuelta.selectedIndex = lstDiaIda.selectedIndex;                   
                   }
                }
            }
            else
            {
                Mes=lstMesAnioVuelta.options[lstMesAnioVuelta.selectedIndex].text.split(" ");            
                AsignarDias(lstDiaVuelta, Mes, obtcalendar, false);
            }
        }
    }    
}

function FechaNacimientoMesAnio(indice, fechaIda, anios)
{
    var indiceAux;

    if (indice < 10)
    {
        indiceAux = '0' + indice;
    }
    else
    {
        indiceAux = indice;
    }
    
    var Dias = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlDiaNac';
    var Meses = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlMesNac';
    var Anios = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlAnoNac';
    
    var DropDlDiaNa = $get(Dias);    
    var DropDlMesNac = $get(Meses);
    var DropDlAnoNac = $get(Anios);
    
    var Mes = new Array(2);
    Mes[0] = DropDlMesNac.options[DropDlMesNac.selectedIndex].text;
    Mes[1] = DropDlAnoNac.options[DropDlAnoNac.selectedIndex].text;

    var fecha = new Date();
        
    if ((DropDlMesNac.selectedIndex >= fecha.getMonth()) && (DropDlAnoNac.options[DropDlAnoNac.selectedIndex].text == fecha.getFullYear()))
    {
        DropDlMesNac.selectedIndex = fecha.getMonth();
        
        AsignarDias(DropDlDiaNa, Mes, false, false);   
         
        FechaNacimientoDia(indice, fechaIda, anios, DropDlDiaNa, DropDlMesNac, DropDlAnoNac);
    }
    else
    {
        AsignarDias(DropDlDiaNa, Mes, false, false);
        
        VerificarFechaNac(indiceAux, DropDlDiaNa, DropDlMesNac, DropDlAnoNac, fechaIda, anios);
    }    
}

function FechaNacimientoDia(indice, fechaIda, anios, DropDlDiaNa, DropDlMesNac, DropDlAnoNac)
{
    var indiceAux;

    if (indice < 10)
    {
        indiceAux = '0' + indice;
    }
    else
    {
        indiceAux = indice;
    }
    
    if (DropDlDiaNa == 0)
    {
        var Dias = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlDiaNac';
        var Meses = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlMesNac';
        var Anios = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlAnoNac';
        
        DropDlDiaNa = $get(Dias);
        DropDlMesNac = $get(Meses);
        DropDlAnoNac = $get(Anios);
    }
    
    var fecha = new Date();
    
    if (DropDlAnoNac.options[DropDlAnoNac.selectedIndex].text == fecha.getYear())
    {
        if (DropDlMesNac.selectedIndex == fecha.getMonth())
        {
            if (DropDlDiaNa.options[DropDlDiaNa.selectedIndex].text > fecha.getDate())
            {
                DropDlDiaNa.selectedIndex = fecha.getDate() - 1;
            }
        }    
    }
    
    VerificarFechaNac(indiceAux, DropDlDiaNa, DropDlMesNac, DropDlAnoNac, fechaIda, anios);
}

function VerificarFechaNacCustom(source, args)
{
    var anios;

    var indice = source.id.split('_');
    indice = indice[indice.length - 2];
    indice = indice.substring(3,5);
    
    var GuardaDias = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_FechaIdaVuelo');
    
    var TipoPasajero = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indice + '_LblTipoPasajero').innerHTML;
    
    if (TipoPasajero == "Niño ")
    {
        anios = 11;
    }
    else
    {
        anios = 2;
    }
    
    var Error = VerificarFechaNac(indice, 0, 0, 0, GuardaDias.value, anios);
    
    args.IsValid = Error;
}

function VerificarFechaNac(indiceAux, DropDlDiaNa, DropDlMesNac, DropDlAnoNac, fechaIda, anios)
{
    var fechaIdaAux;

    if (DropDlDiaNa == 0)
    {    
        var Dias = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlDiaNac';
        var Meses = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlMesNac';
        var Anios = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlAnoNac';
        
        DropDlDiaNa = $get(Dias);
        DropDlMesNac = $get(Meses);
        DropDlAnoNac = $get(Anios);        
    }
    
    //Formato de la fecha
    if (fechaIda.indexOf('/') == -1)
    {
        fechaIda = fechaIda.split(',');
        
        fechaIdaAux = new Array(3);
        fechaIdaAux[0] = fechaIda[2];
        fechaIdaAux[1] = fechaIda[1];
        fechaIdaAux[2] = fechaIda[0];    
    }
    else
    {
        fechaIdaAux = fechaIda.split('/');    
    }

    if (fechaIdaAux[1].toString().substring(0,1) == '0')
    {
        fechaIdaAux[1] = fechaIdaAux[1].substring(1,2);
    }
    
    if (fechaIdaAux[0].toString().substring(0,1) == '0')
    {
        fechaIdaAux[0] = fechaIdaAux[0].substring(1,2);
    }
    
    fechaIdaAux[1] = parseInt(fechaIdaAux[1]);
    fechaIdaAux[0] = parseInt(fechaIdaAux[0]);
    
    var anio = DropDlAnoNac.options[DropDlAnoNac.selectedIndex].value;
    var mes = DropDlMesNac.options[DropDlMesNac.selectedIndex].value;
    var dia = DropDlDiaNa.selectedIndex + 1;

    var ErrFecha = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_ErrFecha';
    var ValidadorErrFecha = $get(ErrFecha);
    
    if (anios == 11)
    {
        ValidadorErrFecha.isvalid = VerificarFechaNacChd(anio, mes, dia, fechaIdaAux, anios);
    }
    else
    {
        ValidadorErrFecha.isvalid = VerificarFechaNacInf(anio, mes, dia, fechaIdaAux, anios);
    }
       
    if (ValidadorErrFecha.isvalid == false)
    {
        ValidadorErrFecha.style.visibility = 'visible';
    }
    else
    {
        ValidadorErrFecha.style.visibility = 'hidden';
    }
    
    return ValidadorErrFecha.isvalid;
}

function VerificarFechaNacChd(anioSel, mesSel, diaSel, fechaIdaAux, anios)
{
    var Valido = true;
    
    if ((anioSel == (parseInt(fechaIdaAux[2]) - anios)) || (anioSel == (parseInt(fechaIdaAux[2]) - 2)))
    {
        //Verificar si lo hace correctamente, problemas con conversiones (Victor)
        if (mesSel == fechaIdaAux[1])
        {
            if (diaSel == fechaIdaAux[0])
            {
                Valido = false;
            }
            else if (diaSel > fechaIdaAux[0])
            {
                if (anioSel == (parseInt(fechaIdaAux[2]) - 2))
                {
                    Valido = false;
                }
            }
            else
            {
                if (anioSel == (parseInt(fechaIdaAux[2]) - anios))
                {
                    Valido = false;
                }            
            }            
        }
        else if (mesSel < fechaIdaAux[1])
        {
            if (anioSel == (parseInt(fechaIdaAux[2]) - anios))
            {
                Valido = false;
            }
        }
        else
        {
            if (anioSel == (parseInt(fechaIdaAux[2]) - 2))
            {
                Valido = false;
            }
        }
    }
    else if (anioSel > (parseInt(fechaIdaAux[2]) - 2))
    {
        Valido = false;
    }
    
    return Valido;
}

function VerificarFechaNacInf(anioSel, mesSel, diaSel, fechaIdaAux, anios)
{
    var Valido = true;
    
    if (anioSel == (parseInt(fechaIdaAux[2]) - anios))
    {
        //Verificar si lo hace correctamente, problemas con conversiones (Victor)
        if (mesSel == fechaIdaAux[1])
        {
            if (diaSel == fechaIdaAux[0])
            {
                Valido = false;
            }
            else if (diaSel < fechaIdaAux[0])
            {
                Valido = false;
            }
        }
        else if (mesSel < fechaIdaAux[1])
        {
            Valido = false;
        }
    }
    
    return Valido;
}

function AsignarDias(lstAux, Mes, AsgDia, DiasOrigen)
{
    var Dias = 0, DiasAux = 0;
    var Longitud = 0;    

    switch (Mes[0])
    {
         case 'Enero':
         case 'Marzo':
         case 'Mayo':
         case 'Julio':
         case 'Agosto':
         case 'Octubre':
         case 'Diciembre':
              Dias=31;
              break;
              
         case 'Febrero':
              if ((Mes[1] % 4 == 0 && Mes[1] % 100 != 0) || Mes[1] % 400 == 0)
                 Dias=29;
              else 
                 Dias=28;
              break;
              
         default : 
              Dias=30;
    }
    
    if (DiasOrigen)
    {
        var NumDias = $get('ctl00_MainContentPlaceHolder_UC_Buscador1_NumDiasOrigen');             
        NumDias.value = Dias;
    }
    
    Longitud = parseInt(lstAux.options.length);
    DiasAux = Longitud - Dias;
    
    if (DiasAux > 0)
    {
        while(DiasAux > 0)
        {
            Longitud--;
            lstAux.remove(Longitud);
            DiasAux--;        
        }
    }
    else if (DiasAux < 0)
    {
        var LonTexto;
        Longitud += 1;
        
        while(DiasAux < 0)
        {
            if (Longitud < 10)
            {
                LonTexto = '0' + Longitud;
            }
            else
            {
                LonTexto = Longitud;
            }
        
            lstAux.options[Longitud - 1] = new Option(LonTexto,LonTexto);
            Longitud++;
            DiasAux++;        
        }        
    }

//    En el caso de que se quisiera asignar el día uno de cada mes
//    cuando el usuario modifique el mes    
//    if (AsgDia == true)
//        lstAux.selectedIndex = 0;        
}

function VerificarDia(elem)
{
    var CompIdaVuelta = false;
    
    if (elem.id == 'ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaIda' || elem.id == 'ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaVuelta')
    {
        lstDiaIda=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaIda");
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstMesAnioIda");    
        lstDiaVuelta=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstDiaVuelta");
        lstMesAnioVuelta=document.getElementById("ctl00_MainContentPlaceHolder_UC_Buscador1_lstMesAnioVuelta");   
        CompIdaVuelta = true;
    }
    else if (elem.id == 'ctl00_MainContentPlaceHolder_lstDiaIdaInfoVuelo')
    {
        lstDiaIda = elem;        
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo");    
        CompIdaVuelta = false;    
    }
    else
    {
        lstDiaIda = elem;
        lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo2");    
        CompIdaVuelta = false;
    }

    if (lstMesAnioIda.selectedIndex == 0)
    {
        var fecha = new Date();
        
        if (lstDiaIda.options[lstDiaIda.selectedIndex].value < fecha.getDate())
        {
            lstDiaIda.selectedIndex = fecha.getDate() - 1;
        }
    }
    
    if (CompIdaVuelta)
    {
        if (lstMesAnioVuelta != null)
        {
            if (lstMesAnioIda.selectedIndex == lstMesAnioVuelta.selectedIndex)
            {
                if (lstDiaVuelta.selectedIndex < lstDiaIda.selectedIndex)
                {
                    lstDiaVuelta.selectedIndex = lstDiaIda.selectedIndex;
                }
            }
        }
    }        
}

function GuardarFechasResumenPasajeros(NAdultos, NChlInf)
{
    var GuardaDias = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_Fechas');
    GuardaDias.value = "";
    
    var indiceAux;
    var i = NAdultos;
    var j;
    
    for (j = 0; j < NChlInf; j++)
    {
        if (i < 10)
        {
            indiceAux = '0' + i;
        }
        else
        {
            indiceAux = i;
        }    
         
        var Dias = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlDiaNac';
        var Meses = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlMesNac';
        var Anios = 'ctl00_MainContentPlaceHolder_UC_Datos_Pasajero1_UC_Rellenar_Pasajeros1_DtLPasajeros_ctl' + indiceAux + '_DropDlAnoNac';
    
        var DropDlDiaNa = $get(Dias);    
        var DropDlMesNac = $get(Meses);
        var DropDlAnoNac = $get(Anios);
        
        GuardaDias.value += DropDlAnoNac.options[DropDlAnoNac.selectedIndex].text + ',' + DropDlMesNac.options[DropDlMesNac.selectedIndex].value + ',' + DropDlDiaNa.options[DropDlDiaNa.selectedIndex].text + ';';

        i++;
    }
}