(function($) {
var settings = {
Idioma: "",
urlB2C: "",
urlAutocomplete: "/autocomplete",
NumAdultosVuelos: 5,
NumNinosVuelos: 5,
NumHabitaHoteles: 3,
NumAdultosHoteles: 5,
NumNinosHoteles: 2,
TieneVuelos: "N",
TieneHoteles: "N",
TieneAutos: "S",
TienePlanes: "N",
TieneTransfers: "N",
TieneTiquetes: "N",
TieneVueloHotel: "N",
TieneSeguros: "N",
TieneCalendarVuelos: "N",
TieneSliderDinamico: "N",
EdadesNinosHoteles: 6,
theme: "default",
muestraPromocode: "N",
OffsetFechaHoteles: 3,
DeltaFechaHoteles: 1,
CalendarVuelos: "S",
CiasAutosBusqueda: "av",
OffsetFechaAutos: 1,
DeltaFechaAutos: 1,
hideMT: false,
ParamIatasVueloDirecto: "",
ParamEdadesNinosHoteles: 11,
OffsetFechaVuelos: 3,
UsaSegurosPropios: "S",
OffsetFechaSeguros: 0,
OffsetToFechaSeguros: 0,
SliderDinamico: "",
IdSliderName: "",
IdSliderHotelName: "",
paiOriBloq: "",
bloqPais: false,
codeSlideHotels: "1"
};
var methods = {
init: function(options) {
settings = $.extend(settings, options);
return this.each(function() {
$(this).setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/TabsSearch.htm', null, { filter_data: false });
$(this).setParam("TieneVuelos", settings.TieneVuelos);
$(this).setParam("TieneHoteles", settings.TieneHoteles);
$(this).setParam("TieneAutos", settings.TieneAutos);
$(this).setParam("TienePlanes", settings.TienePlanes);
$(this).setParam("TieneTransfers", settings.TieneTransfers);
$(this).setParam("TieneTiquetes", settings.TieneTiquetes);
$(this).setParam("TieneVueloHotel", settings.TieneVueloHotel);
$(this).setParam("TieneSeguros", settings.TieneSeguros);
$(this).setParam("TieneCalendarVuelos", settings.TieneCalendarVuelos);
$(this).setParam("TieneSliderDinamico", settings.TieneSliderDinamico);
$(this).processTemplate(resTraduccion[settings.Idioma]);
methods.InicializaVuelos();
methods.InicializaHoteles();
methods.InicializaAutos();
methods.InicializaVueloHotel();
methods.InicializaSeguros();
methods.InicializaCalendar();
methods.InicializaSlideDynamic(settings.IdSliderName, settings.SliderDinamico);
methods.InicializaSlideHotel(settings.IdSliderHotelName, settings.codeSlideHotels);
});
},
InicializaVuelos: function() {
$("#buscadorVuelos").setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchFlights.htm'), null, { filter_data: false });
$("#buscadorVuelos").setParam("funcionBusqueda", "BuscarVuelosHome");
$("#buscadorVuelos").processTemplate({});
$("#tabSearch").append('
Vuelos');
$("#opcionesViajeVuelos").setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/journeysInputs.htm'), null, { filter_data: false });
$("#opcionesViajeVuelos").processTemplate({});
$("#Ida").click(function(e) { methods.clickTipoVuelo("OW"); });
$("#IdaRegreso").click(function(e) { methods.clickTipoVuelo("RT"); });
$("#multiTrayecto").click(function(e) { methods.clickTipoVuelo("MT"); });
$("#btnEliminar").click(function(e) { methods.clickTipoVuelo("DELETE"); });
// $("#btnPlusHotel").click(function (e) { tooggleFlightplusHotel(Contenedor, nombrefuncionBusqueda); })
methods.addTrayecto("journeys", GObjTraduccion);
methods.clickTipoVuelo("RT");
if (settings.hideMT) {
$(".flyControls").hide();
$(".divFechasFlexibles").hide();
}
methods.autoCompleteAerolineas();
$("#FlightsInfo").IFPassengerBox({ productBox: "Flights", ageChdMax: 11 });
methods.ChangeCalendar();
},
clickTipoVuelo: function(TipoVuelo) {
TipoVuelo = typeof(TipoVuelo) != "undefined" ? TipoVuelo : "";
var idNum = 1;
if (TipoVuelo == "") {
TipoVuelo = $("#chkOWRT").is(':checked') > 0 ? "OW" : "RT";
}
switch (TipoVuelo) {
case "OW":
case "RT":
$("#titleTramo1").hide();
$("#btnEliminar").hide();
if (TipoVuelo == "OW") {
$("#journeyBack").hide();
$("#dateJourney_back").html("");
} else
$("#journeyBack").show();
if (methods.removeOthers(1, "journey_1"))
return;
break;
case "MT":
idNum = methods.addTrayecto("journeys", GObjTraduccion);
$("#titleTramo1").show();
$("#btnEliminar").show();
$("#journeyBack").hide();
$("#divOwRt").hide();
$("#dateJourney_back").html("");
break;
case "DELETE":
if ($(".trayectoInputs").length > 1) {
methods.removeOthers(($(".trayectoInputs").length - 1), "journey_1");
}
if ($(".trayectoInputs").length == 1) {
$("#titleTramo1").hide();
$("#btnEliminar").hide();
$("#divOwRt").show();
$("#chkOWRT").attr("checked", false);
$("#journeyBack").show();
}
return;
break;
}
methods.iniciaInputs(idNum, TipoVuelo);
},
iniciaInputs: function(i, TipoVuelo) {
var _numberOfMonths;
if (isMobile.any() != null) {
_numberOfMonths = 1;
} else {
_numberOfMonths = 2;
}
var minDate = new Date().addDays(1).toString("dd-MM-yy");
if (i > 1) {
minDate = $("#dateJourney_" + (i - 1)).datepicker("getDate");
}
methods.AutocompleteIatas("txtOrigen_" + i, "AutoCompleteIataAirp");
methods.AutocompleteIatas("txtDestino_" + i, "AutoCompleteIataAirp");
if (TipoVuelo == "RT") {
initCalendar({
type: 'ui',
selectorOne: "#dateJourney_1",
selectorTwo: "#dateJourney_back",
numberOfMonths: _numberOfMonths,
minIntOne: parseInt(settings.OffsetFechaVuelos),
minIntTwo: parseInt(0)
});
} else
initCalendar({
type: 'ui',
selectorOne: "#dateJourney_" + i,
numberOfMonths: _numberOfMonths,
minIntOne: parseInt(settings.OffsetFechaVuelos),
});
},
addTrayecto: function(container, idiom) {
var count = $(".trayectoInputs").length + 1;
if (count > 5)
return 5;
var journey = $("");
journey.setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/journeysInputs.htm'), null, { filter_data: false });
journey.setParam("id", count);
journey.setParam("idiom", GObjTraduccion);
journey.processTemplate({});
$("#" + container).append(journey);
return count;
},
removeOthers: function(id, idElement) {
id++;
pre = idElement.split("_")[0];
var removi = false;
for (var i = id; $("#" + pre + "_" + i).length > 0 && i < 5; i++) {
$("#" + pre + "_" + i).remove();
removi = true;
}
return removi;
},
autoCompleteAerolineas: function() {
$("#txtAerolinea").autocomplete({
minLength: 2,
source: function(request, response) {
$.ajax({
type: "POST",
url: settings.urlB2C + "/UtilsB2C.aspx/AutoCompleteCias",
data: "{q:'" + request.term + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
var cias = getJSONResultAJAX(data.d);
response(listRsCiasAutocomplete(cias));
}
});
},
select: function(event, ui) {
$("#Aerolinea").val(ui.item.value);
event.preventDefault();
$("#txtAerolinea").val(ui.item.label);
}
});
},
BuscarVuelos: function() {
if (!methods.ValidarFormularioVuelos()) {
return;
}
var Virtual = settings.urlB2C;
var datosBusqueda = $("#frmBuscadorVuelos").serialize();
var j = $.evalJSON(params2json(datosBusqueda));
var origenes = "";
var destinos = "";
var fechas = "";
var regreso = "";
var infoPassengers = $("#FlightsInfo").IFPassengerBox("getRoomsInfo");
if ($("input[id^='Origen_']").length == 1) {
var tipoVuelo = ($("#chkOWRT").is(':checked')) ? "OW" : "RT";
origenes = $("#Origen_1").val();
destinos = $("#Destino_1").val();
fechas = $("#dateJourney_1").val();
regreso = $("#dateJourney_back").val();
} else {
var tipoVuelo = "MT";
for (var i = 1; $("#txtOrigen_" + i).length > 0; i++) {
var coma = $("#txtOrigen_" + (i + 1)).length > 0 ? "," : "";
origenes += $("#Origen_" + i).val() + coma;
destinos += $("#Destino_" + i).val() + coma;
fechas += $("#dateJourney_" + i).val() + coma;
}
}
if (j.selNinosVuelosAges == "") {
j.selNinosVuelosAges = "0";
}
if (infoPassengers.ages.length == 0) {
infoPassengers.ages.push("0");
} else {
for (var i = 0; i < infoPassengers.ages.length; i++) {
if (infoPassengers.ages[i] == "-1") {
return;
}
}
}
j.VuelosDirectos = methods.checkIatasVueloDirecto() ? true : ($("#VuelosDirectos").is(':checked'));
j.flexi = settings.CalendarVuelos == "S" && $("#fechasFlexibles").is(':checked');
j.tipoVuelo = tipoVuelo;
if (typeof(j.txtPromocode) == "undefined" || j.txtPromocode == "")
j.txtPromocode = "";
var filtros = addFilters(j);
if (tipoVuelo == "RT") {
fechas += "," + regreso;
}
if (settings.bloqPais && settings.iataBloqPais == origenes) {
Mensaje(GObjTraduccion.resbloqueaorigen, "Atención");
return;
}
document.location = Virtual + "/Vuelos/" + origenes + "/" + destinos + "/" + fechas + "/" + infoPassengers.adts + "/" + infoPassengers.chds + "/" + infoPassengers.ages + "/" + filtros.join(";");
},
ValidarFormularioVuelos: function() {
if ($("input[id^='Origen_']").length == 1) {
if (!$("#chkOWRT").is(':checked')) {
if ($("#dateJourney_back").val() == "") {
Mensaje(GObjTraduccion.resValidaFechaRegreso, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
}
}
for (var i = 1; $("#txtOrigen_" + i).length > 0; i++) {
var ori = $("#txtOrigen_" + i).val();
var ori_aux;
if ($("#Origen_" + i).val() == "") {
Mensaje(GObjTraduccion.resValidaOrigen, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
ori = $("#txtDestino_" + i).val();
if ($("#Destino_" + i).val() == "") {
Mensaje(GObjTraduccion.resValidaDestino, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
if ($("#dateJourney_" + i).val() == "") {
Mensaje(GObjTraduccion.resValidaFechaIda, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
}
if (parseInt($("#selAdultosVuelos").val()) + parseInt($("#selNinosVuelos").val()) == 0) {
Mensaje(GObjTraduccion.resValidaPasajerosVuelos, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
if (parseInt($("#selInfantesVuelos").val()) > parseInt($("#selAdultosVuelos").val())) {
Mensaje(GObjTraduccion.resValidaInfantesVuelos, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return false;
}
ori = $("#txtAerolinea").val();
$("#Aerolinea").val("");
if (ori.length > 4) {
ori_aux = ori.substring(ori.length - 4);
if ((ori_aux.substring(0, 1) == "(") && (ori_aux.substring(3, 4) == ")")) {
$("#Aerolinea").val(ori_aux.substring(1, 3));
}
}
return true;
},
InicializaHoteles: function() {
$("#buscadorHoteles").setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchHotels.htm', null, { filter_data: false });
$("#buscadorHoteles").setParam("funcionBusqueda", "BuscarHotelesHome");
$("#buscadorHoteles").processTemplate({});
//methods.AutocompleteIatas("txtDestinoHoteles", "AutoCompleteIataHotel");
methods.AutocompleteIatasHotel("txtDestinoHoteles", "AutoCompleteIataHotel");
var offset = typeof(settings.OffsetFechaHoteles) != "undefined" ? parseInt(settings.OffsetFechaHoteles) : 1;
var delta = typeof(settings.DeltaFechaHoteles) != "undefined" ? parseInt(settings.DeltaFechaHoteles) : 1;
var _numberOfMonths;
if (isMobile.any() != null) {
_numberOfMonths = 1;
} else {
_numberOfMonths = 2;
}
initCalendar({
type: 'ui',
selectorOne: "#CheckInHoteles",
selectorTwo: "#CheckOutHoteles",
minIntOne: offset,
numberOfMonths: _numberOfMonths,
minIntTwo: delta,
fnChangeOne: function(sender) {
if ($("#CheckInHoteles").val() != "" && $("#CheckOutHoteles").val() != "") {
var date1 = $("#CheckInHoteles").datepicker('getDate');
var date2 = $("#CheckOutHoteles").datepicker('getDate');
if (date1 > date2) {
date2 = $("#CheckInHoteles").datepicker('getDate').add(delta).days();
}
var diash = date2 - date1;
$("#NochesHotel").html(Math.floor(diash / (1000 * 60 * 60 * 24)) + " " + GObjTraduccion.resNoches);
}
},
fnChangeTwo: function(sender) {
if ($("#CheckInHoteles").val() != "" && $("#CheckOutHoteles").val() != "") {
var diash = $("#CheckOutHoteles").datepicker('getDate') - $("#CheckInHoteles").datepicker('getDate');
$("#NochesHotel").html(Math.floor(diash / (1000 * 60 * 60 * 24)) + " " + GObjTraduccion.resNoches);
}
}
});
if ($("#HabitacionesHotel").length > 0) {
$("#HabitacionesHotel").val("1");
$("#HabitacionesHotel").change();
}
$("#hotelsInfo").IFPassengerBox({ maxRooms: parseInt(settings.NumHabitaHoteles), ageChdMax: parseInt(settings.ParamEdadesNinosHoteles), productBox: "Hotels" });
},
EvalResource: function(resource) {
try {
return eval("resTraduccion." + settings.Idioma + "." + resource);
} catch (err) {}
return "";
},
BuscarHoteles: function() {
/*Inicio de Validacion de hoteles nacionales */
var destino = $('#txtDestinoHoteles').val();
//var destino ="jose(LSC)";
var nacional = destino.toLowerCase().includes("chile");
if (nacional){
var checkIn = $('#CheckInHoteles').datepicker('getDate');
var strDateCheckin = moment(checkIn).format("DDMMYY");
var n = destino.indexOf("(")
console.log(destino.substr(n+1,3));
var checkOut = $('#CheckOutHoteles').datepicker('getDate');
var strDateCheckout = moment(checkOut).format("DDMMYY");
//falta obtener el destino
/*var strUrl = "https://tarifario.travelsecurity.cl/Tarifario/HotelResultados/destino/"+destino.substr(n+1,3)+"/fechaSalida/"+strDateCheckin+"/fechaRegreso/"+strDateCheckout+"/origen/web/agencia/1/rut/0/usermask/web/codven/WEB/tarifario/TU/pais/CL/paisex/ALL-CL/channel/0/moneda/clp?paxHotel=1!0!0!0";
window.open(strUrl, '_blank'); */
/*FIN de Validacion de hoteles nacionales */
/*$("#DestinoHoteles").val()*/
var iataTS = "";
switch( $("#DestinoHoteles").val() ) {
case "4964":
iataTS = "ANF";
break;
case "4966":
iataTS = "ARI";
break;
case "4968":
iataTS = "BAL";
break;
case "4970":
iataTS = "CCH";
break;
case "4972":
iataTS = "CCP";
break;
case "4974":
iataTS = "CJC";
break;
case "4976":
iataTS = "CHN";
break;
case "4980":
iataTS = "CPO";
break;
case "4982":
iataTS = "ESR";
break;
case "4984":
iataTS = "FFU";
break;
case "4986":
iataTS = "FRU";
break;
case "4988":
iataTS = "GXQ";
break;
case "4991":
iataTS = "IPC";
break;
case "4990":
iataTS = "IPC";
break;
case "4992":
iataTS = "IQQ";
break;
case "4994":
iataTS = "KNA";
break;
case "4996":
iataTS = "CRH";
break;
case "4998":
iataTS = "LOB";
break;
case "5000":
iataTS = "LSC";
break;
case "5002":
iataTS = "LSQ";
break;
case "5004":
iataTS = "OVL";
break;
case "5006":
iataTS = "PMC";
break;
case "5010":
iataTS = "PUQ";
break;
case "5012":
iataTS = "PUX";
break;
case "5016":
iataTS = "QRC";
break;
case "5018":
iataTS = "SAI";
break;
case "5022":
iataTS = "SCL";
break;
case "5027":
iataTS = "TLX";
break;
case "5029":
iataTS = "TCP";
break;
case "5031":
iataTS = "TTC";
break;
case "5033":
iataTS = "VAP";
break;
case "5035":
iataTS = "VLR";
break;
case "5039":
iataTS = "WCA";
break;
case "5041":
iataTS = "WCH";
break;
case "5043":
iataTS = "PSN";
break;
case "5045":
iataTS = "WPR";
break;
case "5047":
iataTS = "WPU";
break;
case "5049":
iataTS = "YAI";
break;
case "5051":
iataTS = "ZAL";
break;
case "5053":
iataTS = "ZCO";
break;
case "5055":
iataTS = "CRC";
break;
case "5057":
iataTS = "VIC";
break;
case "5059":
iataTS = "LIN";
break;
case "5061":
iataTS = "ZOS";
break;
case "5063":
iataTS = "ZPC";
break;
case "5065":
iataTS = "ACU";
break;
case "24261":
iataTS = "SPA";
break;
case "47644":
iataTS = "AGL";
break;
case "47646":
iataTS = "VIL";
break;
case "47648":
iataTS = "CRA";
break;
case "47652":
iataTS = "COW";
break;
case "47660":
iataTS = "SCZ";
break;
case "47661":
iataTS = "SFR";
break;
case "47664":
iataTS = "R77";
break;
case "56728":
iataTS = "C00";
break;
case "65627":
iataTS = "PCH";
break;
case "65734":
iataTS = "QLT";
break;
case "66695":
iataTS = "SAF";
break;
case "83979":
iataTS = "HUA";
break;
case "83985":
iataTS = "CLO";
break;
case "87278":
iataTS = "PIC";
break;
case "96502":
iataTS = "ZAP";
break;
case "98566":
iataTS = "SLN";
break;
case "98568":
iataTS = "PAN";
break;
case "98569":
iataTS = "PCL";
break;
case "98573":
iataTS = "LVI";
break;
case "98589":
iataTS = "QUI";
break;
case "98594":
iataTS = "V56";
break;
case "99651":
iataTS = "PTN";
break;
case "99774":
iataTS = "QLN";
break;
case "47655":
iataTS = "QLN";
break;
case "47662":
iataTS = "ALG";
break;
case "100933":
iataTS = "ADC";
break;
case "83992":
iataTS = "ACO";
break;
case "98545":
iataTS = "BHI";
break;
case "98548":
iataTS = "CDM";
break;
case "99668":
iataTS = "CÑT";
break;
case "55858":
iataTS = "CBL";
break;
case "83996":
iataTS = "CAU";
break;
case "100928":
iataTS = "CGU";
break;
case "98552":
iataTS = "CBN";
break;
case "56695":
iataTS = "C76";
break;
case "99671":
iataTS = "WCO";
break;
case "99673":
iataTS = "CCU";
break;
case "99674":
iataTS = "CRT";
break;
case "99675":
iataTS = "BKS";
break;
case "100929":
iataTS = "CUP";
break;
case "98559":
iataTS = "DDA";
break;
case "99681":
iataTS = "HPN";
break;
case "98565":
iataTS = "I57";
break;
case "99682":
iataTS = "JFZ";
break;
case "61151":
iataTS = "LCL";
break;
case "98563":
iataTS = "LNT";
break;
case "61295":
iataTS = "INI";
break;
case "98570":
iataTS = "LRN";
break;
case "99684":
iataTS = "LMV";
break;
case "99686":
iataTS = "LQY";
break;
case "100923":
iataTS = "MAC";
break;
case "62398":
iataTS = "MAT";
break;
case "99655":
iataTS = "MTZ";
break;
case "98564":
iataTS = "M78";
break;
case "84000":
iataTS = "MEP";
break;
case "63293":
iataTS = "LPS";
break;
case "98580":
iataTS = "O48";
break;
case "99689":
iataTS = "PRL";
break;
case "98581":
iataTS = "PEL";
break;
case "99691":
iataTS = "PDG";
break;
case "98583":
iataTS = "MAP";
break;
case "99692":
iataTS = "PVI";
break;
case "99694":
iataTS = "WSD";
break;
case "65637":
iataTS = "PUA";
break;
case "98588":
iataTS = "PUT";
break;
case "65735":
iataTS = "QLP";
break;
case "99697":
iataTS = "SJT";
break;
case "100935":
iataTS = "SJS";
break;
case "99698":
iataTS = "SNT";
break;
case "100934":
iataTS = "SBR";
break;
case "100936":
iataTS = "SNU";
break;
case "100931":
iataTS = "STD";
break;
case "100937":
iataTS = "SIG";
break;
case "47651":
iataTS = "TAL";
break;
case "68563":
iataTS = "PAI";
break;
case "98593":
iataTS = "VDE";
break;
case "99656":
iataTS = "V28";
break;
case "10932":
iataTS = "YUM";
break;
default:
iataTS = "SCL";
}
var hab = $("#hotelsInfo").IFPassengerBox("getRoomsInfoDown");
var tipoHab ="";
if(hab.adts.length == 1){
if(hab.adts == '1')
{
tipoHab = "1!0!0!0";
}
if(hab.adts == '2')
{
tipoHab = "0!1!0!0";
}
}
if(hab.adts.length == 2){
if(hab.adts[0] == "1"){
tipoHab = "2!0!0!0";
}
if(hab.adts[0] == "2"){
tipoHab = "0!2!0!0";
}
}
var strUrl = "https://tarifario.travelsecurity.cl/Tarifario/HotelResultados/destino/"+iataTS+"/fechaSalida/"+strDateCheckin+"/fechaRegreso/"+strDateCheckout+"/origen/web/agencia/1/rut/0/usermask/web/codven/WEB/tarifario/TU/pais/CL/paisex/ALL-CL/channel/fns/moneda/clp?paxHotel="+tipoHab;
window.open(strUrl, '_blank');
}
else
{
GObjParametrosHoteles = form2js("frmBuscadorHoteles", ".", false);
var hab = $("#hotelsInfo").IFPassengerBox("getRoomsInfoDown");
GObjParametrosHoteles.CheckInHoteles = $("#CheckInHoteles").val();
GObjParametrosHoteles.CheckOutHoteles = $("#CheckOutHoteles").val();
var Virtual = settings.urlB2C;
document.location.href = Virtual + "/Hoteles/" + GObjParametrosHoteles.DestinoHoteles + "/" + GObjParametrosHoteles.CheckInHoteles + "/" + GObjParametrosHoteles.CheckOutHoteles + "/" + hab.adts + "/" + hab.chds.join('');
}
},
validaChd: function() {
var destino = $('#txtDestinoHoteles').val();
var nacional = destino.toLowerCase().includes("chile");
if (nacional){
$('.esChl').hide();
}else{
$('.esChl').show();
}
},
ValidarFormularioHoteles: function() {
if ($("#txtDestinoHoteles").val() == "" || $("#DestinoHoteles").val() == "") {
Mensaje(GObjTraduccion.resValidaDestino, document.title, "INFO");
return false;
}
if ($("#CheckInHoteles").val() == "") {
Mensaje(GObjTraduccion.resValidaFechaInicial, document.title, "INFO");
return false;
}
if ($("#CheckOutHoteles").val() == "") {
Mensaje(GObjTraduccion.resValidaFechaFinal, document.title, "INFO");
return false;
}
var Adultos = $("select[id^='selAdultosHoteles_']");
for (var i = 0; i < Adultos.length; i++) {
if (parseInt($(Adultos[i]).val()) == 0) {
Mensaje(GObjTraduccion.resValidaNumAdultos, document.title, "INFO");
return false;
}
}
var edades = $("select[id^='selEdadNinosHoteles_']");
for (var i = 0; i < edades.length; i++) {
if (parseInt($(edades[i]).val()) == 0) {
Mensaje(GObjTraduccion.resValidaEdadMenor, document.title, "INFO");
return false;
}
}
for (CountSource = 0; CountSource < GObjDatosEntidad.sources.length; CountSource++) {
if (GObjDatosEntidad.sources[CountSource].toUpperCase() == "CANGOOROO") {
var objAcc = [];
var selRooms = parseInt($("#HabitacionesHoteles").val());
for (i = 0; i < selRooms; i++) {
var objHabita = new Object();
objHabita.ADT = parseInt($("#selAdultosHoteles_" + (i + 1)).val());
objHabita.CHD = parseInt($("#selNinosHoteles_" + (i + 1)).val());
objAcc[i] = objHabita;
if (i > 0) {
if (!(objAcc[i].ADT == objAcc[i - 1].ADT) && (objAcc[i].CHD == objAcc[i - 1].CHD)) {
Mensaje(GObjTraduccion.resCangoorooAccommodationValidation, "");
return false;
}
}
}
}
}
return true;
},
// Autos
InicializaAutos: function() {
$("#buscadorAutos").setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchAutos.htm', null, { filter_data: false });
$("#buscadorAutos").processTemplate();
methods.AutocompleteIatas("txtRetiroVehiculo", "AutoCompleteIataAirp", function(objInfo) {
if ($("#EntregaVehiculo").val() == "") {
$("#txtEntregaVehiculo").val($("#txtRetiroVehiculo").val());
$("#EntregaVehiculo").val($("#RetiroVehiculo").val());
toggleClsIcon("EntregaVehiculo");
}
});
methods.AutocompleteIatas("txtEntregaVehiculo", "AutoCompleteIataAirp");
var offset = typeof(settings.OffsetFechaAutos) != "undefined" ? parseInt(settings.OffsetFechaAutos) : 1;
var delta = typeof(settings.DeltaFechaAutos) != "undefined" ? parseInt(settings.DeltaFechaAutos) : 1;
if (isMobile.any() == null) {
initCalendar({
type: 'ui',
selectorOne: "#dteDesde",
selectorTwo: "#dteHasta",
minIntOne: offset,
numberOfMonths: 2,
minIntTwo: delta
});
} else {
// $("#dteDesde").val(Date.now().addDays(offset).toString("yyyy-MM-dd"));
$("#dteDesde").datepicker({
dateFormat: "dd-mm-yy",
numberOfMonths: 1,
minDate: (new Date()).toString("dd-mm-yy")
});
// $("#dteDesde").attr("min", Date.now().addDays(offset).toString("yyyy-MM-dd"));
$("#dteDesde").change(function() {
// $("#dteHasta").attr("min", Date.parse($("#dteDesde").val()).addDays(delta).toString("yyyy-MM-dd"));
$("#dteHasta").datepicker({
dateFormat: "dd-mm-yy",
numberOfMonths: 1,
minDate: (new Date()).toString("dd-mm-yy")
});
});
}
$("#buscarAutos").click(function(e) { methods.BuscarAutos(); });
},
ValidarFormularioAutos: function() {
if ($("#RetiroVehiculo").val() == "") {
return false;
}
if ($("#EntregaVehiculo").val() == "") {
return false;
}
if ($("#dteDesde").val() == "") {
return false;
}
if ($("#dteHasta").val() == "") {
return false;
}
return true;
},
BuscarAutos: function() {
if (methods.ValidarFormularioAutos) {
HoraDesdeAutos = decodeURIComponent($("#HoraDesdeAutos").val()).replace(":", "-");
HoraHastaAutos = decodeURIComponent($("#HoraHastaAutos").val()).replace(":", "-");
document.location.href = settings.urlB2C + "/Autos/" + $("#RetiroVehiculo").val() + "/" + $("#EntregaVehiculo").val() + "/" + $("#dteDesde").val() +
"/" + $("#dteHasta").val() + "/" + HoraDesdeAutos + "/" + HoraHastaAutos + "/" + $("#tipoTarifa").val() + "/" + $("#CarType").val() + "/ALL";
}
},
getLocationListCars: function(IATA, id) {
$.ajax({
url: "/Autos/resultado_autos.aspx/ListarOficinasRentadora",
type: "POST",
data: "{ciudad:'" + IATA + "', rentadora:'" + settings.CiasAutosBusqueda + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
asycn: false,
success: function(data) {
objDest = JSON.parse(data.d);
for (var i = 0; i < objDest.Car_LocationListReply.carLocationListDetails.length; i++) {
$("#lugar" + id).append("");
}
}
});
},
validateTypeCarsValues: function(id) {
var listCarTypes = $("#listCarTypes #" + id + " [name='CarTypes']:checked");
var j = 0;
var eliteCat = "";
var StringCarsType = "";
for (i = 0; i < listCarTypes.length; i++) {
if (i < (listCarTypes.length - 1))
StringCarsType += listCarTypes[i].value + ",";
else
StringCarsType += listCarTypes[i].value;
j++;
}
return StringCarsType;
},
AutocompleteIatasHotel(input, Metodo, onSelect) {
$("#" + input).autocomplete({
minLength: 3,
autoFocus: true,
source: function(request, response) {
$.ajax({
type: "POST",
url: settings.urlAutocomplete + "/geolocation",
data: JSON.stringify({ Type: 'hotel', Query: request.term, Language: 'es' }),
contentType: "application/json",
success: function(data) {
response(methods.listRsIatasAutocomplete(data));
}
});
},
select: function(event, ui) {
if (Metodo == "AutoCompleteIataHotel")
$("#" + input.replace("txt", "")).val(ui.item.elem_code);
else {
if (ui.item.airp_code != "") {
$("#" + input.replace("txt", "")).val(ui.item.airp_code);
if (input == 'txtRetiroVehiculo' || input == 'txtEntregaVehiculo') {
methods.getLocationListCars(ui.item.airp_code, input.replace("txt", ""));
}
} else {
$("#" + input.replace("txt", "")).val(ui.item.citi_code);
}
}
event.preventDefault();
$("#" + input).val(ui.item.elem_desc);
if (typeof(onSelect) == 'function') {
onSelect(ui.item);
}
toggleClsIcon(input);
}
}).autocomplete("instance")._renderItem = function(ul, item) {
return $("")
.append("" + " " + item.elem_desc.replace(new RegExp(this.term, "gi"), '$&') + "")
.appendTo(ul);
};
},
// AutoComplete
AutocompleteIatas(input, Metodo, onSelect) {
$("#" + input).autocomplete({
minLength: 3,
autoFocus: true,
source: function(request, response) {
$.ajax({
type: "POST",
url: settings.urlAutocomplete + "/geolocation",
data: JSON.stringify({ Type: 'airport', Query: request.term, Language: 'es' }),
contentType: "application/json",
success: function(data) {
if (input == "txtOrigen_1" && settings.paiOriBloq != "") {
var paisesIata = settings.paiOriBloq.split(",");
for (var dataIatas = 0; dataIatas < data.length; dataIatas++) {
for (var contPais = 0; contPais < paisesIata.length; contPais++) {
if (paisesIata[contPais] == data[dataIatas].ISOCode) {
settings.bloqPais = true;
settings.iataBloqPais = data[dataIatas].Cities[0].IATACode;
}
}
}
}
response(methods.listRsIatasAutocomplete(data));
}
});
},
select: function(event, ui) {
if (Metodo == "AutoCompleteIataHotel")
$("#" + input.replace("txt", "")).val(ui.item.elem_code);
else {
if (ui.item.airp_code != "") {
$("#" + input.replace("txt", "")).val(ui.item.airp_code);
if (input == 'txtRetiroVehiculo' || input == 'txtEntregaVehiculo') {
methods.getLocationListCars(ui.item.airp_code, input.replace("txt", ""));
}
} else {
$("#" + input.replace("txt", "")).val(ui.item.citi_code);
}
}
event.preventDefault();
$("#" + input).val(ui.item.elem_desc);
if (typeof(onSelect) == 'function') {
onSelect(ui.item);
}
toggleClsIcon(input);
}
}).autocomplete("instance")._renderItem = function(ul, item) {
return $("")
.append("" + " " + item.elem_desc.replace(new RegExp(this.term, "gi"), '$&') + "")
.appendTo(ul);
};
},
checkIatasVueloDirecto: function() {
if (typeof(settings.ParamIatasVueloDirecto) != "undefined" && settings.ParamIatasVueloDirecto != null &&
settings.ParamIatasVueloDirecto != "") {
var VecIatasVueloDirecto = settings.ParamIatasVueloDirecto.split("|");
for (var i = 0; i < VecIatasVueloDirecto.length; i++) {
var IatasVueloDirecto = [];
IatasVueloDirecto = VecIatasVueloDirecto[i].split(",");
if ($("#Origen_1").val().includes(IatasVueloDirecto[0]) && $("#Destino_1").val().includes(IatasVueloDirecto[1])) {
return true;
}
}
}
return false;
},
// Vuelo + Hotel
InicializaVueloHotel: function() {
$("#buscadorVueloHotel").setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchVueloHotel.htm', null, { filter_data: false });
$("#buscadorVueloHotel").setParam("funcionBusqueda", "BuscarVueloHotelHome");
$("#buscadorVueloHotel").processTemplate({});
$("#tabSearch").append('Vuelos + Hotel');
methods.AutocompleteIatas("txtOrigenVH", "AutoCompleteIataAirp");
methods.AutocompleteIatas("txtDestinoVH", "AutoCompleteIataAirp");
var numberOfMonths = (isMobile.any() == null) ? 2 : 1;
initCalendar({
type: 'ui',
selectorOne: "#dateJourneyVH",
selectorTwo: "#dateJourney_backVH",
numberOfMonths: numberOfMonths,
minIntOne: parseInt(settings.OffsetFechaVuelos),
minIntTwo: parseInt(0)
})
$("#FlightPlusInfo").IFPassengerBox({ productBox: "FlightsPlus", maxRooms: parseInt(settings.NumHabitaHoteles), ageChdMax: parseInt(settings.EdadesNinosHoteles), maxADT: parseInt(settings.NumAdultosHoteles), maxCHD: parseInt(settings.NumNinosHoteles) });
},
buscarVuelosHotel: function() {
var datosBusqueda = $("#frmBuscadorVueloHotel").serialize();
var dataFRM = $.evalJSON(params2json(datosBusqueda));
var origenes = $("#OrigenVH").val();
var destinos = $("#DestinoVH").val();
var inicio = $("#dateJourneyVH").val();
var regreso = $("#dateJourney_backVH").val();
var hab = $("#FlightPlusInfo").IFPassengerBox("getRoomsInfoDown");
dataFRM.VuelosDirectosVH = ($("#VuelosDirectosVH").is(':checked'));
if (dataFRM.AerolineaVH != "") {
dataFRM.Aerolinea = dataFRM.AerolineaVH;
}
if (typeof(dataFRM.txtPromocodeVH) != "undefined" && dataFRM.txtPromocodeVH != "")
dataFRM.txtPromocode = dataFRM.txtPromocodeVH;
dataFRM.VuelosDirectos = ($("#VuelosDirectos").is(':checked'));
dataFRM.flexi = settings.CalendarVuelos == "S" && $("#fechasFlexibles").is(':checked');
dataFRM.tipoVuelo = "RT";
var filtros = addFilters(dataFRM, "VH");
if (settings.bloqPais && settings.iataBloqPais == origenes) {
Mensaje(GObjTraduccion.resbloqueaorigen, "Atención");
return;
}
if (origenes != "" && destinos != "" && hab.adts != "" && inicio != "" && regreso != "") {
document.location = settings.urlB2C + "/VueloPlus/Hotel/" + origenes + "/" + destinos + "/" + inicio + "/" + regreso + "/" + hab.adts + "/" + hab.chds.join('') + "/" + filtros.join(";");
} else {
var msg = "";
msg += origenes == "" ? GObjTraduccion.resValidaOrigen : "";
if (destinos == "")
msg += msg == "" ? GObjTraduccion.resValidaDestino : ", " + GObjTraduccion.resValidaDestino;
if (HabitaAdultos == "")
msg += msg == "" ? GObjTraduccion.resValidaPasajerosVuelos : ", " + GObjTraduccion.resValidaPasajerosVuelos;
if (inicio == "")
msg += msg == "" ? GObjTraduccion.resValidaFechaIda : ", " + GObjTraduccion.resValidaFechaIda;
if (regreso == "")
msg += msg == "" ? GObjTraduccion.resValidaFechaFin : ", " + GObjTraduccion.resValidaFechaFin;
Mensaje(msg, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
}
},
// Seguros
InicializaSeguros: function() {
var usasegurospropios = settings.UsaSegurosPropios != undefined && settings.UsaSegurosPropios == "S";
if (usasegurospropios) {
$("#buscadorSeguros").setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchSegurosPropios.htm', null, { filter_data: false });
} else {
$("#buscadorSeguros").setTemplateURL('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchSeguros.htm', null, { filter_data: false });
}
$("#buscadorSeguros").setParam("funcionBusqueda", "BuscarSeguros");
$("#buscadorSeguros").processTemplate({});
$("#tabSearch").append('Asistencia en Viajes');
methods.inicializaInputs();
},
inicializaInputs: function() {
var _numberOfMonths;
var usasegurospropios = settings.UsaSegurosPropios != undefined && settings.UsaSegurosPropios == "S";
if (isMobile.any() != null) {
_numberOfMonths = 1;
} else {
_numberOfMonths = 2;
}
initCalendar({
type: 'ui',
selectorOne: "#dateFromInsurance",
selectorTwo: "#dateToInsurance",
numberOfMonths: _numberOfMonths,
minIntOne: parseInt(settings.OffsetFechaSeguros),
minIntTwo: parseInt(settings.OffsetToFechaSeguros),
fnChangeOne: methods.ChangeDateInsurance,
fnChangeTwo: methods.ChangeDateInsurance
});
if (typeof(GObjParametrosSeguros) != "undefined" && GObjParametrosSeguros != null) {
$("#selToInsurance").val(getcodeDestination(GObjParametrosSeguros.quoteRQ.IDDestination));
$("#selAdtInsurance").val(GObjParametrosSeguros.quoteRQ.NumAdults);
var from = getObjFecha(GObjParametrosSeguros.quoteRQ.DateDeparture, "yyyy-MM-dd");
var to = getObjFecha(GObjParametrosSeguros.quoteRQ.DateReturn, "yyyy-MM-dd");
$("#dateFromInsurance").val(from.toString("dd-MM-yyyy"));
$("#dateToInsurance").val(to.toString("dd-MM-yyyy"));
}
$("#selAdtInsurance").change(function() {
methods.ChangeselectInsurance();
});
if (!usasegurospropios) {
methods.AutocompleteCountryInsurances("fromInsurance");
}
$("#dateFromInsurance").bind("change", function(e) { methods.onChangeCheckIn(e); });
},
onChangeCheckIn: function(e) {
if ($("#dateToInsurance").length > 0) {
$("#dateToInsurance").datepicker("option", "minDate", $("#dateFromInsurance").datepicker("getDate"));
}
},
BuscarSeguros: function() {
var usasegurospropios = settings.UsaSegurosPropios != undefined && settings.UsaSegurosPropios == "S";
if (!methods.ValidarFormularioSeguros()) {
return;
}
var filtros = [];
var origen = $("#fromInsurancename").val();
var destino = $("#selToInsurance").val();
var dateFrom = $("#dateFromInsurance").val();
var dateTo = $("#dateToInsurance").val();
var ADT = $("#selAdtInsurance").val();
var Age = "";
var cantsel = parseInt($("#selAdtInsurance").val());
for (var i = 0; i < cantsel; i++) {
if ($("#edad_" + (i + 1)).val() != "" && i == 0) {
Age = $("#edad_" + (i + 1)).val();
} else {
Age = Age + "_" + $("#edad_" + (i + 1)).val();
}
}
var filt = filtros.length == 0 ? "_" : filtros.join(";");
if (usasegurospropios) {
document.location = settings.urlB2C + "/Seguros/" + origen + "/" + destino + "/" + dateFrom + "/" + dateTo + "/" + ADT + "/_/" + filt;
} else {
document.location = settings.urlB2C + "/Seguros/" + origen + "/" + destino + "/" + dateFrom + "/" + dateTo + "/" + ADT + "/" + Age + "/_/" + filt;
}
},
ValidarFormularioSeguros: function() {
var ok = true;
if ($("#fromInsurancename").val() == "")
ok = false;
if ($("#selToInsurance").val() == "")
ok = false;
if ($("#dateFromInsurance").val() == "")
ok = false;
if ($("#dateToInsurance").val() == "")
ok = false;
if ($("#selAdtInsurance").val() == "")
ok = false;
var cantsel = parseInt($("#selAdtInsurance").val());
for (var i = 0; i < cantsel; i++) {
if ($("#edad_" + (i + 1)).val() == "") {
ok = false;
}
}
if (!ok)
Mensaje(GObjTraduccion.resCompleteParametrosBusqueda, GObjTraduccion.resAtencion, null, null, GObjTraduccion.resBtnCerrar);
return ok;
},
ChangeselectInsurance: function() {
var cantsel = parseInt($("#selAdtInsurance").val());
for (var i = 0; i < cantsel; i++) {
$("#edad_" + (i + 1)).show();
}
for (var i = cantsel; i < 9; i++) {
$("#edad_" + (i + 1)).hide();
}
},
ChangeDateInsurance: function() {
if ($("#dateFromInsurance").val() != "" && $("#dateToInsurance").val() != "") {
var diasI = $("#dateToInsurance").datepicker("getDate") - $("#dateFromInsurance").datepicker("getDate");
var res = Math.ceil(diasI / (1000 * 60 * 60 * 24)) + 1;
var trad = res == 1 ? GObjTraduccion.resDia : GObjTraduccion.resDias;
$("#NochesInsu").html(res + " " + trad);
}
},
AutocompleteCountryInsurances: function(input) {
try {
tipo = "MAPR";
$("#" + input).blur(function() {
var keyEvent = $.Event("keydown");
keyEvent.keyCode = $.ui.keyCode.ENTER;
$(this).trigger(keyEvent);
return false;
}).autocomplete({
minLength: 3,
autoFocus: true,
source: function(request, response) {
// url: settings.urlB2C + "/UtilsB2C.aspx/autoCompDestinosInsurance",
$.ajax({
type: "POST",
url: settings.urlAutocomplete + "/geolocation",
data: JSON.stringify({ Type: tipo, Query: request.term, Language: 'es' }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
var objPaises = data;
var arrPaises = new Array();
$.each(objPaises, function(i, n) {
var objPais = null;
for (var i = 0; i < arrPaises.length; i++) {
if (arrPaises[i].value == n.P.geoCodigos["ISO"].codi_codigo) {
objCity = arrPaises[i];
break;
}
}
if (objPais == null) {
objPais = new Object();
objPais.value = n.P.gnom_nombre; //n.P.geoCodigos["ISO"].codi_codigo;
objPais.label = n.P.gnom_nombre;
objPais.name = n.P.gnom_nombre;
objPais.code = n.P.geoCodigos["ISO"].codi_codigo;
arrPaises[arrPaises.length] = objPais;
}
objPais = null;
for (var i = 0; i < arrPaises.length; i++) {
if (arrPaises[i].code == n.P.geoCodigos["ISO"].codi_codigo) {
objPais = arrPaises[i];
break;
}
}
if (objPais == null) {
objPais = new Object();
objPais.value = n.P.geoCodigos["ISO"].codi_codigo;
arrPaises[arrPaises.length] = objPais;
}
objPais.code = n.P.geoCodigos["ISO"].codi_codigo;
objPais.label = n.P.gnom_nombre;
objPais.name = n.P.gnom_nombre;
});
response(arrPaises);
}
});
},
select: function(event, ui) {
var selectedObj = ui.item;
if (selectedObj != null) {
$("#fromInsurancename").val(selectedObj.code);
$("#" + input).val(selectedObj.name);
}
}
});
} catch (e) { console.log(e); }
},
listRsIatasAutocomplete: function(objIata) {
var arrIata = new Array();
var cantItm = 0;
$.each(objIata, function(i, n) {
cantItm++;
if (cantItm > 1) {
return false;
}
});
$.each(objIata, function(i, n) {
try {
var objCity = null;
if (n.Cities != null) {
for (var i = 0; i < n.Cities.length; i++) {
objCity = new Object();
objCity.coun_code = n.ISOCode;
objCity.coun_name = n.Name;
objCity.citi_code = n.Cities[i].IATACode;
objCity.citi_name = n.Cities[i].Name;
objCity.airp_code = n.Cities[i].IATACode;
objCity.airp_name = "";
objCity.elem_desc = objCity.citi_name.replace() + " (" + n.Cities[i].StateName + " - " + objCity.coun_name + ")";
objCity.elem_code = n.Cities[i].IDCity;
objCity.clase = "fa fa-building-o colorBuilding";
if (n.Cities[i].Airports != null && n.Cities[i].Airports.length > 0) {
var objAirport = null;
var arrAirport = [];
for (var j = 0; j < n.Cities[i].Airports.length; j++) {
objAirport = new Object();
objAirport.coun_code = n.ISOCode;
objAirport.coun_name = n.Name;
objAirport.citi_code = n.Cities[i].IATACode;
objAirport.citi_name = n.Cities[i].Name;
objAirport.airp_code = n.Cities[i].Airports[j].IATACode;
objAirport.airp_name = n.Cities[i].Airports[j].Name;
objAirport.elem_desc = objAirport.airp_name + " (" + objAirport.airp_code + ") - " + objAirport.citi_name + ", " + objAirport.coun_name;
objAirport.elem_code = n.Cities[i].Airports[j].IDAirport;
objAirport.clase = "fa fa-plane colorPlane";
arrAirport.push(objAirport);
}
if (arrAirport.length > 0) {
if (arrAirport.length > 1) {
arrIata.push(objCity);
}
for (var j = 0; j < arrAirport.length; j++) {
arrIata.push(arrAirport[j]);
}
}
} else if (n.Cities[i].Zones != null && n.Cities[i].Zones.length > 0) {
var objZone = null;
var arrZone = [];
for (var j = 0; j < n.Cities[i].Zones.length; j++) {
objZone = new Object();
objZone.coun_code = n.ISOCode;
objZone.coun_name = n.Name;
objZone.citi_code = n.Cities[i].IATACode;
objZone.citi_name = n.Cities[i].Name;
objZone.airp_name = n.Cities[i].Zones[j].Name;
objZone.elem_desc = objZone.airp_name + " (" + objZone.citi_code + ") - " + objZone.citi_name + ", " + objZone.coun_name;
objZone.elem_code = n.Cities[i].Zones[j].IDZone;
objZone.clase = "fa fa-map-marker colorZone";
arrZone.push(objZone);
}
if (arrZone.length > 0) {
if (arrZone.length > 1) {
arrIata.push(objZone);
}
for (var j = 0; j < arrZone.length; j++) {
arrIata.push(arrZone[j]);
}
}
} else
arrIata.push(objCity);
}
}
if (n.Destinations != null) {
for (var i = 0; i < n.Destinations.length; i++) {
objDest = new Object();
objDest.cntr_isocode = n.ISOCode;
objDest.citi_name = n.Destinations[i].Name;
objDest.dest_iatacode = n.Destinations[i].IATACode;
objDest.dest_name = n.Destinations[i].Name;
objDest.elem_code = n.Destinations[i].IDDestination;
objDest.pare_label = n.Destinations[i].ParentLabel != "" ? "" + n.Destinations[i].ParentLabel + "" : "";
objDest.coun_name = n.Destinations[i].ParentName;
objDest.type = n.Destinations[i].Type;
objDest.elem_desc = objDest.dest_name + " " + n.Destinations[i].ParentLabel + " - " + n.Name;
if (objDest.type == 'Z' || objDest.type == 'E' || objDest.type == 'R' || objDest.type == 'C') {
objDest.type = 'D'; //todo es un destino
objDest.clase = "fa fa-building-o colorBuilding";
} else if (objDest.type == 'A') {
objDest.clase = "fa fa-plane colorPlane";
}
arrIata.push(objDest);
}
arrIata = arrIata.sort(function(a, b) {
if (a.type == b.type)
return 0;
if (a.type > b.type) {
return 1;
} else {
return -1;
}
});
var dstIdx = 0;
var typeGuide = "";
$.each(arrIata, function(i, n) {
if (typeGuide != n.type) {
dstIdx = 0;
n.Idx = dstIdx;
typeGuide = n.type;
} else {
dstIdx++;
n.Idx = dstIdx;
}
});
}
} catch (err) {}
});
return arrIata;
},
InicializaCalendar: function() {
$("#calendar_flight").setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/SearchCalendar.htm'), null, { filter_data: false });
$("#calendar_flight").setParam("funcionBusqueda", "BuscadorCalendar");
$("#calendar_flight").processTemplate({});
$("#tabSearch").append('Calendar');
methods.InicializaInputCalendar();
$("#BusCalendar").on("click", function() {
if ($(this).is(":checked")) {
$("#buscadorVuelos").show();
$("#calendar_flight").hide();
} else {
$("#buscadorVuelos").hide();
$("#calendar_flight").show();
}
$("#BusCalendar").prop("checked", false);
});
},
InicializaInputCalendar: function() {
methods.AutocompleteIatas("txtOrigenCalendar", "AutoCompleteIataAirp");
},
BuscadorCalendar: function() {
if ($("#OrigenCalendar").val() != "") {
document.location = settings.urlB2C + "/vuelos/calendar/" + $("#OrigenCalendar").val() + "/" + $("#dias_calendar").val();
}
},
ChangeCalendar: function() {
$("#calendarF").click(function() {
if ($(this).is(":checked")) {
$("#calendar_flight").show();
$("#buscadorVuelos").hide();
} else {
$("#calendar_flight").hide();
$("#buscadorVuelos").show();
}
$("#calendarF").prop("checked", false);
});
},
InicializaSlideDynamic: function(IdSliderName, SliderDinamico) {
if (document.getElementById(IdSliderName) == null)
return;
var objSlide = GObjSlides[SliderDinamico];
$("#" + IdSliderName).setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/Slider_Dynamic.htm'), null, { filter_data: false });
$("#" + IdSliderName).setParam("IdSliderName", IdSliderName + "2");
$("#" + IdSliderName).processTemplate(objSlide);
},
InicializaSlideHotel: function(nameTemplate, slides) {
let idSlides = [];
if (slides != undefined && slides != "") {
if (slides.indexOf(",") != -1) {
idSlides = slides.split(",");
} else {
idSlides = [slides];
}
}
if (idSlides.length >= 1) {
$("#" + nameTemplate).setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/Slider_Promo_Hoteles.htm'), null, { filter_data: false });
$("#" + nameTemplate).html("");
idSlides.forEach(elemento => {
methods.GetSlideHotelConfig(elemento, nameTemplate);
});
}
},
GetSlideHotelConfig: function(idSlide, nameTemplate) {
$.ajax({
type: "POST",
url: settings.urlAutocomplete + "/B2C/SlideHotel",
data: JSON.stringify({ slideConfigId: idSlide }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (res) {
if (res == null) {
return;
}
setGObjSlidesPromoHoteles(res.SlidesHotel, idSlide);
methods.InicializaSlidePromoHoteles(nameTemplate, "promoHoteles", idSlide);
}
});
},
InicializaSlidePromoHoteles: function(Contenedor, NombreSlider, idSlide) {
if (document.getElementById(Contenedor) == null)
return;
let html = $("");
html.setTemplateURL(('https://www.travelsecurity.cl/hubfs/Desarrollo/Buscadores/IdeasSearchBox/Templates/Slider_Promo_Hoteles.htm'), null, { filter_data: false })
.setParam("idSlide", idSlide)
.processTemplate(GObjSlides[NombreSlider][idSlide]).appendTo($("#" + Contenedor));
$("#" + Contenedor).append(html);
$("#sliderHomeMainDynamic_" + idSlide).carousel();
}
};
$.fn.SearchBox = function(method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.LoginBox');
}
};
})(jQuery);
function getJSONResultAJAX(data) {
data = data.replace(/\n/g, " ").replace(/\r/g, " ");
return $.evalJSON(data);
}
function clsAutocomplete(id) {
$("#txt" + id).val("");
$("#" + id).val("");
toggleClsIcon(id);
}
function toggleClsIcon(id) {
if ($("#" + id).val() == "") {
$("#" + id).nextAll("span").removeClass("glyphicon-remove").addClass("glyphicon-globe");
$("#" + id).nextAll("span").css("cursor", "inherit");
} else
$("#" + id).nextAll("span").addClass("glyphicon-remove").removeClass("glyphicon-globe");
$("#" + id).nextAll("span").css("cursor", "pointer");
}
function Mensaje(Texto, Titulo, Tipo, onAceptar, txtBoton, onDismiss) {
Mensaje_Boostrap(Texto, Titulo, Tipo, onAceptar, txtBoton, onDismiss);
}
function Mensaje_Boostrap(Texto, Titulo, Tipo, onAceptar, txtBoton, onDismiss) {
var NomFuncionAceptar = '"javascript:hideModal()"';
var NomFuncionCerrar = '';
var dblBtn = false;
if (typeof(onDismiss) != "undefined" && onDismiss != null) {
NomFuncionCerrar = onDismiss;
}
if (typeof(onAceptar) != "undefined" && onAceptar != null)
NomFuncionAceptar = 'javascript:' + onAceptar;
var aceptar = GObjTraduccion.resBotonAceptar;
if (typeof(txtBoton) == "undefined" && txtBoton == null)
txtBoton = "";
else
aceptar = txtBoton;
var html = '';
html += '
';
html += '';
html += '
';
html += '
' + Texto + '
';
html += '
';
$("#divMensaje").html(html);
$("#MSGModal").modal();
if (NomFuncionCerrar != "" && onDismiss != null) {
$("#MSGModal").on("hide.bs.modal", NomFuncionCerrar);
}
}
function params2json(d) {
d = decodeURIComponent(d);
if (d.length <= 0) {
return "{}";
}
var json = "{";
var data = d;
var parejas = new Array();
parejas = data.split('&');
for (var i = 0; i < parejas.length; i++) {
var info = new Array();
info = parejas[i].split('=');
json = json + "\"" + info[0] + "\":\"" + info[1] + "\",";
}
json = json.substring(0, json.length - 1);
json = json + "}";
return json;
}
function addFilters(j, type) {
var filtros = [];
type = (typeof(type) != "undefined" && type != "") ? type : "";
if (typeof(j.tipoVuelo) != "undefined") {
filtros.push(j.tipoVuelo);
}
j["selBagage" + type] = (j["selBagage" + type] == undefined || j["selBagage" + type] == "") ? j["selBagage" + type] = "2" : j["selBagage" + type];
if (j["Aerolinea" + type] != "") {
filtros.push(j["Aerolinea" + type]);
}
if (j["selClase" + type] != "" && j["selClase" + type] != "Economica") {
for (var i = filtros.length; i < 2; i++)
filtros.push("");
filtros.push(j["selClase" + type]);
}
if (j["VuelosDirectos" + type] != "") {
for (var i = filtros.length; i < 3; i++)
filtros.push("");
filtros.push(j["VuelosDirectos" + type]);
}
if (j["selBagage" + type] != "" && j["selBagage" + type] != 2) {
for (var i = filtros.length; i < 4; i++)
filtros.push("");
filtros.push(j["selBagage" + type]);
}
if (j.flexi != "") {
for (var i = filtros.length; i < 5; i++)
filtros.push("");
filtros.push("true");
}
if (j["txtPromocode" + type] != "") {
for (var i = filtros.length; i < 6; i++)
filtros.push("");
filtros.push(j["txtPromocode" + type]);
}
return filtros;
}
function ConvValorMoneda(Valor, Moneda, comoNumero, decimales) {
try {
if (Valor == null) {
return Valor == null ? " " : Valor;
}
if (typeof(decimales) == "undefined" || isNaN(decimales) || decimales == null) {
decimales = parseInt(GobjConfig.NumeroDecimales);
}
if (typeof(Valor) == "string") {
Valor = parseFloat(Valor);
}
if (GobjConfig.AutorizaWP == "S") {
Moneda = GobjConfig.EtiquetaPuntos;
} else {
if (GobjConfig.MONEDAPRESENTACION != undefined && GobjConfig.MONEDAPRESENTACION.includes(currentPage.split("_")[0])) {
var presentationCurrency = GobjConfig.MONEDAPRESENTACION.split('|');
for (var i = 0; i < presentationCurrency.length; i++) {
if (presentationCurrency[i].toLowerCase().includes(currentPage.split("_")[0].toLowerCase()) && Moneda.toUpperCase() != presentationCurrency[i].split("_")[1].toUpperCase()) {
Moneda = presentationCurrency[i].split("_")[1].toUpperCase();
}
}
} else {
if (Moneda.toUpperCase() != GobjConfig.moneda.toUpperCase()) {
Moneda = GobjConfig.moneda.toUpperCase();
}
}
}
if (comoNumero != undefined && comoNumero == true)
return Valor;
else
return formatCurrency(Valor.toFixed(decimales), "", Moneda);
} catch (ex) {}
return Moneda + " " + Valor;
}
function formatCurrency(valor, format, currency, getcurrency) {
// return "$" + valor.toFixed(parseInt(GObjParametrosConfig.B2C2_NumeroDecimales));
if (typeof(format) == "undefined" || format == "")
format = "code";
if (typeof(currency) == "undefined")
currency = GObjDatosDominio.moneda.toUpperCase();
if (typeof(getcurrency) == "undefined")
getcurrency = false;
if (typeof(Intl) != "undefined") {
//TODO: parametrizar el locale
var formatter = new Intl.NumberFormat(getLocaleFromDomainObj(), {
style: 'currency',
currency: currency,
currencyDisplay: format,
maximumFractionDigits: parseInt(GobjConfig.NumeroDecimales),
minimumFractionDigits: 0
});
var cad = formatter.format(valor);
if (!getcurrency) {
if (cad.indexOf(currency) != -1) {
cad = (cad.replace(currency, "")).trim();
cad = "$" + cad;
}
}
return cad;
} else {
return formatNumber(valor);
}
}
function getLocaleFromDomainObj() {
if (GobjConfig.moneda == "COP") {
return "es-CO";
}
if (GobjConfig.moneda == "CLP") {
return "es-CL";
}
return "en-US";
}
function formatNumber(valor, decimales) {
if (decimales == undefined)
decimales = parseInt(GobjConfig.NumeroDecimales);
var num = CeilDecimales(valor, decimales);
if (num == NaN)
return valor;
num += '';
x = num.split('.');
x1 = x[0];
x2 = x.length > 1 ? ',' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + '.' + '$2');
}
return x1 + x2;
}
function CeilDecimales(valor, decimales) {
try {
var ld = parseInt(1 + (new Array(decimales + 1).join("0")));
return Math.ceil(valor * ld) / ld;
} catch (err) {}
return Math.ceil(valor);
}
function getEstrellasHotelImgen(categoria = "0") {
const categoriaAux = parseInt(categoria);
let estrellas = "";
if (categoriaAux > 0) {
for (var i = 1; i <= categoriaAux; i++) {
estrellas += '';
}
if (categoria.indexOf(".") != -1) {
estrellas += '';
}
} else {
return estrellas = "";
}
return estrellas;
}
function setGObjSlidesPromoHoteles(slidesHotel, idSlide) {
if (GObjSlides.promoHoteles == undefined) {
GObjSlides.promoHoteles = {};
}
GObjSlides.promoHoteles[idSlide] = [];
slidesHotel.forEach(elemento => {
GObjSlides.promoHoteles[idSlide].push({
slide_descripcion: null,
slide_dinamico: null,
slide_estado: "A",
slide_id: 17,
slide_id1: 17,
slide_nombre: elemento.Destiny_place,
slide_tipo: "HOME",
sslide_estado: "A",
sslide_id: elemento.Hotel_code,
sslide_img_ruta: elemento.Image,
sslide_img_ruta_mobile: null,
sslide_img_url: elemento.Link,
sslide_info_color: null,
sslide_info_texto: elemento.Destiny_place.substring(3, elemento.Destiny_place.length),
sslide_moneda: elemento.Currency,
sslide_pack: 4,
sslide_posValue: "left",
sslide_precio_color: null,
sslide_precio_texto: elemento.Price,
sslide_precio_titulo_color: null,
sslide_precio_titulo_texto: null,
sslide_tipo: "base",
sslide_titulo_color: null,
sslide_titulo_texto: elemento.Hotel_name,
urlbase: null,
categoria: elemento.Category > 0 ? elemento.Category : "0",
acomodacion: elemento.Acomodation,
checkin: elemento.Checkin,
checkout: elemento.Checkout,
policies: elemento.Policies,
source: elemento.Source
});
});
}
function getEstrellasHotelImgen(categoria = "0") {
const categoriaAux = parseInt(categoria);
let estrellas = "";
if (categoriaAux > 0) {
for (var i = 1; i <= categoriaAux; i++) {
estrellas += '';
}
if (categoria.indexOf(".") != -1) {
estrellas += '';
}
} else {
return estrellas = "";
}
return estrellas;
}
function DuraccionDias(fecha1, fecha2, format) {
var f1 = getObjFecha(fecha1.substring(0, 10));
var f2 = getObjFecha(fecha2.substring(0, 10));
var milSeg = Math.abs(f2.valueOf() - f1.valueOf());
var dur = milSeg / (1000 * 60 * 60 * 24);
return Math.ceil(dur);
}
function getObjFecha(cad, format) {
var DFecha = null;
if (cad.indexOf("Date") >= 1)
cad = cad.replace("/Date(", "").replace(")/", "");
if (cad != null && cad != "") {
if (cad.length > 24) {
cad = cad.slice(0, 24);
}
if (format != undefined)
DFecha = moment(cad, format);
if (DFecha == null)
DFecha = moment(cad);
if (DFecha == null)
DFecha = parseIsoDatetime(cad);
}
return DFecha;
}
function parseIsoDatetime(dtstr) {
return moment(dtstr);
}