﻿var IdDropAdultos;
var IdDropNinos;
var IdDropBebes;
var IdDropOrigen;
var IdDropDestino;
var IdDropTarifas;
var IdCalendarioIda;
var IdCalendarioVuelta;
var IdCheckIda;
var IdBtnBuscarVuelos;
var PeticionCajetinEnCurso = false;
var IdBtnBuscarViajes;
var IdDropZonas;
var IdDropDestinos;
var IdDropMeses;
var DropDestinos;
var CapaEspera = "#capaEsperaMini";
var BusquedaViajesOk = false;
var labelIda = "#lblFechaIda";
var labelVuelta = "#lblFechaVuelta";
var ListadoVacacional = "#listadoVacacional";

var idPestanasInteriores = "#pestanasInteriores";
var idPestaListado = "#btnOfertas";
var idPestaMapa = "#btnMapa";
var idImgCerrarMapa = "#imgCerrarMapa";
var idLnkCerrarMapa = "#lnkCerrarMapa";
var idMiniLoader;

var inputCiudadOrigen;
var hiddenValueIdCiudadOrigen;
var hiddenTextoCiudadOrigen;
var inputCiudadDestino;
var hiddenValueIdCiudadDestino;
var hiddenTextoCiudadDestino;

var enum_PestaListado = 1;
var enum_PestaMapa = 2;
var mapaActivo = false;
var mapaInicializado = false;
var imgPestaListadoActivo= new Image();
var imgPestaListadoInactivo = new Image();
var imgPestaMapaActivo = new Image();
var imgPestaMapaInactivo = new Image();

var tipoMapa;
var enumTipoMapa_Vuelos = 1;
var enumTipoMapa_Ofertas = 2;

/* Inicio Capa Espera */
function ActivarEsperaBuscador(value) {    
    if (value) {
        $(CapaEspera).show();
    }
    else
        $(CapaEspera).hide();

}
/* Fin */


/* Inicio Inputs */

function CargarDestinos() {
    var idZona = $("#" + IdDropZonas).val();
    if (idZona > 0) {
        $(idMiniLoader).show();
        setTimeout(LanzaSolicitudDestinos, 1000);
    }
    else {
        var dropDestinos = $("#" + IdDropDestinos);
        InicializarDrop(dropDestinos);
        $("#" + IdDropMeses).attr("disabled","disabled");
    }
}

function InicializarDrop(drop) {
    drop.find("option").remove();
    var itemIndiferente = '<option value="-1">Indiferente</option>';
    drop.append(itemIndiferente);
    drop.attr("disabled", "disabled");
}

function LanzaSolicitudDestinos(idZona) {
    var idZona = $("#" + IdDropZonas).val();
    if (idZona > 0) {
        if (EstaPeticionAjaxActiva()) SolicitudAjax.abort();
        SolicitudAjax = $.ajax({ url: '/DestinosXAreaBuscador.ashx', type: 'POST', data: { Id: idZona }, dataType: 'json',
            success: CargaDropDestinos, error: AjaxError
        });
        PeticionCajetinEnCurso = true;
    }

}


function ErrorBusqueda() {
    ActivarEsperaBuscador(false);
    AjaxError();
}


function CargaDropDestinos(data) {
    $(idMiniLoader).hide();
    drop = $("#" + IdDropDestinos);
    drop.find("option").remove(); 
    $(data).each(function (n) {
        var nuevoDestino = '<option value="' + this.IdDestino + '">' + this.NombreDestino + '</option>';
        drop.append(nuevoDestino);
    })
    drop.attr("disabled", data.length > 0 ? "" : "disabled");
   $("#" + IdDropMeses).attr("disabled", data.length > 0 ? "" : "disabled");
}

/* Fin Inputs */




/* Inicio Eventos */
function BusquedaViajesClick() {

    if ($("#" + IdDropZonas).val() <= 0) {
        alert("Seleccione una zona antes de buscar");
        return false;
    } 
    ActivarEsperaBuscador(true);
    window.setTimeout("IniciaBusquedaVacacional();", 1000);
    return false;
}

function BusquedaVuelosClick() {

    
    if (!DatosMinimoBusquedaVuelosOK()) {    
        return false;
    }
    ActivarEsperaBuscador(true);
    window.setTimeout("IniciaBusquedaVuelos();", 1000);
    return false;
}
/* Fin Eventos */

/* Inicio Peticiones */

function DatosMinimoBusquedaVuelosOK() {

    var origen = $(hiddenValueIdCiudadOrigen).val();
    var destino = $(hiddenValueIdCiudadDestino).val();
    //if ($(rdbIdaVuelta)[0].checked)
    //alert($find(IdCalendarioVuelta).get_selectedDates().length);
    if (!(origen.length >= 1 && destino.length >= 1)) {
        alert("Complete todos los datos antes de buscar. Falta origen ó destino");
        return false;
    }
    if (origen == destino) {
        alert("La ciudad de destino debe ser distinta a la de origen");
        return false;
    }
    return true;
}


function ContinuaBusquedaVacacional(data) {

    if (data.hashBusqueda != 0) {
        document.location = "/ofertas/vacaciones.aspx?idBusqueda=" + data.hashBusqueda;
    }
    else {
        alert('No existen ofertas con estos parametros de busqueda');
        $(CapaEspera).hide();
    }
}

function IniciaBusquedaVacacional() {
    var idZona = $("#" + IdDropZonas).val();
    var idDestino = "-1";
    var mesSalida = "-1";
    if ($("#" + IdDropDestinos).val() != -1)
        idDestino = $("#" + IdDropDestinos).val();
    if ($("#" + IdDropMeses).val() != -1)
        mesSalida = $("#" + IdDropMeses).val();
    var idBusqueda = 1;
    SolicitudAjax = $.ajax({ url: '/SolicitudBusquedaHandler.ashx', type: 'POST', data: { idArea: idZona, idDestino: idDestino, fecha: mesSalida, idTipo: idBusqueda }, dataType: 'json',
    success: ContinuaBusquedaVacacional, error: ErrorBusqueda
        });
    PeticionCajetinEnCurso = true;
}

function IniciaBusquedaVuelos() {
    var idBusqueda = 3;
    var origen = $(hiddenValueIdCiudadOrigen).val();
    var destino = $(hiddenValueIdCiudadDestino).val();
    var fecha= $find(IdCalendarioIda).get_selectedDates()[0];
    var fechaIda =creaFecha(fecha);
    var adultos = $(IdDropAdultos).val();
    var ninos = $(IdDropNinos).val();
    var bebes = $(IdDropBebes).val();
    var tipoTarifa = $(IdDropTarifas).val();
    var soloIda = $("#" + IdCheckIda)[0].checked;    
    var fechaVuelta;
    if (soloIda == false)
    {
         fecha=$find(IdCalendarioVuelta).get_selectedDates()[0]
         fechaVuelta = creaFecha(fecha);
    }
    else
        fechaVuelta="";


    SolicitudAjax = $.ajax({ url: '/SolicitudBusquedaHandler.ashx', type: 'POST', data: { IdOrigen: origen, IdDestino: destino, NumAdultos: adultos, NumNinos: ninos, NumBebes: bebes, FechaSalida: fechaIda, FechaRetorno: fechaVuelta, Tarifa: tipoTarifa, SoloIda: soloIda, idTipo: idBusqueda }, dataType: 'json',
    success: ContinuaBusquedaVuelos, error: ErrorBusqueda
          });
    PeticionCajetinEnCurso = true;
}

function creaFecha(fechaArray)
{
    return fechaArray[2] + "/" + fechaArray[1] + "/" + fechaArray[0];

}


function ContinuaBusquedaVuelos(data) {

    if (data.hashBusqueda!= undefined &&  data.hashBusqueda != 0) {
      
        document.location = "/Ofertas/Vuelos.aspx?idBusqueda=" + data.hashBusqueda;
    }
    else {
        alert('No existen ofertas con estos parametros de busqueda');
    }
}



/* Inicio Bind */

function BindPestanasListado(tag, control, evento, img, imgActiva, imgInactiva) {
    var cont = $("#" + control);
    $(idPestaMapa).bind("click", function() { return ActivarPestana(enum_PestaMapa) });
    $(idPestaListado).bind("click", function() { return ActivarPestana(enum_PestaListado) });
    $(idImgCerrarMapa).bind("click", function() { return ActivarPestana(enum_PestaListado) });
    CargaImagen(imgPestaListadoActivo, "/images/pest_ofer_acti.png", "Listado");
    CargaImagen(imgPestaListadoInactivo, "/images/pest_ofer_inac.png", "Listado");
    CargaImagen(imgPestaMapaActivo, "/images/pest_mapa_acti.png", "Mostrar Mapa");
    CargaImagen(imgPestaMapaInactivo, "/images/pest_mapa_inac.png", "Ocultar Mapa");   
}


function BindBtnBuscarViajes() {
    $("#" + IdBtnBuscarViajes).bind("click", BusquedaViajesClick);
}

function BindBtnBuscarVuelos() {
    $("#" + IdBtnBuscarVuelos).bind("click", BusquedaVuelosClick);
}


function BindFocoOrigen() { 
    $(inputCiudadOrigen)[0].focus();
}

function BindDropChangeAreas() {
    $("#" + IdDropZonas).change(CargarDestinos);
}



function BindFocoDestino() {
    $("#" + IdDropDestino).find("input")[0].focus();
}

function BindFocoCalendarioIda() {
    $("#" + IdCalendarioIda).focus();
}

function BindMapa() {
    IniciarMapas();
    BindPuntosDelMapa(true, listaPuntosMapa);
}



function BindAutoCompleteOrigen() {
    $(inputCiudadOrigen).autoComplete({ ajax: '/ListadoDestinosVuelosHandler.ashx', hiddenValue: hiddenValueIdCiudadOrigen, newList: false, list: 'auto-complete-list.origen' });
}
function BindAutoCompleteDestino() {
    $(inputCiudadDestino).autoComplete({ ajax: '/ListadoDestinosVuelosHandler.ashx', hiddenValue: hiddenValueIdCiudadDestino, width: 167, newList: false, list: 'auto-complete-list.destino' });
}



/* Fin Bind */

/* Inicio Comunes Listado Vuelos y Reserva */

function MostrarEscalas() {
    var relEscalas = $(this).attr("rel");
    if ($(this).text() == "Ocultar") {
        $(this).text("Más detalles");
        $("tr.escalas[rel='" + relEscalas + "']").hide();
    }
    else {
        $(this).text("Ocultar");
        $("tr.escalas[rel='" + relEscalas + "']").show();
    }
    return false;
}

function MostrarInformacion() {
    var relInformacion = $(this).attr("rel");

    $("p.masInformacion[rel='" + relInformacion + "']").toggle();
}

/* Inicio Comunes Listado Vuelos y Reserva */




/* Fin Peticiones*/

/*Inicio Pestañas */

function ActivarPestana(pestana) {
    switch (pestana) {
        case enum_PestaListado:
            CargaImagen($(idPestaListado)[0], imgPestaListadoActivo.src, imgPestaListadoActivo.title);
            CargaImagen($(idPestaMapa)[0], imgPestaMapaInactivo.src, imgPestaMapaInactivo.title);
            mapaActivo = false;
            $(ContenedoraMapa).hide();
            break;
        case enum_PestaMapa:
            CargaImagen($(idPestaMapa)[0], imgPestaMapaActivo.src, imgPestaMapaActivo.title);
            CargaImagen($(idPestaListado)[0], imgPestaListadoInactivo.src, imgPestaListadoInactivo.title);
            mapaActivo = true;
            $(ContenedoraMapa).show();
            if (mapaInicializado == false) {
                BindMapa();
                mapaInicializado = true;                
            };            
            break;

    }
    return false;
}

/* Fin Pestañas */
