var service_url = "http://servicios.ideasfractal.com"; //"http://localhost:50639"; jQuery.support.cors = true; var objTravel = new Object(); var searchID; var sessionID = ""; var AppTravelAssistant = new Object(); AppTravelAssistant.Store = new Object(); AppTravelAssistant.Store.User = new Object(); function getAvailableTrip(j) { var FlightsAvailability = new Object(); FlightsAvailability = new Object(); FlightsAvailability.SourceCode = []; FlightsAvailability.Itineraries = []; for (var i = 1; i < j.journeys.length; i++) { var aux = j.journeys[i].dteIda.split("-"); FlightsAvailability.Itineraries[(i - 1)] = {}; FlightsAvailability.Itineraries[(i - 1)].DateDeparture = new Date(aux[2], (aux[1] - 1), aux[0]); FlightsAvailability.Itineraries[(i - 1)].IATADeparture = j.journeys[i].Origen; FlightsAvailability.Itineraries[(i - 1)].IATAArrival = j.journeys[i].Destino; FlightsAvailability.Itineraries[(i - 1)].TimeDeparture = "All"; } FlightsAvailability.PaxAdults = j.selAdultosVuelos; FlightsAvailability.PaxChildren = j.selNinosVuelos; FlightsAvailability.PaxInfants = j.selInfantesVuelos; FlightsAvailability.PreferredAirlines = []; FlightsAvailability.Cabin = "Economy"; FlightsAvailability.DirectFlight = false; FlightsAvailability.MaxStops = 5; var lan = navigator.language || navigator.browserLanguage; FlightsAvailability.Language = lan.substring(0, 2).toUpperCase(); AppTravelAssistant.Store.LastFlightsSearch = FlightsAvailability; AppTravelAssistant.Store.LastFlightsSearch.SearchID = searchID; AppTravelAssistant.Store.LastFlightsSearch.RecordSkip = 0; AppTravelAssistant.Store.LastFlightsSearch.RecordTake = 5; $.ajax({ type: "POST", url: service_url + "/flights/availavility/price", contentType: "text/json", data: JSON.stringify(AppTravelAssistant.Store.LastFlightsSearch), beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Basic bXJlc3RyZXBvOkZlbmRlcjc0"); xhr.setRequestHeader("Session-Id", sessionID); }, success: function(data, textStatus, jqXHR) { sessionID = jqXHR.getResponseHeader("Session-Id"); printResults(JSV.parse(data)); }, error: function(data) { viewModel.finishLoading(); AppTravelAssistant.Logout(); } }); } function printResults(data) { var html = ""; searchID = data.SearchID; if (sessionID == null) { sessionID = searchID = ""; } $("#results").setTemplateURL('Templates/resultados.htm', null, { filter_data: false }).processTemplate(); $("#mainContentGrupos").setTemplateURL('Templates/divGrupoPrecio.htm', null, { filter_data: false }); $("#mainContentGrupos").setParam("Airports", data.Airports); $("#mainContentGrupos").setParam("Recommendations", data.Recommendations); $("#mainContentGrupos").processTemplate(); } function getAirport(obj, iata) { for (var i = 0; i < obj.length; i++) { if (obj[i].Code == iata) return obj[i]; } return null; } function FormateaHora(Fecha) { var DFecha = ""; if ((Fecha != null) && (Fecha != "")) { DFecha = Date.parse(Fecha).toString("HH:mm"); } return DFecha; } function FormateaHoraLarga(time) { var hour = Math.floor(time); var minutes = Math.floor((time - hour) * 60).toString(); return '' + hour + 'h:' + ((minutes.length == 2) ? minutes : "0" + minutes) + 'm'; } 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 = '
'; $("#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); } var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); } };