﻿var info_servicio_tour;
var info_servicio_transfer;

function BuscarServicios(tipo_servicio) {

    if ((tipo_servicio == "T") && (validarFormularioToursConsulta() == false)) {
        $('#contenedor_resultados_tours_fotos').show();
        $('#contenedor_resultados_tours').hide();

        $("#ofertas_destacados").show();
        return false;
    } else {
        if ((tipo_servicio == "X") && (validarFormularioToursConsulta() == false)) {
            $('#contenedor_resultados_transfers_fotos').show();
            $('#contenedor_resultados_transfers').hide();

            $("#ofertas_destacados").show();
            return false;
        }
    }


    $("#buscando_servicios").jqmShow();
    if (tipo_servicio == "T") {

        $.ajax({
            type: "POST",
            url: "BusquedaTours.aspx/BuscarTours",
            data: "{Ciudad:'" + $("#serv_des_tours").val() + "',FecIni:'"
                        + $("#tour_bus_checkin").val() + "',FecFin:'" + $("#tour_bus_checkout").val()
                        + "',NumPersonas:'" + $("#tour_personas").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                if (res.d != '') {
                    var Json = eval('(' + res.d + ')');
                    info_servicio_tour = Json;
                    if (info_servicio_tour.Tours != null) {
                        $("#contenedor_resultados_tours").setTemplateURL('templates/tours/res_busqueda_tours.html', null, { filter_data: false });
                        $("#contenedor_resultados_tours").setParam('NumPersonas', $("#tour_personas").val());
                        $("#contenedor_resultados_tours").processTemplate(Json);
                        $('#contenedor_resultados_tours').show();
                        $('#contenedor_resultados_tours_fotos').hide();
                        $("#ofertas_destacados").hide();

                        botones_ui();
                    } else {
                        $('#contenedor_resultados_tours_fotos').show();
                        $('#contenedor_resultados_tours').hide();
                        $("#ofertas_destacados").show();
                    }
                }
                $('#buscando_servicios').jqmHide();
            }
        });
    }
    if (tipo_servicio == "X") {

        var lArea = "";
        if (GPideAreaTransfer == "S")
            lArea = $("#serv_areas_transfers").val()


        $.ajax({
            type: "POST",
            url: "BusquedaTransfers.aspx/BuscarTransfers",
            data: "{Ciudad:'" + $("#serv_des_transfers").val() + "',FecIni:'"
                        + $("#transfers_bus_checkin").val() + "',FecFin:'" + $("#transfers_bus_checkout").val()
                        + "',NumPersonas:'" + $("#transfers_personas").val() + "',Area:'" + lArea + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                if (res.d != '') {
                    var Json = eval('(' + res.d + ')');
                    info_servicio_transfer = Json;
                    if (info_servicio_transfer.Transfers != null) {
                        $("#contenedor_resultados_transfers").setTemplateURL('templates/transfers/res_busqueda_transfers.html', null, { filter_data: false });
                        $("#contenedor_resultados_transfers").setParam('NumPersonas', $("#transfers_personas").val());
                        $("#contenedor_resultados_transfers").processTemplate(Json);
                        $('#contenedor_resultados_transfers').show();
                        $('#contenedor_resultados_transfers_fotos').hide();
                        $("#ofertas_destacados").hide();

                        botones_ui();
                    } else {
                        $('#contenedor_resultados_transfers_fotos').show();
                        $('#contenedor_resultados_transfers').hide();
                        $("#ofertas_destacados").show();
                    }
                }
                $('#buscando_servicios').jqmHide();
            }
        });

    }

}


function detalle_tour(Div_Id) {
    var informacionServicio = info_servicio_tour.Tours.Tour[Div_Id];

    $("#div_tour_info_" + Div_Id).html("<center>Cargando la informaci&oacute;n del tour<br><img src=\"./img/ajax_6.gif\" /></center>");
    $("#div_tour_info_" + Div_Id).setTemplateURL('./templates/tours/tour_completo.html', null, { filter_data: false });
    $("#div_tour_info_" + Div_Id).setParam('DivId', Div_Id);
    $("#div_tour_info_" + Div_Id).setParam('botonCerrar', 'S');
    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
        $("#div_tour_info_" + Div_Id).setParam('PathImg', informacionServicio.Fotos[0].Path);
    }

    var NumIdiomas = 0;
    if (informacionServicio.Idiomas != null && informacionServicio.Idiomas[0] != null) {
        if (informacionServicio.Idiomas[0].Campo != null)
            NumIdiomas = informacionServicio.Idiomas[0].Campo.length;
    }
    $("#div_tour_info_" + Div_Id).setParam('NumIdiomas', NumIdiomas);
    var NumFotos = 0;
    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
        if (informacionServicio.Fotos[0].Foto != null)
            NumFotos = informacionServicio.Fotos[0].Foto.length;
    }
    $("#div_tour_info_" + Div_Id).setParam('NumFotos', NumFotos);
    $("#div_tour_info_" + Div_Id).processTemplate(informacionServicio);
    $("#div_tour_info_" + Div_Id).show("blind");

    botones_ui();
}


function detalle_transfer(Div_Id) {
    var informacionServicio = info_servicio_transfer.Transfers.Transfer[Div_Id];

    $("#div_transfer_info_" + Div_Id).html("<center>Cargando la informaci&oacute;n del transfer<br><img src=\"./img/ajax_6.gif\" /></center>");
    $("#div_transfer_info_" + Div_Id).setTemplateURL('./templates/transfers/transfer_completo.html', null, { filter_data: false });
    $("#div_transfer_info_" + Div_Id).setParam('DivId', Div_Id);
    $("#div_transfer_info_" + Div_Id).setParam('CodUnico', informacionServicio.CodUnico);
    $("#div_transfer_info_" + Div_Id).setParam('botonCerrar', 'S');
    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
        $("#div_transfer_info_" + Div_Id).setParam('PathImg', informacionServicio.Fotos[0].Path);
    }

    var NumIdiomas = 0;
    if (informacionServicio.Idiomas[0] != null) {
        if (informacionServicio.Idiomas[0].Campo != null)
            NumIdiomas = informacionServicio.Idiomas[0].Campo.length;
    }
    $("#div_transfer_info_" + Div_Id).setParam('NumIdiomas', NumIdiomas);
    var NumFotos = 0;
    if (informacionServicio.Fotos[0] != null) {
        if (informacionServicio.Fotos[0].Foto != null)
            NumFotos = informacionServicio.Fotos[0].Foto.length;
    }
    $("#div_transfer_info_" + Div_Id).setParam('NumFotos', NumFotos);
    $("#div_transfer_info_" + Div_Id).processTemplate(informacionServicio);
    $("#div_transfer_info_" + Div_Id).show("blind");

    botones_ui();

}

function tarifas_transfer(Div_Id) {
    var informacionServicio = info_servicio_transfer.Transfers.Transfer[Div_Id];

    if (GPaxAdicionalTrans == '') GPaxAdicionalTrans = 'N';
    $("#div_transfer_tarifas_" + Div_Id).setTemplateURL('./templates/transfers/detalle_tarifa.html', null, { filter_data: false });
    $("#div_transfer_tarifas_" + Div_Id).setParam('DivId', Div_Id);
    $("#div_transfer_tarifas_" + Div_Id).setParam('TodasLasTarifas', GTodasLasTarifasTransfers);
    $("#div_transfer_tarifas_" + Div_Id).setParam('PaxAdicionalTrans', GPaxAdicionalTrans);
    $("#div_transfer_tarifas_" + Div_Id).processTemplate(informacionServicio);

    $("#div_transfer_tarifas_" + Div_Id).show("blind");

    botones_ui();
}

function tarifas_tour(Div_Id) {
    var informacionServicio = info_servicio_tour.Tours.Tour[Div_Id];
    if (GPaxAdicionalTours == '') GPaxAdicionalTours = 'N';

    $("#div_tour_tarifas_" + Div_Id).setTemplateURL('./templates/tours/detalle_tarifa.html', null, { filter_data: false });
    $("#div_tour_tarifas_" + Div_Id).setParam('DivId', Div_Id);
    $("#div_tour_tarifas_" + Div_Id).setParam('PaxAdicional', GPaxAdicionalTours);
    $("#div_tour_tarifas_" + Div_Id).setParam('TodasLasTarifas', GTodasLasTarifasTours);
    $("#div_tour_tarifas_" + Div_Id).processTemplate(informacionServicio);

    $("#div_tour_tarifas_" + Div_Id).show("blind");

    botones_ui();
}

function valor_tour(paq) {
    var Valor = 0;

    var Tour = info_servicio_tour.Tours.Tour[paq];
    var numPax = parseInt(Tour.NroPersonas);

    if (Tour.Tarifas[0] != null) {
        for (var i = 0; i < Tour.Tarifas[0].Tarifa.length; i++) {
            if (Tour.Tarifas[0].Tarifa[i].ModoCalculo == 'P') {/*si es tarifa por persona*/
                if ((Tour.Tarifas[0].Tarifa[i].PAXAdicional == 'N') && (numPax >= parseInt(Tour.Tarifas[0].Tarifa[i].RIPersonas)) &&
                (numPax <= parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas))) {
                    Valor = parseFloat(Tour.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * numPax;
                    Tour.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                    break;
                }
                else {
                    if (Tour.Tarifas[0].Tarifa[i].PAXAdicional == 'S') {
                        if (parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas) >= (numPax * 1))
                            Valor = parseFloat(Tour.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * parseInt(numPax);
                        else
                            if (parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas) < numPax)
                            Valor = parseFloat(Tour.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas) +
                                    (numPax - parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas)) * parseFloat(Tour.Tarifas[0].Tarifa[i].VlrPAXAdicional.replace(",", "."));
                        Tour.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                        break;
                    }
                }
            }
            else {
                if ((Tour.Tarifas[0].Tarifa[i].ModoCalculo == 'G') && (numPax >= parseInt(Tour.Tarifas[0].Tarifa[i].RIPersonas)) &&
                    (numPax <= parseInt(Tour.Tarifas[0].Tarifa[i].RFPersonas))) {
                    Valor = parseFloat(Tour.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * 1; /* todas las personas de ese grupo por ese valor */
                    Tour.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                    break;
                } //
            } //
        } //fin for
    }
    return Valor;
}


function tarifa_transfer(paq) {

    var Transfer = info_servicio_transfer.Transfers.Transfer[paq];
    var numPax = parseInt(Transfer.NroPersonas);
    var indice = -1;
    var Valor = 0;
    if (Transfer.Tarifas[0].Tarifa[0] != null) {
        for (var i = 0; i < Transfer.Tarifas[0].Tarifa.length; i++) {
            Transfer.Tarifas[0].Tarifa[i].TarifaDefecto = 'N';
            if (Transfer.Tarifas[0].Tarifa[i].ModoCalculo == 'P') {
                if ((Transfer.Tarifas[0].Tarifa[i].PAXAdicional == 'N') &&
                (numPax >= parseInt(Transfer.Tarifas[0].Tarifa[i].RIPersonas)) &&
                (numPax <= parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas))) {
                    Valor = parseFloat(Transfer.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * numPax;
                    indice = i;
                    Transfer.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                    Transfer.Tarifas[0].Tarifa[i].ValorTotal = Valor;
                    break;
                }
                else {
                    if (Transfer.Tarifas[0].Tarifa[i].PAXAdicional == 'S') {
                        if (parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas) >= (numPax * 1)) {
                            Valor = parseFloat(Transfer.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * parseInt(numPax);
                            indice = i;
                            Transfer.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                            Transfer.Tarifas[0].Tarifa[i].ValorTotal = Valor;
                            break;
                        }
                        else
                            if (parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas) < numPax) {
                            Valor = parseFloat(Transfer.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas) +
                                    (numPax - parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas)) * parseFloat(Transfer.Tarifas[0].Tarifa[i].VlrPAXAdicional.replace(",", "."));
                            indice = i;
                            Transfer.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                            Transfer.Tarifas[0].Tarifa[i].ValorTotal = Valor;
                            break;
                        }
                    }
                }
            }
            else {
                if ((Transfer.Tarifas[0].Tarifa[i].ModoCalculo == 'G') && (numPax >= parseInt(Transfer.Tarifas[0].Tarifa[i].RIPersonas)) &&
                    (numPax <= parseInt(Transfer.Tarifas[0].Tarifa[i].RFPersonas))) {
                    Valor = parseFloat(Transfer.Tarifas[0].Tarifa[i].Precio.replace(",", ".")) * 1; /* todas las personas de ese grupo por ese valor */
                    indice = i;
                    Transfer.Tarifas[0].Tarifa[i].TarifaDefecto = 'S';
                    Transfer.Tarifas[0].Tarifa[i].ValorTotal = Valor;
                    break;
                } //
            } //                
        }
    }
    return indice;
}

function valor_transfer_encabezado(paq) {
    var Transfer = info_servicio_transfer.Transfers.Transfer[paq];
    var indice = tarifa_transfer(paq);

    if (indice > -1)
        return Transfer.Tarifas[0].Tarifa[indice].ValorTotal;
    else
        return 0;

}

function tipo_transfer_encabezado(paq) {
    var Transfer = info_servicio_transfer.Transfers.Transfer[paq];
    var indice = tarifa_transfer(paq);

    var TipoServicio = '';
    if (indice > -1) {
        if (Transfer.Tarifas[0].Tarifa[indice].TipoServicio == 'N')
            TipoServicio = 'IN';
        if (Transfer.Tarifas[0].Tarifa[indice].TipoServicio == 'O')
            TipoServicio = 'OUT';
        if (Transfer.Tarifas[0].Tarifa[indice].TipoServicio == 'B')
            TipoServicio = 'IN-OUT';
    }

    return TipoServicio;
}

function formulario_tour(paq) {

    if (VerificarLogin() == "N") {
        mostrar_login();
        return;
    }

    var informacionServicio = info_servicio_tour.Tours.Tour[paq];

    $("#div_form_crea_reserva").hide();
    if (GCrearReserva == "S") {

        $("#div_form_crea_reserva").setTemplateURL('./templates/formulariocreareserva.htm', null, { filter_data: false });
        $("#div_form_crea_reserva").setParam('DivId', paq);
        $("#div_form_crea_reserva").setParam('onchange', 'onchange_nombres_servicios');
        $("#div_form_crea_reserva").setParam('MostrarTelefonoReserva', 'GMostrarTelefonoReserva');
        $("#div_form_crea_reserva").setParam('MostrarMailReserva', 'GMostrarMailReserva');
        $("#div_form_crea_reserva").processTemplate();
        $("#div_form_crea_reserva").show("blind");

        botones_ui();
    }

    var ListaHoteles = "";
    if (GPedirHotelTour == "S") {

        $.ajax({
            type: "POST",
            url: "./utilidades/utilidades.aspx/HotelesCiudad",
            data: "{Ciudad:'" + informacionServicio.Ciudad + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            async: false,
            success: function(res) {

                ListaHoteles = res.d;
            }
        });
    }


    $("#div_form_room").setTemplateURL('./templates/tours/room_list.html', null, { filter_data: false });
    $("#div_form_room").setParam('DivId', paq);
    $("#div_form_room").setParam('ListaHoteles', ListaHoteles);
    $("#div_form_room").setParam('PedirHotel', GPedirHotelTour);
    $("#div_form_room").setParam('CrearReserva', GCrearReserva);
    $("#div_form_room").processTemplate(informacionServicio);

    var clientes_defecto = CargarClientesDefecto();
    if (clientes_defecto != null) {
        var RNombres = $("#[id$=\"_Nombres\"]");
        for (var i = 0; i < RNombres.length; i++) {
            if (clientes_defecto[i] != null) {
                $("#" + RNombres[i].id).val(clientes_defecto[i].Nombres);
            }
        }
        var RApellidos = $("#[id$=\"_Apellidos\"]");
        for (var i = 0; i < RApellidos.length; i++) {
            if (clientes_defecto[i] != null) {
                $("#" + RApellidos[i].id).val(clientes_defecto[i].Apellidos);
            }
        }
        var RIdentificacion = $("#[id$=\"_Identificacion\"]");
        for (var i = 0; i < RIdentificacion.length; i++) {
            if (clientes_defecto[i] != null) {
                $("#" + RIdentificacion[i].id).val(clientes_defecto[i].Identificacion);
            }
        }
    }

    var ultimo_hotel = UltimoHotel();
    var RHotel = $("#[id$=\"_Hotel\"]");
    for (var i = 0; i < RHotel.length; i++) {
        $("#" + RHotel[i].id).val(ultimo_hotel);
    }

    botones_ui();

    $("#div_form_reserva").dialog('destroy');
    $("#div_form_reserva").dialog({
        bgiframe: true,
        resizable: false,
        modal: true,
        width: 600,
        show: 'slide',
        zIndex: 0,
        buttons: {
            'Reservar': function() {
                reservar_tour(paq);
            }
        }
    });
}

function onchange_nombres_servicios(Div_Id) {

    $("[id$=1_Nombres]").val($("[id$=rese_nomcliente]").val());
    $("[id$=1_Apellidos]").val($("[id$=rese_apecliente]").val());

}

function reservar_tour(paq) {

    if (VerificarLogin() == "N") {
        mostrar_login();
        return;
    }

    if (gEstadoReserva != 'C') {
        alerta('No se pueden agregar mas reservas para el estado actual.', 'Reservas')
        return;
    }

    $("#mensaje_reservando").jqmShow();

    var lok = true;

    var dataReserva = "";
    if (GCrearReserva == "S") {

        var myFormParams = $('#frm_reserva_' + paq).serialize();

        var j = params2json(myFormParams);
        dataReserva = "\"data\":[" + j + "]";

        var jsonReserva = eval("({" + dataReserva + "})");

        if ((jsonReserva.data[0].rese_nomcliente == "") && (lok == true)) {
            lok = false;
            alerta("Debe especificar el nombre del cliente");
        }

        if ((jsonReserva.data[0].rese_apecliente == "") && (lok == true)) {
            lok = false;
            alerta("Debe especificar los apellidos del cliente");
        }

        if (GMostrarMailReserva == "S") {
            if ((jsonReserva.data[0].rese_mailcliente == "") && (lok == true)) {
                lok = false;
                alerta("Debe especificar el correo del cliente");
            }
        }
    }

    if (lok == true) {
        //        var inp_paq = document.getElementsByName(paq + '_inp_paxList');
        var inp_paq = $("[name='" + paq + "_inp_paxList']");

        if (inp_paq.length > 0) {
            var jsonPax = '\"Pax\":[{';

            var Pax = inp_paq[0].id.split('_');
            var campo = Pax[1];

            for (var i = 0; i < inp_paq.length; i++) {

                Pax = inp_paq[i].id.split('_');

                if (campo == Pax[1]) {
                    if (i > 0)
                        jsonPax = jsonPax.substring(0, jsonPax.length - 1) + '},{';
                }

                jsonPax += '\"' + Pax[1] + '\":\"' + inp_paq[i].value + '\",';
            }
            if (i > 0)
                jsonPax = jsonPax.substring(0, jsonPax.length - 1);
            jsonPax = jsonPax + '}]';

            var JSon = eval('({' + jsonPax + '})');

            lok = true;
            for (var i = 0; i < JSon.Pax.length; i++) {

                if (JSon.Pax[i].Nombres == '') {
                    lok = false;
                    break;
                }

                if (JSon.Pax[i].Apellidos == '') {
                    lok = false;
                    break;
                }
            }

            if (lok == false)
                alerta('Debe especificar el nombre y apellidos para todos los pasajeros');
        }
    }

    if (lok == true) {
        var Tour = info_servicio_tour.Tours.Tour[paq];
        Tour.Valor = valor_tour(paq);


        $.ajax({
            type: "POST",
            url: "./Utilidades/reservas.aspx/ReservarTour",

            data: "{paxList:{" + jsonPax + "},Tour:" + $.toJSON(Tour)
                                         + ",DivId:'" + paq + "',DatosReserva:{" + dataReserva + "}}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                reservar_tours_callback(res.d);
            }
        });
    }
}

function formulario_transfer(paq) {

    var IndiceTarifa = tarifa_transfer_seleccionada(paq);

    if (IndiceTarifa == -1) {
        alerta('No hay ninguna tarifa seleccionada');
    } else {

        if (VerificarLogin() == "N") {
            mostrar_login();
            return;
        }

        if (gEstadoReserva != 'C') {
            alerta('No se pueden agregar mas reservas para el estado actual.', 'Reservas')
            return;
        }

        var informacionServicio = info_servicio_transfer.Transfers.Transfer[paq];

        $("#div_form_crea_reserva").hide();
        if (GCrearReserva == "S") {

            $("#div_form_crea_reserva").setTemplateURL('./templates/formulariocreareserva.htm', null, { filter_data: false });
            $("#div_form_crea_reserva").setParam('DivId', paq);
            $("#div_form_crea_reserva").setParam('MostrarTelefonoReserva', 'GMostrarTelefonoReserva');
            $("#div_form_crea_reserva").setParam('MostrarMailReserva', 'GMostrarMailReserva');
            $("#div_form_crea_reserva").setParam('onchange', 'onchange_nombres_servicios');
            $("#div_form_crea_reserva").processTemplate();
            $("#div_form_crea_reserva").show("blind");

            botones_ui();
        }

        var ListaHoteles = "";
        if (GPedirHotelTransfer == "S") {
            $.ajax({
                type: "POST",
                url: "./utilidades/utilidades.aspx/HotelesCiudad",
                data: "{Ciudad:'" + informacionServicio.Ciudad + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function(res) {

                    ListaHoteles = res.d;
                }
            });
        }

        $("#div_form_room").setTemplateURL('./templates/transfers/room_list.html', null, { filter_data: false });
        $("#div_form_room").setParam('DivId', paq);
        $("#div_form_room").setParam('CrearReserva', GCrearReserva);
        $("#div_form_room").setParam('ListaHoteles', ListaHoteles);
        $("#div_form_room").setParam('PedirHotel', GPedirHotelTransfer);
        $("#div_form_room").processTemplate(informacionServicio);

        botones_ui();

        var clientes_defecto = CargarClientesDefecto();
        if (clientes_defecto != null) {
            var RNombres = $("#[id$=\"_Nombres\"]");
            for (var i = 0; i < RNombres.length; i++) {
                if (clientes_defecto[i] != null) {
                    $("#" + RNombres[i].id).val(clientes_defecto[i].Nombres);
                }
            }
            var RApellidos = $("#[id$=\"_Apellidos\"]");
            for (var i = 0; i < RApellidos.length; i++) {
                if (clientes_defecto[i] != null) {
                    $("#" + RApellidos[i].id).val(clientes_defecto[i].Apellidos);
                }
            }
            var RIdentificacion = $("#[id$=\"_Identificacion\"]");
            for (var i = 0; i < RIdentificacion.length; i++) {
                if (clientes_defecto[i] != null) {
                    $("#" + RIdentificacion[i].id).val(clientes_defecto[i].Identificacion);
                }
            }
        }

        var ultimo_hotel = UltimoHotel();
        var RHotel = $("#[id$=\"_Hotel\"]");
        for (var i = 0; i < RHotel.length; i++) {
            $("#" + RHotel[i].id).val(ultimo_hotel);
        }

        $("#div_form_reserva").dialog('destroy');
        $("#div_form_reserva").dialog({
            bgiframe: true,
            resizable: false,
            modal: true,
            width: 600,
            show: 'slide',
            zIndex: 0,
            buttons: {
                'Reservar': function() {

                    reservar_transfer(paq);
                }
            }
        });
    }
}

function tarifa_transfer_seleccionada(paq) {

    var opt_trans = document.getElementsByName('opttrans_' + paq);
    var indice = -1;
    for (var i = 0; i < opt_trans.length; i++) {

        if (opt_trans[i].checked) {
            //indice = i;
            indice = parseInt(opt_trans[i].value);
            break;
        }
    }
    return indice;
}

function reservar_transfer(paq) {

    if (VerificarLogin() == "N") {
        mostrar_login();
        return;
    }
    var lok = true;

    var IndiceTarifa = tarifa_transfer_seleccionada(paq);

    if (IndiceTarifa == -1) {
        alerta('No hay ninguna tarifa seleccionada');
        lok = false;
    }

    var dataReserva = "";
    if ((GCrearReserva == "S") && (lok == true)) {

        var myFormParams = $('#frm_reserva_' + paq).serialize();

        var j = params2json(myFormParams);
        dataReserva = "\"data\":[" + j + "]";

        var jsonReserva = eval("({" + dataReserva + "})");

        if ((jsonReserva.data[0].rese_nomcliente == "") && (lok == true)) {
            lok = false;
            alerta("Debe especificar el nombre del cliente");
        }

        if ((jsonReserva.data[0].rese_apecliente == "") && (lok == true)) {
            lok = false;
            alerta("Debe especificar los apellidos del cliente");
        }

        if (GMostrarMailReserva == "S") {
            if ((jsonReserva.data[0].rese_mailcliente == "") && (lok == true)) {
                lok = false;
                alerta("Debe especificar el correo del cliente");
            }
        }
    }

    if (lok == true) {

        var inp_paq = $("[name='" + paq + "_inp_paxList']");

        if (inp_paq.length > 0) {
            var jsonPax = '\"Pax\":[{';

            var Pax = inp_paq[0].id.split('_');
            var campo = Pax[4];

            for (var i = 0; i < inp_paq.length; i++) {

                Pax = inp_paq[i].id.split('_');

                if (campo == Pax[4]) {
                    if (i > 0)
                        jsonPax = jsonPax.substring(0, jsonPax.length - 1) + '},{';
                }

                jsonPax += '\"' + Pax[4] + '\":\"' + inp_paq[i].value + '\",';
            }
            if (i > 0)
                jsonPax = jsonPax.substring(0, jsonPax.length - 1);
            jsonPax = jsonPax + '}],\"Vuelo\":{'
                + '\"NumVueloLlegada\":\"' + $('#' + paq + '_NumVueloLlegada').val() + '\"'
                + ',\"HoraVueloLlegada\":\"' + $('#' + paq + '_HoraVueloLlegada').val() + '\"'
                + ',\"NumVueloSalida\":\"' + $('#' + paq + '_NumVueloSalida').val() + '\"'
                + ',\"HoraVueloSalida\":\"' + $('#' + paq + '_HoraVueloSalida').val() + '\"}';



            var JSon = eval('({' + jsonPax + '})');

            for (var i = 0; i < JSon.Pax.length; i++) {

                if (JSon.Pax[i].Nombres == '') {
                    lok = false;
                    break;
                }

                if (JSon.Pax[i].Apellidos == '') {
                    lok = false;
                    break;
                }
            }

            if (lok == false)
                alerta('Debe especificar el nombre y apellidos para todos los pasajeros');
        }
    }

    if (lok) {
        $("#mensaje_reservando").jqmShow();

        var Transfer = info_servicio_transfer.Transfers.Transfer[paq];

        Transfer.Valor = Transfer.Tarifas[0].Tarifa[IndiceTarifa].Precio;
        Transfer.TipoServicio = Transfer.Tarifas[0].Tarifa[IndiceTarifa].TipoServicio;
        Transfer.ValorTotal = Transfer.Tarifas[0].Tarifa[IndiceTarifa].ValorTotal2;
        Transfer.CodigoTarifa = Transfer.Tarifas[0].Tarifa[IndiceTarifa].Codigo;

        $.ajax({
            type: "POST",
            url: "./Utilidades/reservas.aspx/ReservarTransfer",

            data: "{paxList:{" + jsonPax + "},Transfer:" + $.toJSON(Transfer)
                                         + ",DivId:'" + paq + "',DatosReserva:{" + dataReserva + "}}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                reservar_transfers_callback(res.d);
            }
        });

    }
}

function reservar_tours_callback(Resultado) {
    if (Resultado.status == "OK") {
        $("#mensaje_reservando").jqmHide();
        alerta("Reserva realizada satisfactoriamente");
        $("#div_form_reserva").dialog('destroy');
        $("#div_tour_tarifas_" + Resultado.DivId).hide();

        if (Resultado.mensaje != "OK") {
            $("#div_reservaactual").html("<strong>RESERVA: " + Resultado.mensaje + "</strong>");
        }

        GCrearReserva = "N";


    } else {
        alerta(Resultado.mensaje);
    }
}

function reservar_transfers_callback(Resultado) {

    if (Resultado.status == "OK") {
        $("#mensaje_reservando").jqmHide();
        alerta("Reserva realizada satisfactoriamente");
        $("#div_form_reserva").dialog('destroy');
        $("#div_transfer_tarifas_" + Resultado.DivId).hide();

        if (Resultado.mensaje != "OK") {
            $("#div_reservaactual").html("<strong>RESERVA: " + Resultado.mensaje + "</strong>");
        }

        GCrearReserva = "N";

        var $tabBusqueda = $("#tabBusqueda").tabs();
        if ($tabBusqueda.length > 0)
            $tabBusqueda.tabs('select', 2);
    } else {
        alerta(Resultado.mensaje);
    }
}

function cargarToursDestacadosBusqueda() {

    $.ajax({
        type: "POST",
        url: "BusquedaTours.aspx/CargarToursDestacados",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {

            if (res.d != '') {
                Json_Destacados = eval('(' + res.d + ')');

                if (Json_Destacados.Tours != null) {
                    $("#destacado_tours").setTemplateURL('./templates/tours/destacados_busqueda.htm', null, { filter_data: false });
                    $("#destacado_tours").processTemplate(Json_Destacados);

                    botones_ui();
                }
            }
        }
    });

}


function mostrar_tour_busqueda(codigo) {

    document.location.href = "./BusquedaTours.aspx?ser_bus_servicios=T&codigoServicio=" + codigo + "&hacer_buscar=si";

}


function BuscarServiciosCodigo(tipo_servicio, codigo) {
    //tipo_servicio = $("input[name='ser_bus_servicios']:checked").val();

    $("#buscando_servicios").jqmShow();
    if (tipo_servicio == "T") {

        $.ajax({
            type: "POST",
            url: "BusquedaTours.aspx/BuscarTourCodigo",
            data: "{Codigo:'" + codigo + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                if (res.d != '') {
                    var Json = eval('(' + res.d + ')');
                    info_servicio_tour = Json;
                    if (info_servicio_tour.Tours != null) {
                        $("#contenedor_resultados_tours").setTemplateURL('templates/tours/res_busqueda_tours.html', null, { filter_data: false });
                        $("#contenedor_resultados_tours").setParam('NumPersonas', $("#tour_personas").val());
                        $("#contenedor_resultados_tours").processTemplate(Json);
                        $('#contenedor_resultados_tours').show();
                        $('#contenedor_resultados_tours_fotos').hide();
                        $("#ofertas_destacados").hide();

                        botones_ui();
                    } else {
                        $('#contenedor_resultados_tours_fotos').show();
                        $('#contenedor_resultados_tours').hide();
                        $('#ofertas_destacados').show();
                    }
                }
                $('#buscando_servicios').jqmHide();
            }
        });
    }
}


function mostrar_transfer(codTransfer) {

    $.ajax({
        type: "POST",
        url: "BusquedaTransfers.aspx/BuscarTransferCodigo",
        data: "{Codigo:'" + codTransfer + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {

            if (res.d != '') {
                var Json = eval('(' + res.d + ')');

                if (Json.Transfers != null) {

                    var informacionServicio = Json.Transfers.Transfer[0];

                    $("#div_popup").html("<center>Cargando la informaci&oacute;n del transfer<br><img src=\"./img/ajax_6.gif\" /></center>");
                    $("#div_popup").setTemplateURL('./templates/transfers/transfer_completo.html', null, { filter_data: false });
                    $("#div_popup").setParam('DivId', 0);
                    $("#div_popup").setParam('CodUnico', informacionServicio.CodUnico);
                    $("#div_popup").setParam('botonCerrar', 'N');
                    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
                        $("#div_popup").setParam('PathImg', informacionServicio.Fotos[0].Path);
                    }

                    var NumIdiomas = 0;
                    if (informacionServicio.Idiomas[0] != null) {
                        if (informacionServicio.Idiomas[0].Campo != null)
                            NumIdiomas = informacionServicio.Idiomas[0].Campo.length;
                    }
                    $("#div_popup").setParam('NumIdiomas', NumIdiomas);
                    var NumFotos = 0;
                    if (informacionServicio.Fotos[0] != null) {
                        if (informacionServicio.Fotos[0].Foto != null)
                            NumFotos = informacionServicio.Fotos[0].Foto.length;
                    }
                    $("#div_popup").setParam('NumFotos', NumFotos);
                    $("#div_popup").processTemplate(informacionServicio);
                    $("#div_popup").show("blind");

                    botones_ui();


                    $("#div_popup").dialog('destroy');
                    $("#div_popup").dialog({
                        bgiframe: true,
                        modal: true,
                        width: 700,
                        show: 'slide',
                        zIndex: 0,
                        buttons: {
                            Ok: function() {
                                $(this).dialog('close');
                            }
                        }
                    });
                }
            }
        }
    });
}


function mostrar_tour(codTour) {

    $.ajax({
        type: "POST",
        url: "BusquedaTours.aspx/BuscarTourCodigo",
        data: "{Codigo:'" + codTour + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {

            if (res.d != '') {
                var Json = eval('(' + res.d + ')');

                if (Json.Tours != null) {

                    var informacionServicio = Json.Tours.Tour[0];

                    $("#div_popup").html("<center>Cargando la informaci&oacute;n del tour<br><img src=\"./img/ajax_6.gif\" /></center>");
                    $("#div_popup").setTemplateURL('./templates/tours/tour_completo.html', null, { filter_data: false });
                    $("#div_popup").setParam('DivId', 0);
                    $("#div_popup").setParam('botonCerrar', 'N');
                    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
                        $("#div_popup").setParam('PathImg', informacionServicio.Fotos[0].Path);
                    }

                    var NumIdiomas = 0;
                    if (informacionServicio.Idiomas != null && informacionServicio.Idiomas[0] != null) {
                        if (informacionServicio.Idiomas[0].Campo != null)
                            NumIdiomas = informacionServicio.Idiomas[0].Campo.length;
                    }
                    $("#div_popup").setParam('NumIdiomas', NumIdiomas);
                    var NumFotos = 0;
                    if (informacionServicio.Fotos != null && informacionServicio.Fotos[0] != null) {
                        if (informacionServicio.Fotos[0].Foto != null)
                            NumFotos = informacionServicio.Fotos[0].Foto.length;
                    }
                    $("#div_popup").setParam('NumFotos', NumFotos);
                    $("#div_popup").processTemplate(informacionServicio);
                    $("#div_popup").show("blind");

                    botones_ui();


                    $("#div_popup").dialog('destroy');
                    $("#div_popup").dialog({
                        bgiframe: true,
                        modal: true,
                        width: 700,
                        show: 'slide',
                        zIndex: 0,
                        buttons: {
                            Ok: function() {
                                $(this).dialog('close');
                            }
                        }
                    });
                }
            }
        }
    });
}

function onChangeVueloLlegada(Elemento) {

    var Valor = $(Elemento).val();
    if (Valor != "") {
        var Elementos = $("[id$='_NumVueloLlegada']");
        for (var i = 0; i < Elementos.length; i++) {
            if (Elementos[i].value == "") {
                Elementos[i].value = Valor;
            }
        }
    }
}

function onChangeHoraLlegada(Elemento) {

    var Valor = $(Elemento).val();
    if (Valor != "") {
        var Elementos = $("[id$='_HoraVueloLlegada']");
        for (var i = 0; i < Elementos.length; i++) {
            if (Elementos[i].value == "") {
                Elementos[i].value = Valor;
            }
        }
    }
}


function onChangeVueloSalida(Elemento) {

    var Valor = $(Elemento).val();
    if (Valor != "") {
        var Elementos = $("[id$='_NumVueloSalida']");
        for (var i = 0; i < Elementos.length; i++) {
            if (Elementos[i].value == "") {
                Elementos[i].value = Valor;
            }
        }
    }
}


function onChangeHoraSalida(Elemento) {

    var Valor = $(Elemento).val();
    if (Valor != "") {
        var Elementos = $("[id$='_HoraVueloSalida']");
        for (var i = 0; i < Elementos.length; i++) {
            if (Elementos[i].value == "") {
                Elementos[i].value = Valor;
            }
        }
    }
}


