// JScript File

function GuardarDatosRT(elem, numOpcionIda,numOpcionVuelta,tarifa,grid)
{
    //Asignamos los valores necesarios para pasar al Plan de viaje
    $get('ctl00_MainContentPlaceHolder_VueloIdaOculto').value    = numOpcionIda;
    $get('ctl00_MainContentPlaceHolder_VueloVueltaOculto').value = numOpcionVuelta;
    if(elem.tagName=='INPUT')
        $get('ctl00_MainContentPlaceHolder_TarifaOculto').value = tarifa;
    else
        $get('ctl00_MainContentPlaceHolder_TarifaOculto').value = elem.options[elem.selectedIndex].text;
    
    
    //Deseleccionamos el radiobutton pulsado anteriormente
    if($get('ctl00_MainContentPlaceHolder_UC_DispRT1_NombreInputButton').value!="")
    {
        var input = $get('ctl00_MainContentPlaceHolder_UC_DispRT1_NombreInputButton').value.split("@")[0];
        var grid  = $get('ctl00_MainContentPlaceHolder_UC_DispRT1_NombreInputButton').value.split("@")[1];
        
        if( input != "" )   //Deschequeamos
            if(elem.tagName=='INPUT')
                $get(''+input+'').checked = false; 
            else
                $get(''+input+'').selectedIndex = 0;
            
        if( grid != "" )    //pintamos de blanco la celda
            $get(''+grid+'').bgcolor = "#ffffff"; 
    }
        
    //Guardamos el nombre del radioButton seleccionado
    //Metemos un InputButton con un nombre especial que guardamos para poder deseleccionar/seleccionar
    //dentro del grid de datos (groupname, solo funciona x filas)
    $get(''+grid+'').bgcolor = "#7f7f7f";  //Pintamos de grid las celdas nulas
    $get('ctl00_MainContentPlaceHolder_UC_DispRT1_NombreInputButton').value = elem.id+"@"+grid;
}

function GuardarDatosVuelo(event, elem, datos_vuelos, tipo, numfila, tiempoentrevuelos)
{
    var fechasvalidas = true;
    var vuelo = null;
    var AsigVuelo = null;
    var TablaAux = null;
    var Ida;
    var escala = false;
    
    if (tipo == 'Vuelta')
    {
        //TablaAux = $get('ctl00_MainContentPlaceHolder_TablaVueltaSinRestricciones');
        TablaAux = $get('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla2_TablaVueltaSinRestricciones');
        vuelo = document.getElementById('ctl00_MainContentPlaceHolder_VueloIdaOculto').value;
        AsigVuelo = document.getElementById('ctl00_MainContentPlaceHolder_VueloVueltaOculto');
        Ida = false;
    }
    else if(tipo == 'Ida')
    {
        //TablaAux = document.getElementById('ctl00_MainContentPlaceHolder_TablaIdaSinRestricciones');        
        TablaAux = $get('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaIdaSinRestricciones');
        vuelo = document.getElementById('ctl00_MainContentPlaceHolder_VueloVueltaOculto').value;
        AsigVuelo = document.getElementById('ctl00_MainContentPlaceHolder_VueloIdaOculto');
        Ida = true;
    }
    else
    {
        TablaAux = $get('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaSoloIda');
        //TablaAux = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaIdaSinRestricciones');        
        AsigVuelo = document.getElementById('ctl00_MainContentPlaceHolder_VueloIdaOculto');
        Ida = true;        
    }
    
    if (vuelo != null && vuelo != "")
    {
        fechasvalidas = ComprobarFechas(tiempoentrevuelos);
    }
                        
    if(fechasvalidas)
    {   
        //Cerramos la capa de avisos si existe algun error anterior
        document.getElementById("capaAvisosError").style.visibility = "hidden";
	    document.getElementById("bodyCapa").style.display = "none";
                       
        var color='#EEEEEE';
                
        for(i=0;i<TablaAux.rows.length;i++)
        {
            if (TablaAux.rows[i].cells[0].childNodes.length > 0)
            {
                if (TablaAux.rows[i].cells[0].firstChild.checked)
                {
                    TablaAux.rows[i].style.background=color;
                    TablaAux.rows[i].style.cursor='hand';
                    TablaAux.rows[i].cells[0].style.background='white';
                    
                    if(TablaAux.rows[i].cells[7].childNodes[0].type=="text")
                    {
                        TablaAux.rows[i].cells[7].childNodes[0].style.background=color;
                    }
                                       
                    //TARIFA SELECCIONADA
                    if(TablaAux.rows[i].cells[7].childNodes.length>2)
                    {
                        select=TablaAux.rows[i].cells[7].childNodes[1];
                    }
                    else
                    {
                        select=TablaAux.rows[i].cells[7].childNodes[0];
                    }
                    
                    GuardarTarifa(Ida, select, null);
                                    
                    AsigVuelo.value = datos_vuelos;
                    
                    escala = true;
                }
                else
                {
                    if (escala)
                    {
                        if (TablaAux.rows[i].cells[0].firstChild.type == "")
                        {
                            TablaAux.rows[i].style.background=color;
                        }
                        else
                        {
                            TablaAux.rows[i].style.background='white';
                        }
                        
                        escala = false;
                    }
                    else
                    {
                        TablaAux.rows[i].style.background='white';
                    }
                }                
            }
            else
            {
                if (escala)
                {
                    if(TablaAux.rows[i].cells[7].childNodes.length==0)
                    {
                        TablaAux.rows[i].style.background=color;
                        TablaAux.rows[i].childNodes[0].style.background='white';
                        TablaAux.rows[i].childNodes[7].style.background='white';                                                
                    }
                    
                    escala = false;
                }
            }
        }                             
    }
    else
    {        
        var navegador=window.navigator.appName;
                
        if(navegador!="Netscape")
        {
            //TODAS LAS FILAS A BLANCO    
            for(i=0;i<TablaAux.rows.length;i++)
            {
                TablaAux.rows[i].style.background='white';

                if (TablaAux.rows[i].cells[0].childNodes.length > 0)
                {                
                    if(TablaAux.rows[i].cells[0].firstChild.checked)
                    {
                        TablaAux.rows[i].cells[0].firstChild.checked=false;                                    
                    }
                    
                    //COLUMNA TARIFA
                    if(TablaAux.rows[i].cells[7].childNodes[0].type=="text")
                    {
                        TablaAux.rows[i].cells[7].childNodes[0].style.background='white';
                    }                
                }
            }
        }
        
        AsigVuelo.value = "";

        BuscarErrorCache(event,'82500005');//_DISP_ERR_SEL_VUELO_VUELTA_HORA        
    }
}

function ComprobarFechas(tiempoentrevuelos)
{
    var horaIda;
    var horaVuelta;


    var TablaIda = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaIdaSinRestricciones');
    var TablaVuelta = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla2_TablaVueltaSinRestricciones');
    var FechaIda = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_lblIda').innerHTML;
    var FechaVuelta = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla2_lblVuelta').innerHTML;
    
    //Desmontamos la fecha para comprobar si es la misma
    var FechaIda2 = FechaIda.split(',');
    var FechaVuelta2 = FechaVuelta.split(',');
    var FechaIdaAux = FechaIda2[1].split(' ');
    var FechaVueltaAux = FechaVuelta2[1].split(' ');    

    if ((FechaIdaAux[1] == FechaVueltaAux[1]) && (FechaIdaAux[3] == FechaVueltaAux[3]) && (FechaIdaAux[5] == FechaVueltaAux[5]))
    {
        for(i=0;i<TablaIda.rows.length;i++)
        {
            if(TablaIda.rows[i].cells[0].firstChild.checked)
            {
                horaIda=TablaIda.rows[i].cells[4].firstChild.data.split(":");
                break;
            }
        }
        
        for(i=0;i<TablaVuelta.rows.length;i++)
        {
            if(TablaVuelta.rows[i].cells[0].firstChild.checked)
            {
                horaVuelta=TablaVuelta.rows[i].cells[3].firstChild.data.split(":");
                break;
            }
        }

        var minutos = horaVuelta[1] - horaIda[1];
        var horas = horaVuelta[0] - horaIda[0];
        //Margen de una hora entre la llegada del vuelo de ida y la salida del de vuelta
        minutos = minutos + (horas * 60) - tiempoentrevuelos;

        if (minutos < 0)
        {
            return false;
        }
    }
    
    return true;
}

function GuardarTarifa(Ida, fila, tipo)
{
    if (Ida)
    {
        var tarifa=document.getElementById('ctl00_MainContentPlaceHolder_TarifaIdaOculto');
        
        if (fila == null)
        {
            var TablaIda;
            
            if(tipo == "SoloIda")
            {
                TablaIda = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaSoloIda');
            }
            else
            {
                TablaIda = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla1_TablaIdaSinRestricciones');
            }
            
            ObtTarifa(TablaIda, tarifa);            
        }
        else
        {
            tarifa.value = fila.options[select.selectedIndex].value;
        }
    }
    else
    {
        var tarifa=document.getElementById('ctl00_MainContentPlaceHolder_TarifaVueltaOculto');
    
        if (fila == null)
        {
            var TablaVuelta = document.getElementById('ctl00_MainContentPlaceHolder_UC_DispOW1_UC_DispOW_Tabla2_TablaVueltaSinRestricciones');
            
            ObtTarifa(TablaVuelta, tarifa);
        }
        else
        {
            tarifa.value = fila.options[select.selectedIndex].value;
        }    
    }   
}

function ObtTarifa(TablaAux, campoTarifa)
{
    for(i=0;i<TablaAux.rows.length;i++)
    {
        if(TablaAux.rows[i].cells[0].firstChild.checked)
        {                         
            //TARIFA SELECCIONADA
            if(TablaAux.rows[i].cells[7].childNodes.length>2)
            {
                select=TablaAux.rows[i].cells[7].childNodes[1];
            }
            else
            {
                select=TablaAux.rows[i].cells[7].childNodes[0];
            }

            campoTarifa.value = select.options[select.selectedIndex].value;

            break;                        
        }
    }                               
}

function VerificaHora(elem)
{
    var Hora = elem.value
    var Validator = $get('ctl00_MainContentPlaceHolder_txtHoraValidator');
    
    if ((Hora != "") && (Validator.isvalid))
    {
        if ((Hora.substring(0,1) == 2) && (Hora.substring(1,2) > 3))
        {
            Validator.isvalid = false;
            Validator.style.visibility = 'visible'
        }
        else
        {
            Validator.isvalid = true;
            Validator.style.visibility = 'hidden'            
        }
    }
}

//Muestra errores si falta algún parámetro de búsqueda
function mostrarErroresDatosVuelo(event,elem)
{
    var Busqueda;
    if(elem.id=="ctl00_MainContentPlaceHolder_cmdBuscarHorarios")
    {    
        var lstOrigen=document.getElementById("ctl00_MainContentPlaceHolder_UC_OriDest1_lstOrigen" );
        var lstDestino=document.getElementById("ctl00_MainContentPlaceHolder_UC_OriDest1_lstDestino" );
//        var lstMesAnioIda=document.getElementById("ctl00_MainContentPlaceHolder_lstMesAnioIdaInfoVuelo2" );
//        var lstDiaIda=document.getElementById("ctl00_MainContentPlaceHolder_lstDiaIdaInfoVuelo2" );
        var Validator = $get('ctl00_MainContentPlaceHolder_txtHoraValidator');
        Busqueda="Horario";
    }
    else
    {    
        var txtnumVuelo=document.getElementById("ctl00_MainContentPlaceHolder_txtNumVuelo");
        var Validator = $get('ctl00_MainContentPlaceHolder_NumVueloValidator');        
        Busqueda="InfoVuelo";
    }

    if(Busqueda=="InfoVuelo")
    {
        if(txtnumVuelo.value=="")
        {
            BuscarErrorCache(event,"82000007");//"_BUSQ_ERR_NUM_VUELO");
            return false;
        } 
    }
    else
    {   
        if(lstOrigen.value=="Origen")
        {
            BuscarErrorCache(event,"82000001");//"_BUSQ_ERR_ORIGEN");
            return false;
        }
//        else if(lstDestino.value=="Destino")
        else
        {
            if(lstDestino.value=="Destino")
            {
                BuscarErrorCache(event,"82000002");//"_BUSQ_ERR_DESTINO");
                return false;
            }
        }
    }
    
    return Validator.isvalid;
}


function CapaInfoVuelo(elem,direccion)
{
   abrirCapa("capaInfoVuelo");
   window.open(direccion,"infoVuelo","toolbars=no,menubar=no,scrollbars=no,resizable=no");
}



function InfoTarifas(elem, tipo, IdaVuelta)
{
     var padre=elem.parentElement; 
     var descripcion;
     var tarifa;
     var navegador=window.navigator.appName;
     var tabla;
       
     //Si es la mmatriz de IV con restricciones
     if(tipo=="SinRestricciones")
     {
        if(navegador=="Netscape")
        {
              fila=elem.parentNode.parentNode;
               
              //Columna de las tarifas
              s=fila.childNodes[13].childNodes[0];
        }
        else
        {
            fila=elem.parentElement.parentElement;
            
            //Columna de las tarifas
            s=fila.childNodes[7].childNodes[0];
        }
     }
     else
     {
        if(navegador=="Netscape")
        {
            s=elem.parentNode.childNodes[1];
        }
        else
        {
             //Tarifas   
            s=padre.childNodes[1];
        }
     }
  
    //Tomamos el valor del select 
//    if(s.type=="text")
//    {
//           if(navegador=="Netscape")
//           {
//                select=fila.childNodes[13].childNodes[1];
//           }
//           else
//           {
//                select=fila.childNodes[7].childNodes[1];
//           }
//            
//           tarifa=select.options[select.selectedIndex].value;
//           descripcion=s.value;

//    }
//    else
//    {
   
     tarifa=s.options[s.selectedIndex].value; 
     descripcion=s.options[s.selectedIndex].text;
//    }

    direccion = ObtDireccion('PopUpCondicionesTarifarias');
    direccion += "?Clase=" + tarifa+"-"+descripcion.substr(descripcion.length-1,descripcion.length);

    abrirCapa("capaInfoTarifa");

    window.open(direccion,"infoTarifa","toolbars=no,menubar=no,scrollbars=no,resizable=no");

     if(tipo!="SinRestricciones")
     {
        var frame = document.getElementById("frameInfoTarifa");
        var body = document.getElementById("bodyInfoTarifa");
        var cuad = document.getElementById("cuadInfoTarifa");
        frame.style.height="310px";
        body.style.height="310px";
        cuad.style.height="310px";
     }
}

//Controla que los campos de vueloIda y vuelo vuelta tenga valores para pasar al plan de viaje
function ErroresDisponibilidad(event,tipoDisponibilidad)
{
    if(tipoDisponibilidad=="False")
    {
        var VueloIda = document.getElementById('ctl00_MainContentPlaceHolder_VueloIdaOculto').value;
        
        if (VueloIda == "")
        {
           BuscarErrorCache(event,"82500002");//_DISP_ERR_SEL_VUELO_IDA
           return false;
        }
    }
    else if(tipoDisponibilidad=="True")
    {     
        var VueloIda = document.getElementById('ctl00_MainContentPlaceHolder_VueloIdaOculto').value;
        
        if (VueloIda == "")
        {
              BuscarErrorCache(event,"82500002");//_DISP_ERR_SEL_VUELO_IDA
              return false;
        }
        else
        {
            var VueloVuelta = document.getElementById('ctl00_MainContentPlaceHolder_VueloVueltaOculto').value;   
            
            if (VueloVuelta == "")    
            {
                BuscarErrorCache(event,"82500003");//_DISP_ERR_SEL_VUELO_VUELTA
                return false;
            }
        }
    }
    
    return true;
}

