﻿var info_plan;
var total_plan;

function detalle_plan(Div_Id) {

    var informacionPlan = info_plan.Planes.Plan[Div_Id];

    if (informacionPlan.CargoDetalle == "S")
        detalle_plan_gen(informacionPlan, Div_Id, "div_plan_info_" + Div_Id, "S", "S")
    else {

        var datos = "{codPlan:'" + informacionPlan.Codigo + "',divId:'" + Div_Id
                + "',Adultos:'" + informacionPlan.NumAdultos + "',Ninos:'" + informacionPlan.NumNinos + "'"
                + ",acomodacionHabitacion:" + acomodacionesPlanes()
                + ",acomodacionNinos:" + acomodacionesNinos() + "}";

        $.ajax({
            type: "POST",
            url: "busquedaPlanes.aspx/cargarPlanCodigo",
            data: datos,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                detalle_plan_callback(res.d);
            }
        });
    }
}

function detalle_plan_callback(resultado) {

    if (resultado != '') {
        var Json = eval('(' + resultado + ')');
        var Div_Id = Json.Planes.divId;

        //Esto se hace para que no se pierda el valor original de los datos de consulta de niños y adultos                
        Json.Planes.Plan[0].NumAdultos = info_plan.Planes.Plan[Div_Id].NumAdultos;
        Json.Planes.Plan[0].NumNinos = info_plan.Planes.Plan[Div_Id].NumNinos;

        info_plan.Planes.Plan[Div_Id] = Json.Planes.Plan[0];

        detalle_plan_gen(info_plan.Planes.Plan[Div_Id], Div_Id, "div_plan_info_" + Div_Id, "S", "S")
    }
}

function mostrar_plan_popup(Div_Id) {

    var informacionPlan = info_plan.Planes.Plan[Div_Id];

    detalle_plan_gen(informacionPlan, Div_Id, "div_popup", "N", "N")

    $("#div_popup").dialog('destroy');
    $("#div_popup").dialog({
        bgiframe: true,
        modal: true,
        width: 700,
        show: 'slide',
        zIndex: 0,
        buttons: {
            Imprimir: function() {
            },
            'E-Mail': function() {
            },
            Ok: function() {
                $(this).dialog('close');
            }
        }
    });
}

function detalle_tarifas(Div_Id) {
    var informacionPlan = info_plan.Planes.Plan[Div_Id];

    if (informacionPlan.CargoDetalle == "S")
        cargar_detalle_tarifa(informacionPlan, Div_Id)
    else {

        var datos = "{codPlan:'" + informacionPlan.Codigo + "',divId:'" + Div_Id
                + "',Adultos:'" + informacionPlan.NumAdultos + "',Ninos:'" + informacionPlan.NumNinos + "'"
                + ",acomodacionHabitacion:" + acomodacionesPlanes()
                + ",acomodacionNinos:" + acomodacionesNinos() + ",FecIni:'"+ info_plan.Planes.FechaInicial + "',FecFin:'"+ info_plan.Planes.FechaFinal+"'}";
        $.ajax({
            type: "POST",
            url: "busquedaPlanes.aspx/cargarPlanCodigo",
            data: datos,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                detalle_tarifas_callback(res.d);
            }
        });
    }
}

function detalle_tarifas_callback(resultado) {

    if (resultado != '') {
        var Json = eval('(' + resultado + ')');
        var Div_Id = Json.Planes.divId;

        //Esto se hace para que no se pierda el valor original de los datos de consulta de niños y adultos                
        Json.Planes.Plan[0].NumAdultos = info_plan.Planes.Plan[Div_Id].NumAdultos;
        Json.Planes.Plan[0].NumNinos = info_plan.Planes.Plan[Div_Id].NumNinos;

        info_plan.Planes.Plan[Div_Id] = Json.Planes.Plan[0];

        if (info_plan.Planes.Plan[Div_Id].DetallesPlan[0] != null) {
            cargar_detalle_tarifa(info_plan.Planes.Plan[Div_Id], Div_Id)
        } else {
            alerta("El plan no tiene tarifas cargadas");
        }
    }
}

function cargar_detalle_tarifa(Plan, Div_Id) {
    numeroPersonas = numeroAdultosPlanes();
    $("#div_plan_tarifas_" + Div_Id).html("<center>Cargando la informaci&oacute;n de tarifas<br><img src=\"./img/ajax_6.gif\" /></center>");
    $("#div_plan_tarifas_" + Div_Id).setTemplateURL('./templates/planes/detalle_tarifa.html', null, { filter_data: false });
    $("#div_plan_tarifas_" + Div_Id).setParam('DivId', Div_Id);
    $("#div_plan_tarifas_" + Div_Id).setParam('NumNinos', Plan.NumNinos);
    $("#div_plan_tarifas_" + Div_Id).setParam('CodPlan', Plan.Codigo);
    $("#div_plan_tarifas_" + Div_Id).setParam('numadultos', numeroPersonas);
    $("#div_plan_tarifas_" + Div_Id).processTemplate(Plan);
    if (Plan.FechasSalida[0] == null) {
        $("#fecsalida_" + Div_Id).datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true });
    }

    $("#div_plan_tarifas_" + Div_Id).show("blind");

    if (GPideLogin == 'S')
        $("#button_formulario_paquete").show();
    else
        $("#button_formulario_paquete").hide();

    botones_ui();
}

function BuscarPlanes() {

    if (validarFormularioPlanesConsulta() == false) {
        $("#contenedor_resultados_planes").hide();
        $("#contenedor_resultados_planes_fotos").show();
        $("#ofertas_destacados").show();
        return false;
    }

    $("#buscando_planes").jqmShow();

    var nroAdultos = numeroAdultosPlanes();
    var nroNinos = numeroNinosPlanes();

    var datos = "{CodigoPlan:'',Ciudad:'" + $("#paq_bus_destino").val() + "',FecIni:'" +
            $("#paq_bus_checkin").val() + "',FecFin:'" + $("#paq_bus_checkout").val() +
            "',Adultos:'" + nroAdultos + "',Ninos:'" + nroNinos + "'" +
            ",acomodacionHabitacion:" + acomodacionesPlanes() +
            ",acomodacionNinos:" + acomodacionesNinos() + "}";

    $.ajax({
        type: "POST",
        url: "busquedaPlanes.aspx/BuscarPlanes",
        data: datos,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {
            BuscarPlanes_callback(res.d);
        }
    });

}

function acomodacionesNinos() {
    var nroCuartos = parseInt($("#paq_bus_nocuartos").val());
    var ninosPlanes = $("[id^='paq_bus_chdnocuartos']");

    var jsonAcomodaciones = "[";

    for (var i = 0; i < nroCuartos; i++) {
        if (i == 0)
            jsonAcomodaciones += "'" + ninosPlanes[i].value + "'";
        else
            jsonAcomodaciones += ",'" + ninosPlanes[i].value + "'";
    }

    jsonAcomodaciones += "]";
    return jsonAcomodaciones;
}

function acomodacionesPlanes() {
    var nroCuartos = parseInt($("#paq_bus_nocuartos").val());
    var adultosPlanes = $("[id^='paq_bus_adtnocuartos']");

    var jsonAcomodaciones = "[";

    for (var i = 0; i < nroCuartos; i++) {
        if (i == 0)
            jsonAcomodaciones += "'" + adultosPlanes[i].value + "'";
        else
            jsonAcomodaciones += ",'" + adultosPlanes[i].value + "'";
    }

    jsonAcomodaciones += "]";
    return jsonAcomodaciones;
}

function numeroAdultosPlanes() {
    var nroCuartos = parseInt($("#paq_bus_nocuartos").val());
    var adultosPlanes = $("[id^='paq_bus_adtnocuartos']");
    var nroAdultos = 0;
    for (var i = 0; i < nroCuartos; i++) {
        nroAdultos += parseInt(adultosPlanes[i].value);
    }
    return nroAdultos;
}

function numeroNinosPlanes() {
    var nroCuartos = parseInt($("#paq_bus_nocuartos").val());
    var ninosPlanes = $("[id^='paq_bus_chdnocuartos']");
    var nroNinos = 0;
    for (var i = 0; i < nroCuartos; i++) {
        nroNinos += parseInt(ninosPlanes[i].value);
    }
    return nroNinos;
}

function BuscarPlanes_callback(resultado) {

    if (resultado != '') {
        var Json = eval('(' + resultado + ')');
        info_plan = Json;
        if ((info_plan.Planes != null) && (info_plan.Planes.Plan != undefined)) {
            $("#contenedor_resultados_planes").setTemplateURL('./templates/planes/res_busqueda_planes.html', null, { filter_data: false });
            $("#contenedor_resultados_planes").processTemplate(Json);
            $("#contenedor_resultados_planes").show();
            $("#contenedor_resultados_planes_fotos").hide();
            $("#ofertas_destacados").hide();

            botones_ui();
        } else {
            $("#contenedor_resultados_planes").hide();
            $("#contenedor_resultados_planes_fotos").show();
            $("#ofertas_destacados").show();            
        }

    }
    $('#buscando_planes').jqmHide();
}

function seleccionar_habitacion_paq(paq, detalle) {
    var opt_paq = document.getElementsByName('optpaq_' + paq);
    for (var i = 0; i < opt_paq.length; i++) {
        cambiar_estado_combos(paq, opt_paq[i].value, true);
        $('#valorHPK_' + paq + '_' + opt_paq[i].value).hide();
    }

    var opt = document.getElementById('optpaq_' + paq + '_' + detalle);
    cambiar_estado_combos(paq, detalle, !opt.checked);

    calcular_paquete(paq, detalle);


}

function cambiar_estado_combos(paq, detalle, disabled) {
    var paq_adult = document.getElementsByName('adult_' + paq + '_' + detalle);

    for (var i = 0; i < paq_adult.length; i++) {
        paq_adult[i].disabled = disabled;
        if (paq_adult[i].disabled) {
            paq_adult[i].value = 1; //Cambio AQUI
        }
    }

    var paq_nocadic = document.getElementsByName('nocadic_' + paq + '_' + detalle);

    for (var i = 0; i < paq_nocadic.length; i++) {
        paq_nocadic[i].disabled = disabled;
        if (paq_nocadic[i].disabled) {
            paq_nocadic[i].value = 0;
        }
    }

}


function calcular_paquete(paq, detalle) {
    var paq_adult = document.getElementsByName('adult_' + paq + '_' + detalle);
    var paq_nino = document.getElementsByName('nino_' + paq + '_' + detalle);
    var paq_nocadic = document.getElementsByName('nocadic_' + paq + '_' + detalle);

    total_plan = 0;
    var hab;

    for (var i = 0; i < paq_adult.length; i++) {
        hab = paq_adult[i].id.split('_');
        var Tarifa = info_plan.Planes.Plan[hab[1]].DetallesPlan[0].DetallePlan[hab[2]].Tarifas[0].Tarifa[hab[3]];

        if (paq_adult[i].value > 0) {
            $.ajax({
                type: "POST",
                url: "busquedaPlanes.aspx/calcularPaquete",
                data: "{codigoTarifa:'" + Tarifa.Codigo + "',numeroPersonas:'" + paq_adult[i].value + "',numeroNinos:'"
                        + paq_nino[i].value + "',nochesAdicionales:'" + paq_nocadic[i].value + "',IndPlan:'"
                        + hab[1] + "',IndDetalle:'" + hab[2] + "',IndTarifa:'" + hab[3] + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(res) {

                    if (res.d != '') {

                        var Json = eval('(' + res.d + ')');

                        total = parseFloat(Json.Tarifa.TarifaNormal.replace(',', '.')) + parseFloat(Json.Tarifa.TarifaNinoNormal.replace(',', '.'))
                        + parseFloat(Json.Tarifa.TarifaNinoAdicional.replace(',', '.')) + parseFloat(Json.Tarifa.TarifaAdicional.replace(',', '.'))
                        + parseFloat(Json.Tarifa.Tarifa2doNinoNormal.replace(',', '.')) + parseFloat(Json.Tarifa.Tarifa2doNinoAdicional.replace(',', '.'));

                        total_plan = total_plan + total;

                        var Tarifa = info_plan.Planes.Plan[Json.Tarifa.IndPlan].DetallesPlan[0].DetallePlan[Json.Tarifa.IndDetalle].Tarifas[0].Tarifa[Json.Tarifa.IndTarifa];
                        Tarifa.ValorTotal = total;
                        Tarifa.CTarifaNormal = Json.Tarifa.TarifaNormal;
                        Tarifa.CTarifaNinoNormal = Json.Tarifa.TarifaNinoNormal;
                        Tarifa.CTarifaNinoAdicional = Json.Tarifa.TarifaNinoAdicional;
                        Tarifa.CTarifaAdicional = Json.Tarifa.TarifaAdicional;
                        Tarifa.CTarifa2doNinoNormal = Json.Tarifa.Tarifa2doNinoNormal;
                        Tarifa.CTarifa2doNinoAdicional = Json.Tarifa.Tarifa2doNinoAdicional;
                        
                        $("#valorHPK_" + paq + "_" + detalle).html("<sup>$</sup><strong>" + formatCurrency(parseInt(total_plan)) + "</strong><br/>Valor total");
                        if (!$("#valorHPK_" + paq + "_" + detalle).is(':visible')) {
                            $("#valorHPK_" + paq + "_" + detalle).show("blind");
                        }

                    }
                }
            });
        }
    }

    if (paq_adult.length == 0) {
        $("#valorHPK_" + paq + "_" + detalle).html("<sup>$</sup><strong>" + formatCurrency(parseInt(total_plan)) + "</strong><br/>Valor total");
        if (!$("#valorHPK_" + paq + "_" + detalle).is(':visible')) {
            $("#valorHPK_" + paq + "_" + detalle).show("blind");
        }
    
    }

    $("#div_form_plan_tarifas_" + paq).html("");
    $("#div_form_plan_tarifas_" + paq).hide();
}

function formulario_paquete(paq) {

    if (VerificarLogin() == "N") {
        mostrar_login();
        return;
    }

    var opt_paq = document.getElementsByName('optpaq_' + paq);
    var detalle;

    for (var i = 0; i < opt_paq.length; i++) {
        if (opt_paq[i].checked) {

            detalle = info_plan.Planes.Plan[paq].DetallesPlan[0].DetallePlan[opt_paq[i].value];

            var paq_adult = document.getElementsByName('adult_' + paq + '_' + opt_paq[i].value);
            var paq_nino = document.getElementsByName('nino_' + paq + '_' + opt_paq[i].value);
            var paq_nocadic = document.getElementsByName('nocadic_' + paq + '_' + opt_paq[i].value);

            var hab;
            var lok = true;
            var ltotal = 0;

            var maxPersonas = numeroPersonas = numeroAdultosPlanes; //detalle.RFPersonas;herney
            var minPersonas = detalle.RIPersonas;

            var jsonHabitaciones = '\"Habitaciones\":[';

            for (var i = 0; i < paq_adult.length; i++) {
                hab = paq_adult[i].id.split('_');

                var Tarifa = info_plan.Planes.Plan[hab[1]].DetallesPlan[0].DetallePlan[hab[2]].Tarifas[0].Tarifa[hab[3]];

                Tarifa.CantAdult = paq_adult[i].value;
                Tarifa.CantNinos = paq_nino[i].value;
                Tarifa.NocAdic = paq_nocadic[i].value;
                Tarifa.IndHabitacion = i + 1;

                ltotal = ltotal + (paq_adult[i].value * Tarifa.CantAcomodacion);

                jsonHabitaciones += '{\"Acomodacion\":\"' + Tarifa.Acomodacion + '\",\"CantAcomodacion\":\"'
                            + Tarifa.CantAcomodacion + '\",\"CantAdultos\":\"' + paq_adult[i].value
                            + '\",\"CantNinos\":\"' + paq_nino[i].value + '\",\"IndHabitacion\":\"' + Tarifa.IndHabitacion + '\"},';
            }

            if (i > 0)
                jsonHabitaciones = jsonHabitaciones.substring(0, jsonHabitaciones.length - 1);
            jsonHabitaciones = jsonHabitaciones + "]";

            if (ltotal > maxPersonas) {
                alerta('La cantidad de habitaciones supera el maximo permitido para el plan');
                lok = false;
            }
            /*
            esta validacion no se necesita hacer
            if (ltotal < minPersonas) {
            alerta('La cantidad de habitaciones es inferior al permitido para el plan')
            lok = false;
            }*/

            if (lok == true) {

                var JSon = eval('({' + jsonHabitaciones + '})');

                $("#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_plan');
                    $("#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();
                }

                $("#div_form_room").setTemplateURL('./templates/planes/room_list.html', null, { filter_data: false });
                $("#div_form_room").setParam('Div_Id', paq);
                $("#div_form_room").processTemplate(JSon);
                $("#div_form_room").show("blind");

                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);
                        }
                    }
                }

                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_paquete(paq);
                        }
                    }
                });
            }
            break;
        }
    }

}

function onchange_nombres_plan(Div_Id) {

    $("[id$=D_" + Div_Id + "_1_1_Nombres]").val($("[id$=rese_nomcliente]").val());
    $("[id$=D_" + Div_Id + "_1_1_Apellidos]").val($("[id$=rese_apecliente]").val());

}

function reservar_paquete(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 opt_paq = document.getElementsByName('optpaq_' + paq);
    var detalle;
    var lok = false;
    for (var i = 0; i < opt_paq.length; i++) {
        if (opt_paq[i].checked) {

            detalle = info_plan.Planes.Plan[paq].DetallesPlan[0].DetallePlan[opt_paq[i].value];

            var paq_adult = document.getElementsByName('adult_' + paq + '_' + opt_paq[i].value);
            var paq_nino = document.getElementsByName('nino_' + paq + '_' + opt_paq[i].value);
            var paq_nocadic = document.getElementsByName('nocadic_' + paq + '_' + opt_paq[i].value);

            var acomoda;
            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");
                    }
                }


                GNombresCliente = jsonReserva.data[0].rese_nomcliente;
                GApellidosCliente = jsonReserva.data[0].rese_apecliente;
            }

            if (lok) {
                var inp_paq = document.getElementsByName('inp_' + paq + '_roomList');

                if (inp_paq.length > 0) {
                    var jsonHabitaciones = '\"Habitaciones\":[{';

                    var hab = inp_paq[0].id.split('_');
                    var campo = hab[4];

                    for (var i = 0; i < inp_paq.length; i++) {

                        hab = inp_paq[i].id.split('_');

                        if (campo == hab[4]) {
                            if (i > 0)
                                jsonHabitaciones = jsonHabitaciones.substring(0, jsonHabitaciones.length - 1) + '},{';

                            jsonHabitaciones += '\"Tipo\":\"' + hab[0] + '\",\"IndHabitacion\":\"' + hab[2] + '\",';
                        }

                        jsonHabitaciones += '\"' + hab[4] + '\":\"' + inp_paq[i].value + '\",';
                    }
                    if (i > 0)
                        jsonHabitaciones = jsonHabitaciones.substring(0, jsonHabitaciones.length - 1);
                    jsonHabitaciones = jsonHabitaciones + '}]';

                    var JSon = eval('({' + jsonHabitaciones + '})');

                }

                lok = true;
                for (var i = 0; i < JSon.Habitaciones.length; i++) {

                    if (JSon.Habitaciones[i].Nombres == '') {
                        lok = false;
                        break;
                    }

                    if (JSon.Habitaciones[i].Apellidos == '') {
                        lok = false;
                        break;
                    }

                }

                if (lok) {
                    var lFechaSalida = document.getElementById('fecsalida_' + paq);
                    detalle.FechaSalida = "";
                    if (lFechaSalida != null)
                        detalle.FechaSalida = lFechaSalida.value;

                    var lCiudSalida = document.getElementById('ciudsalida_' + paq);
                    detalle.CiudSalida = "";
                    if (lCiudSalida != null)
                        detalle.CiudSalida = lCiudSalida.value;

                    $.ajax({
                        type: "POST",
                        url: "./Utilidades/reservas.aspx/ReservarPlan",

                        data: "{roomList:{" + jsonHabitaciones + "},DetallePlan:" + $.toJSON(detalle)
                              + ",DivId:'" + paq + "',DatosReserva:{" + dataReserva + "}}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(res) {

                            reservar_paquete_callback(res.d);
                        }
                    });
                } else {
                    alerta('Debe especificar el nombre y apellidos para todos los huespedes');
                }
            }
            break;
        }
    }
}

function reservar_paquete_callback(Resultado) {
    if (Resultado.status == "OK") {
        $("#mensaje_reservando").jqmHide();

        alerta("Reserva realizada satisfactoriamente");
        $("#div_form_reserva").dialog('close');
        $("#div_plan_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', 0);
    } else {
        alerta(Resultado.mensaje);
    }
}

function detalle_plan_gen(infoPlan, DivID, nomDiv, mostrar, botonCerrar) {

    var options = { runnable_functions: true };
    $('#' + nomDiv).html("<center>Cargando la informaci&oacute;n del plan<br><img src=\"./img/ajax_6.gif\" /></center>");
    $('#' + nomDiv).setTemplateURL('./templates/planes/plan_completo.html', null, { filter_data: false });
    $('#' + nomDiv).setParam('DivId', DivID);
    
    if (infoPlan.Fotos[0] != null) {
        $('#' + nomDiv).setParam('PathImg', infoPlan.Fotos[0].Path);
    }

    var NumIdiomas = 0;
    
    if (infoPlan.Idiomas[0] != null) {
        NumIdiomas = infoPlan.Idiomas[0].Campo.length;
    }
    
    $('#' + nomDiv).setParam('NumIdiomas', NumIdiomas);
    
    var NumFotos = 0;
    
    if (infoPlan.Fotos[0] != null) {
        NumFotos = infoPlan.Fotos[0].Foto.length;
    }
    
    $('#' + nomDiv).setParam('NumFotos', NumFotos);
    $('#' + nomDiv).setParam('botonCerrar', botonCerrar);
    $('#' + nomDiv).setParam('nomDiv', nomDiv);
    $('#' + nomDiv).processTemplate(infoPlan);

    if (mostrar == 'S') {
        $('#' + nomDiv).show("blind");
    }

    botones_ui();
}

function ocultarMostrarComponente(nombreObjeto, mostrarOcultar) {
    if (mostrarOcultar)
        $('#' + nombreObjeto).show();
    else
        $('#' + nombreObjeto).hide();

}

function cargarPlanesDestacadosBusqueda() {

    $.ajax({
        type: "POST",
        url: "busquedaPlanes.aspx/cargarPlanesDestacados",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {

            if (res.d != '') {
                Json_Destacados = eval('(' + res.d + ')');

                if (Json_Destacados.Planes != null) {
                    $("#destacado_planes").setTemplateURL('./templates/planes/destacados_busqueda.htm', null, { filter_data: false });
                    $("#destacado_planes").processTemplate(Json_Destacados);

                    botones_ui();
                }
            }
        }
    });

}

function mostrar_plan_busqueda(codigo) {
    document.location.href = "./busquedaPlanes.aspx?codigoPlan=" + codigo + "&hacer_buscar=si";
}


function BuscarPlanesCodigo(Codigo) {

    $("#buscando_planes").jqmShow();

    var datos = "{CodigoPlan:'" + Codigo +
        "',Ciudad:'',FecIni:'',FecFin:'',Adultos:'',Ninos:'',acomodacionHabitacion:" +
        acomodacionesPlanes() + ",acomodacionNinos:" + acomodacionesNinos() + "}";

    $.ajax({
        type: "POST",
        url: "busquedaPlanes.aspx/BuscarPlanes",
        data: datos,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {
            BuscarPlanes_callback(res.d);
        }
    });

}

function mostrar_plan(codPlan) {
    $.ajax({
        type: "POST",
        url: "Default.aspx/cargarPlanCodigo",
        data: "{Codigo:'" + codPlan + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(res) {
            mostrar_plan_callback(res.d);
        }
    });
}

function mostrar_plan_callback(resultado) {

    if (resultado != '') {
        var Json = eval('(' + resultado + ')');
        if (Json.Planes != null) {
            detalle_plan_gen(Json.Planes.Plan[0], 0, "div_popup", "N", "N")
            $("#div_popup").dialog('destroy');
            $("#div_popup").dialog({
                bgiframe: true,
                modal: true,
                width: 700,
                show: 'slide',
                zIndex: 0,
                buttons: {
                    Ver: function() {
                        document.location.href = "./busquedaPlanes.aspx?codigoPlan=" + Json.Planes.Plan[0].Codigo + "&hacer_buscar=si";
                    },
                    Ok: function() {
                        $(this).dialog('close');
                    }
                }
            });
        }
    }
}