﻿///////////////////////////////////////////////////////////////////
// Ideas Fractal  2009                                           //
// Funciones para el manejo de mayoreo y receptivos              //   
// estas rutinas estan apoyadas en jquery   www.jquery.com       //
///////////////////////////////////////////////////////////////////

/**
Lista de funciones para el manejo de los formularios de mayoreo y receptivo
*/

////////////////////////////////////////////////////////////////////////////////////////////
//Lista de funciones genericas para todos los tipos de contenido


var pathRaiz = "";
function pintarTabsFormularioPppal() {
    $("#buscadortabs").tabs(); //se crean los tabs
    $.datepicker.setDefaults($.datepicker.regional['es']);
}


function iniciarPaginaPpal() {
    pintarTabsFormularioPppal();
    inicializarFormulariosHoteles();
    iniciarComponentesCarros();
    iniciarComponentesTours();
    iniciarComponentesTransfers();
    iniciarComponentesPlanes();
}

//Funciones de Carros
///Esta funcion hace que se muestre o se oculte el campo para ingresar la ciudad de entrega del vehiculo
function MostrarocultarCiudadEntregaVehiculo(valor) {

    if (valor == "S") {
        $('#div_car_bus_lugarentrega').css("display", "none");
        $('#lbldiv_car_bus_lugarentrega').css("display", "none");
    }
    else {
        $('#div_car_bus_lugarentrega').show();
        $('#lbldiv_car_bus_lugarentrega').show();
    }
}

///Cambia la fotografia del tipo de vehiculo 
function cambiarFotoTipoCarro(valor) {
    document.images['imagenVehiculo'].src = 'images/logoscarros/' + valor + ".jpg"; ;
}

//Genera el combo de las horas de salida   
function pintarComboPorRangosIntervalosHoras(nombreCombo, valorIni, valorFin, incremento) {
    var cad = "";
    cad = "<Select id=" + nombreCombo + " name=" + nombreCombo + ">";
    var item = "";
    for (i = valorIni; i <= valorFin; i++) {
        if (i < 10)
            item = "<option value=0" + i + ":00>0" + i + ":00</option>";
        else
            item = "<option value=" + i + ":00>" + i + ":00</option>";
        cad = cad + item;
    }
    cad = cad + "</select>";
    return cad;
}
//Fin funciones carros      
////////////////////////////////////////////////////////////////////////////
//Funciones para planes      

//Esta funcion genera el html para ingresar la edades de los ninos
function pintarEdadesNinosPlanes() {
    var numninos = $('#paq_bus_chdnocuartos').val();
    $('#paq_edades_nino').innerHtml = "";
    var cad = "<table>";
    for (m = 1; m <= numninos; m++) {
        cad = cad + "<tr><td>" + generarComboEdades("paq_edadnino_" + m, 0, gEdadMax) + "</td></tr>";
    }
    $('#paq_edades_nino').html(cad);
}



function pintarEdadesNinos(numCuarto, numNinos) {

    $('#ListaedadCuarto').show()
    if (numNinos == 0)
        $('#edadCuarto' + numCuarto).css("display", "none");
    else {
        $('#edadCuarto' + numCuarto).innerHtml = "";
        var cadena = "";
        cadena = "<table><tr><td>" + numCuarto + "</td>";
        var lo = "";
        for (i = 1; i <= numNinos; i++) {
            lo = generarComboEdades("EdadNinocuarto_" + numCuarto + "_" + i, 1, gEdadMax);
            cadena = cadena + "<td>" + lo + "</td>";
        }

        for (i = i; i <= gNumNinosXCuarto; i++) {
            cadena = cadena + "<td>&nbsp;</td>";
        }
        cadena = cadena + "</tr></table>";

        $('#edadCuarto' + numCuarto).html(cadena);
        $('#edadCuarto' + numCuarto).show();

    }
    SeleccionarPersonas();
}

function verifacarCajasEdades(numCuartos) {
    var i = 1;
    for (i = 1; i <= numCuartos; i++) {
        pintarEdadesNinos(i, parseInt($('#hot_bus_chdnocuartos' + i).val()));
    }
}

function generarComboEdades(nombreCombo, valIni, valFin) {
    var cad = "";
    cad = "<select id=\"" + nombreCombo + "\"name=\"" + nombreCombo + "\">";
    for (k = valIni; k <= valFin; k++) {
        cad = cad + "<option value=" + k + ">" + k + "</option>";
    }
    cad = cad + "</select>";
    return cad;

}

function escribirItemsSelect(valIni, valFin, prefijo) {
    for (i = valIni; i <= valFin; i++) {
        aux = "";
        if (i == -1) {
            aux = " Selected";
        }
        document.write("<option value=" + i + aux + ">" + prefijo + " " + i + "</option>");
    }
}

function escribirItemsSelectCadena(valIni, valFin, prefijo, valorDefecto) {
    var cad = "";
    for (i = valIni; i <= valFin; i++) {
        aux = "";
        if (i == valorDefecto) {
            aux = " Selected";
        }
        cad = cad + "<option value=" + i + aux + ">" + prefijo + " " + i + "</option>";
    }
    return cad;
}



//Rutinas para el manejo de hoteles
function asignaValorNal(valor) {
    if (valor == "N") {
        $('#destinoNal').show();
        $('#destinoNalI').css("display", "none");
    } else {
        $('#destinoNalI').show();
        $('#destinoNal').css("display", "none");
    }
}


//Rutinas para el manejo de hoteles
function asignaValorNalPlan(valor) {
    if (valor == "N") {
        $('#PdestinoNal').show();
        $('#PdestinoNalI').css("display", "none");
    } else {
        $('#PdestinoNalI').show();
        $('#PdestinoNal').css("display", "none");
    }
}




function inicializarFormulariosHoteles(pathRaiz) {
    var fechaGuia = new Date();
    var fechaInicial = new Date(fechaGuia.getFullYear(), fechaGuia.getMonth(), fechaGuia.getDate() * 1 + 1 * GCutOffHotelesMYR);
    var fechaFinal = new Date(fechaInicial.getFullYear(), fechaInicial.getMonth(), fechaInicial.getDate() * 1 + 2);
    $("#hot_bus_checkin").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaInicial });
    $("#hot_bus_checkout").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaFinal });
    /*$("#hot_bus_checkout").attr("disabled", true);*/

    $("#hot_bus_checkin").change(function() {
        var fecha = $("#hot_bus_checkin").datepicker('getDate');
        fecha.setDate(fecha.getDate() + 1);
        $("#hot_bus_checkout").datepicker('option', 'minDate', fecha);
        $('#hot_bus_checkout').removeAttr("disabled");
    });


    /* $("#hot_bus_destino").autocomplete("urls/ListaAeropuertos.aspx", {
    delay: 10,
    minChars: 3,
    cacheLength: 1,
    matchCase: 1,
    maxItemsToShow: 10,
    autoFill: true,
    extraParams: { NalInter: 'N' }
    });
    */

    $("#hot_bus_destinoI").autocomplete("urls/ListaAeropuertos.aspx", {
        delay: 10,
        minChars: 3,
        cacheLength: 1,
        matchCase: 1,
        maxItemsToShow: 10,
        autoFill: true,
        extraParams: { NalInter: 'I' }
    });


    $("#hot_bus_nocuartos").change(function() {
        no_rooms = parseInt($('#hot_bus_nocuartos').val());
        for (i = 2; i <= no_rooms; i++) {
            $('#cuarto' + i).show();
        }
        for (j = no_rooms + 1; j <= gNumCuartos; j++) {
            $('#cuarto' + j).css("display", "none");
            $('#hot_bus_chdnocuartos' + j).val(0);
        }
        verifacarCajasEdades(gNumCuartos);
    });


}


///Fin funciones para hoteles


//Funciones para el manejo de planes

function iniciarComponentesPlanes() {
    //Rutinas para el manejo de planes  
    var fechaGuia = new Date();
    var fechaInicial = new Date(fechaGuia.getFullYear(), fechaGuia.getMonth(), fechaGuia.getDate() * 1 + GCutOffPlanesMYR * 1);
    var fechaFinal = new Date(fechaInicial.getFullYear(), fechaInicial.getMonth(), fechaInicial.getDate() + 2);
    $("#paq_bus_checkin").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaInicial });
    $("#paq_bus_checkout").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaFinal });
    //$("#paq_bus_checkout").attr("disabled", true);

    $("#paq_bus_checkin").change(function() {
        var fecha = $("#paq_bus_checkin").datepicker('getDate');
        fecha.setDate(fecha.getDate() + 3);
        $("#paq_bus_checkout").datepicker('option', 'minDate', fecha);
        $('#paq_bus_checkout').removeAttr("disabled");
    });

    $('#paq_bus_chdnocuartos').change(function() {
        pintarEdadesNinosPlanes();
    });

    $("#paq_bus_nocuartos").change(function() {
        no_rooms = parseInt($('#paq_bus_nocuartos').val());
        for (i = 2; i <= no_rooms; i++) {
            $('#paq_cuarto' + i).show();
        }
        for (j = no_rooms + 1; j <= gNumCuartos; j++) {
            $('#paq_cuarto' + j).css("display", "none");
            $('#paq_bus_chdnocuartos' + j).val(0);
        }
    });


    /*  $("#paq_bus_lugarsalida").autocomplete("urls/ListaAeropuertos.aspx", {
    delay: 10,
    minChars: 3,
    cacheLength: 1,
    matchCase: 1,
    maxItemsToShow: 10,
    autoFill: true,
    extraParams: { NalInter: 'N' }
    });

          $("#paq_bus_lugarsalidaI").autocomplete("urls/ListaAeropuertos.aspx", {
    delay: 10,
    minChars: 3,
    cacheLength: 1,
    matchCase: 1,
    maxItemsToShow: 10,
    autoFill: true,
    extraParams: { NalInter: 'P' }
    });
         
    $("#paq_bus_destino").autocomplete( "urls/ListaAeropuertos.aspx", {
    delay: 10,
    minChars: 3,
    cacheLength: 1,
    matchCase: 1,
    maxItemsToShow: 10,
    autoFill: true,
    extraParams: { NalInter: 'P' }
    });
    */
}


function mostrarListaCiudades(divPlanAMostrar, titulo) {
    $('#div_paquete_nal').css("display", "none");
    $('#div_circuito_inter').css("display", "none");
    $('#tituloDestinoPlanes').html(titulo);
    $('#' + divPlanAMostrar).show();
}

//FIN FUNCIONES PARA EL MANEJO DE PLANES      
////////////////////////////////////////////////////////////////
//INICIO FUNCIONES PARA EL MANEJO DE CARROS
function iniciarComponentesCarros() {
    var fechaGuia = new Date();
    var fechaInicial = new Date(fechaGuia.getFullYear(), fechaGuia.getMonth(), fechaGuia.getDate() * 1 + GCutOffCarrosMYR * 1);
    var fechaFinal = new Date(fechaInicial.getFullYear(), fechaInicial.getMonth(), fechaInicial.getDate() * 1 + 2);
    $("#car_bus_fecharetiro").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaInicial });
    $("#car_bus_fechaentrega").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaFinal });
    $("#car_bus_fechaentrega").attr("disabled", true);
    $("#car_bus_fecharetiro").change(function() {
        var fecha = $("#car_bus_fecharetiro").datepicker('getDate');
        fecha.setDate(fecha.getDate() + 1);
        $("#car_bus_fechaentrega").datepicker('option', 'minDate', fecha);
        $('#car_bus_fechaentrega').removeAttr("disabled");
    });

    $("#car_horaretiro").html(pintarComboPorRangosIntervalosHoras("car_horaretiro", 0, 23, 1));
    $("#car_horaentrega").html(pintarComboPorRangosIntervalosHoras("car_horaentrega", 0, 23, 1));
    $('#car_tipocarro').change(function() {
        var valor = $('#car_tipocarro').val();
        cambiarFotoTipoCarro(valor);
    });

    $("#car_bus_lugarretiro").autocomplete("urls/ListaAeropuertos.aspx", {
        delay: 10,
        minChars: 3,
        cacheLength: 1,
        matchCase: 1,
        maxItemsToShow: 10,
        autoFill: true,
        extraParams: { NalInter: 'I' }
    });

    $("#car_bus_lugarentrega").autocomplete("urls/ListaAeropuertos.aspx", {
        delay: 10,
        minChars: 3,
        cacheLength: 1,
        matchCase: 1,
        maxItemsToShow: 10,
        autoFill: true,
        extraParams: { NalInter: 'I' }
    });
}

////////////////////////////////////////////////
//FIN FUNCIONES PARA EL MANEJO DE CARROS
////////////////////////////////////////////////
//INICIO FUNCIONES PARA EL MANEJO DE SERVICIOS
function iniciarComponentesTours() {
    var fechaGuia = new Date(); //*1 + GCutOffServiciosMYR*1
    var fechaInicial = new Date(fechaGuia.getFullYear(), fechaGuia.getMonth(), fechaGuia.getDate());
    var fechaFinal = new Date(fechaInicial.getFullYear(), fechaInicial.getMonth(), fechaInicial.getDate() + 2);
    $("#tour_bus_checkin").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaInicial });
    $("#tour_bus_checkout").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaFinal });
    //$("#tour_bus_checkout").attr("disabled", true);
    $("#tour_bus_checkin").change(function() {
        var fecha = $("#tour_bus_checkin").datepicker('getDate');
        fecha.setDate(fecha.getDate() + 2);
        $("#tour_bus_checkout").datepicker('option', 'minDate', fecha);
        $('#tour_bus_checkout').removeAttr("disabled");
    });
}

function iniciarComponentesTransfers() {
    var fechaGuia = new Date(); //*1 + GCutOffServiciosMYR*1
    var fechaInicial = new Date(fechaGuia.getFullYear(), fechaGuia.getMonth(), fechaGuia.getDate());
    var fechaFinal = new Date(fechaInicial.getFullYear(), fechaInicial.getMonth(), fechaInicial.getDate() + 2);
    $("#transfers_bus_checkin").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaInicial });
    $("#transfers_bus_checkout").datepicker({ numberOfMonths: 2, dateFormat: 'yy-mm-dd', showOn: 'button', buttonImage: 'images/button_calendar.gif', buttonImageOnly: true, minDate: fechaFinal });
    //$("#transfers_bus_checkout").attr("disabled", true);
    $("#transfers_bus_checkin").change(function() {
        var fecha = $("#transfers_bus_checkin").datepicker('getDate');
        fecha.setDate(fecha.getDate() + 2);
        $("#transfers_bus_checkout").datepicker('option', 'minDate', fecha);
        $('#transfers_bus_checkout').removeAttr("disabled");
    });
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num); // + '.' + cents);
}


function mostrarAreasTransfers() {

    $('#div_serv_areas_transfers').hide();

    if (GPideAreaTransfer == 'S') {
        $('#div_serv_areas_transfers').show();
        //CargarAreasTransfers();
    }
}

function CargarAreasTransfers() {
    if (GPideAreaTransfer == 'S') {
        var CiudOrig = $('#serv_des_transfers').val();

        $.ajax({
            type: "POST",
            url: "Default.aspx/listaCiudadesAreasTransfers",
            data: "{CiudOrig:'" + CiudOrig + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(res) {

                CargarAreasTransfers_callback(res.d);
            }
        });
    }
}

function CargarAreasTransfers_callback(res) {
    $('#div_combo_areas_transfers').html(res);
}


//////////FUNCIONES GENERALES
//Este metodo 
function seleccionarCombo(valorABusca, comboSelect) {
    var i = 0;
    var j = comboSelect.length;
    while (i < j) {
        if (comboSelect.options[i].value == valorABusca) {
            comboSelect.options[i].selected = true;
            return false;
        }
        i++;
    }
}

///funciones de pantalla
function pintarTabs() {

    var cad = new String(GPanelesAMostrar);
    var aux = "<ul>";
    if (cad.substring(0, 1) == "1") aux = aux + '<li><a href="#bus_hotel" class="l1_text"><span>Hotel</span></a></li>';
    if (cad.substring(1, 2) == "1") aux = aux + '<li><a href="#bus_planes" class="l1_text"><span>Planes</span></a></li>';
    //if (cad.substring(2, 3) == "1") aux = aux + '<li><a href="#bus_carros" class="l1_text"><span>Carros</span></a></li>';
    if (cad.substring(3, 4) == "1") aux = aux + '<li><a href="#bus_tours" class="l1_text"><span>Tours</span></a></li>';
    if (cad.substring(4, 5) == "1") aux = aux + '<li><a href="#bus_transfers" class="l1_text"><span>Transfers</span></a></li>';
    aux = aux + '</ul>';

    return aux;
}

function ocultarTabsBusqueda() {

    // if(GPanelesAMostrar==''){ ;alert('mierda');}

    if (mostrarDiv(GPanelesAMostrar, 0) == false) $('#bus_hotel').hide();
    if (mostrarDiv(GPanelesAMostrar, 1) == false) $('#bus_planes').hide();
    //if (mostrarDiv(GPanelesAMostrar, 2) == false) $('#bus_carros').hide();
    $('#bus_carros').hide();
    if (mostrarDiv(GPanelesAMostrar, 3) == false) $('#bus_tours').hide();
    if (mostrarDiv(GPanelesAMostrar, 4) == false) $('#bus_transfers').hide();

}

function mostrarDiv(panel, pos) {
    if (panel.substring(pos, pos + 1) == "1") return true;
    return false;
}

function botones_ui() {
    //all hover and click logic for buttons
    $(".fg-button:not(.ui-state-disabled)")
  .hover(
   function() {
       $(this).addClass("ui-state-hover");
   },
   function() {
       $(this).removeClass("ui-state-hover");
   }
  )
  .mousedown(function() {
      $(this).parents('.fg-buttonset-single:first').find(".fg-button.ui-state-active").removeClass("ui-state-active");
      if ($(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active')) { $(this).removeClass("ui-state-active"); }
      else { $(this).addClass("ui-state-active"); }
  })
  .mouseup(function() {
      if (!$(this).is('.fg-button-toggleable, .fg-buttonset-single .fg-button,  .fg-buttonset-multi .fg-button')) {
          $(this).removeClass("ui-state-active");
      }
  });
}


