function registerNameSpace(ns){   var nsParts = ns.split(".");   var root = window;   for(var i=0; i<nsParts.length; i++)   {      if(typeof root[nsParts[i]] == "undefined") root[nsParts[i]] = new Object();      root = root[nsParts[i]];   }}function despegarErrorHandler(message, url, line){   var errMessage = '';   var stack = '';   var curError;   while(window.globalStack.length > 0)   {      curError = window.globalStack.pop();      stack =  curError.stackEntry() + '\n' + stack;   }   if(stack != '') stack = 'STACK:\n' + stack;   if(Despegar != undefined && Despegar.Exception != undefined && curError instanceof Despegar.Exception)   {      if(curError.stack) stack += '\n\nMOZILLA STACK:\n'+ curError.stack;      errMessage = 'ERROR:\nMessage: ' + curError.message + '\nURL: ' + url + '\nLine: ' + line + '\n\n' + stack;   }   else   {      errMessage = 'ERROR:\nMessage: ' + message + '\nURL: ' + url + '\nLine: ' + line;   }   alert(errMessage);   return false;}function aleatorio(inferior, superior) {    numPosibilidades = superior - inferior    aleat = Math.random() * numPosibilidades    aleat = Math.round(aleat)    return parseInt(inferior) + aleat}function devuelveRuta(oBuscador){         oBuscador.sPaginaBuscador = "homepagev3Busq";         return "/busqueda/vuelos/resultadoBusquedaVuelos.aspx";}//window.onerror = despegarErrorHandler;window.globalStack = new Array();//----------------------//--RESOURCES-----------registerNameSpace("Despegar");Despegar.Ajax = function() { //llamadas ajax one way    this.Get = function(url) { //GET        if (window.XMLHttpRequest) {            req = new XMLHttpRequest();            req.open("GET", url, true);            req.send(null);        }        else if (window.ActiveXObject) { //IE            req = new ActiveXObject("Microsoft.XMLHTTP");            if (req) {                req.open("GET", url, true);                req.send();            }        }    }    this.PostJson = function(url, data) { //POST         var req;         if (window.XMLHttpRequest) {            req = new XMLHttpRequest();         } else if (window.ActiveXObject) {            req = new ActiveXObject("Microsoft.XMLHTTP");         }            if (req) {            req.open("POST", url, true);            //Send the proper header information along with the request            req.setRequestHeader("Content-type", "application/json");            req.setRequestHeader("Content-length", data.length);            req.setRequestHeader("Connection", "close");            req.send(data);        }    }};//****** Logging para reporte de vuelos y hoteles revancha ************Despegar.FlowStage = function() {	this.Home = 0;    this.FlightAdvSearch = 1;    this.FlightMultidestination = 2;    this.FlightNewSearch = 3;    this.FlightResults = 4;    this.Checkout = 5;    this.Thanks = 6;    this.Booking = 7;    this.HotelSearch = 8;    this.HotelDetails = 9;    this.HotelServiceDetails = 10;    this.HotelServiceSearch = 11;    this.HotelLanding = 12}function CreateJSonDate(date) {    var utcDate = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());    return '\/Date(' + utcDate + ')\/';};Despegar.HotelsReportLogData = function() {    this.__type = "HotelsReportLogData:#Despegar.Common.Logging";    this.Category = 15; //HotelReport    this.ClientTime = CreateJSonDate(new Date());    this.CheckIn;    this.CheckOut;    this.Distribution;    this.Destination;    this.Stage;    this.ResultCount;    this.ResultDelay;    this.DetailDisponibility;    this.PriceVariation;    this.IsCache;    this.IsPromotion;    this.HotelOrder;    this.Provider;    this.ClientId = getClientId();};Despegar.FlightsReportLogData = function() {    this.__type = "FlightsReportLogData:#Despegar.Business.Core.Commons.Logging";    this.Category = 3; //FlightReport    this.ClientTime = CreateJSonDate(new Date());    this.DepartureLocation;    this.ArrivalLocation;    this.DepartureDate;    this.ReturnDate;    this.Stage;    this.SearchPage;    this.ShowReservationButton;    this.ResultCount = 0;    this.ClusteredResults;    this.BrokerTime;    this.Ping = null;    this.FromDeBaSe;};Despegar.Logger = function() {    this.LogReport = function(reportLogData) {        var url = "/Despegar.Business.Services/Commons/Logging.svc/LogReport";        var despAjax = new Despegar.Ajax();        var data = JSON.stringify(reportLogData);        despAjax.PostJson(url, data);    }}function getAmericandDate(input) {    var d = input.split(new RegExp('/', 'gi'));    return d[1] + "/" + d[0] + "/" + d[2];}//***********************************************************Despegar.ResourceManager = function(){   this.resources = new Array();   this.currentRegion = "es";   this.add = function(key,value,region)   {      if(region == undefined) region = this.currentRegion;      if (this.resources[region] != null)      {         this.resources[region][key]= value;      }      else      {         this.resources[region] = new Array();         this.resources[region][key]= value;      }   }   this.get = function (key,region)   {      if(region == undefined) region = this.currentRegion;      if (this.resources[region] != null)      {         if (this.resources[region][key] != null)         {            return this.resources[region][key];         }         else         {            return null;         }      }      else      {            return null;      }   }   return this;}//- CREO EL RECURSO--Despegar.ResourceManager = new Despegar.ResourceManager();//----------------------//----SEARCH BOX--------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.Box = function() {    this.anticipatedSearchEnabled = false;    this.vPais;    this.domain = document.location.href.split(".")[0].replace("http://", "");    this.sOrigen;    this.sDescripcionOrigen;    this.sDestino;    this.sDescripcionDestino;    this.oFechas = new Array();    this.sFlow;    this.sTripType;    this.sPaginaBuscador;    this.aPaxGroup = new Array();    //Privadas    this.sADT = 0;    this.sCNN = 0;    this.sINF = 0;    this.oForm;    this.TipoDestinoPaq;    this.MultipleDestinoPaq;    this.comboDuracionPaq;    this.restSearchFlow;    this.aProducts = new Array();    // ---------------- Array de nombre de Objetos de Productos ---------    this.aProducts["v"] = "Despegar.SearchBox.Flights";    this.aProducts["vh"] = "Despegar.SearchBox.FlightsHotels";    this.aProducts["h"] = "Despegar.SearchBox.Hotels";    this.aProducts["a"] = "Despegar.SearchBox.Cars";    this.aProducts["p"] = "Despegar.SearchBox.Packages";    // ---------------- Array de nombre de Objetos de Productos FIN -----    this.objectSearch;    this.sEdades = new Array();    this.objectSearchInit = function() {        this.objectSearch = eval("new " + this.aProducts[this.sFlow] + "(this)");        this.oForm = this.objectSearch.initForm();    }    this.buscar = function() {    //Vieja Busqueda        var oFields = this.objectSearch.buscar();                if ((!this.restSearchFlow)) {            var size = 0;            for (var field in oFields) {                if (oFields[field] != null) {                    this.oForm.addInput(field, field, oFields[field]);                }            }            //---------------------------POSTEO DEL FORMULARIO!----------------------            this.oForm.post();        }        else {            //Flow de busqueda de REVANCHA            if (this.sFlow == "v") {                             if (this.sOrigen != "" && this.sDestino != "") {                    var restParams = this.objectSearch.generateRestParams();                    //bsqueda anticipada slo para roundtrip                    if (this.anticipatedSearchEnabled && restParams.indexOf("RoundTrip") == 0) {                        var svcUrl = "/FlightsService/Flights.svc/Begin" + restParams;                        var despAjax = new Despegar.Ajax();                        despAjax.Get(svcUrl);                    }                    //log report                    var reportData = new Despegar.FlightsReportLogData();                    var stage = new Despegar.FlowStage();                    reportData.DepartureLocation = this.sOrigen;                    reportData.ArrivalLocation = this.sDestino;					reportData.DepartureDate = CreateJSonDate(new Date(getAmericandDate(this.oFechas[0])));                    if (this.sTripType == "iv") {                        reportData.ReturnDate = CreateJSonDate(new Date(getAmericandDate(this.oFechas[1])));                    }					if (this.sPaginaBuscador == "NewSearch")                    {						reportData.Stage = stage.FlightNewSearch;                    }					else					{						reportData.Stage = stage.Home;						reportData.SearchPage = this.sPaginaBuscador;					}                    var logger = new Despegar.Logger();                    logger.LogReport(reportData);                    //Redireccin					window.location = "/search/flights/" + restParams;                }                else {                    //Desambiguacin                    var myForm = new Despegar.Form("/search/Disambiguation/Disambiguation.aspx", "POST", "frmDisambiguation", "frmDisambiguation");                    var departureDate = new Despegar.Date();                    var returnDate = new Despegar.Date();                    var data = new DisambiguationData();                    this.sADT = 0;                    this.sCNN = 0;                    this.sINF = 0;                                        for (i = 0; i < this.aPaxGroup.length; i++) {                        this.sADT += eval(this.aPaxGroup[i].adt);                        this.sCNN += eval(this.aPaxGroup[i].cnn);                        this.sINF += eval(this.aPaxGroup[i].inf);                    }                    departureDate.setddmmaaaa(this.oFechas[0], "/");                    //myForm.addInput("OriginLocation", "OriginLocation", this.sOrigen);                    data.Origins.push(this.sOrigen);                    //myForm.addInput("DestinationLocation", "DestinationLocation", this.sDestino);                    data.Destinations.push(this.sDestino);                    //myForm.addInput("DepartureDate", "DepartureDate", departureDate.getota());                    data.DepartureDates.push(departureDate.getota());                    //myForm.addInput("ADTCount", "ADTCount", this.sADT);                    data.Adults = this.sADT;                    //myForm.addInput("CNNCount", "CNNCount", this.sCNN);                    data.Children = this.sCNN;                    //myForm.addInput("INFCount", "INFCount", this.sINF);                    data.Infants = this.sINF;                    if (this.sTripType == "iv") {                        returnDate.setddmmaaaa(this.oFechas[1], "/");                        //myForm.addInput("ReturnDate", "ReturnDate", returnDate.getota());                        data.ReturnDate = returnDate.getota();                        //myForm.addInput("ItineraryType", "ItineraryType", "RoundTrip");                        data.ItineraryType = 2;                    }                    else {                        //myForm.addInput("ItineraryType", "ItineraryType", "OneWay");                        data.ItineraryType = 1;                    }                    //myForm.addInput("OriginLocationName", "OriginLocationName", stripHTML(this.sDescripcionOrigen));                    data.OriginsNames.push(stripHTML(this.sDescripcionOrigen));                    //myForm.addInput("DestinationLocationName", "DestinationLocationName", stripHTML(this.sDescripcionDestino));                    data.DestinationsNames.push(stripHTML(this.sDescripcionDestino));                    /* Workaround debido a un bug de Stringify en IE8 (HIT #HRD142) */                    var replacer = function(k,v) { return (v == null || v==="") ? "" : v};                    var jsonAsStr = JSON.stringify(data, replacer);                                        myForm.addInput("data", "data", jsonAsStr);                    myForm.post();                }            }            else if (this.sFlow == "h") {                // TODO: Resolver el problema con las diferentes urls                // Se puso fija la url por diferencias de url.                var oFields = this.objectSearch.buscar();                var size = 0;                var fields = "";                var cantHabitaciones = "";                var pasDistribution;                for (var field in oFields) {                    if (oFields[field] != null) {                        fields += field + "-" + oFields[field] + "|";                    }                }                cantHabitaciones = document.getElementById("Habitaciones").value;                pasDistribution = setPasajerosNet(cantHabitaciones, fields);                //log report                var reportData = new Despegar.HotelsReportLogData();                var stage = new Despegar.FlowStage();                reportData.CheckIn = CreateJSonDate(new Date(getAmericandDate(oFields["FechaEntradaHotel"])));                reportData.CheckOut = CreateJSonDate(new Date(getAmericandDate(oFields["FechaSalidaHotel"])));                reportData.Distribution = pasDistribution;                reportData.Destination = oFields["sCiudadDesdeHotel"];                reportData.Stage = stage.Home;                var logger = new Despegar.Logger();                logger.LogReport(reportData);                window.location = "/search/Hotels/" + oFields["sCiudadDesdeHotel"] + "/" + getFormatedDate(oFields["FechaEntradaHotel"]) + '/' + getFormatedDate(oFields["FechaSalidaHotel"]) + "/" + pasDistribution + "/";            }        }    }    this.validar = function() {        //Retorna un objeto del tipo Validation        return this.objectSearch.validar();    }    this.addPaxGroup = function(_adt, _aEdades) {        //verificar que la linea siguiente sea valida        var oPaxGroup = new this.PaxGroup(_adt, _aEdades);        this.aPaxGroup.push(oPaxGroup);    }    //Objeto para guardar informacion de grupos de pax (Pax x Habitacion)    //Tener en cuenta que _aEdades, es un array de las edades de los nios    this.PaxGroup = function(_adt, _aEdades) {        this.adt = _adt;        this.cnn = 0;        this.inf = 0;        this.edades = _aEdades;        var MAX_INF = 1; //Edad Maxima para bebe        for (var i = 0; i < _aEdades.length; i++) {            if (_aEdades[i] <= MAX_INF) {                this.inf++;            }            else if (_aEdades[i] >= 2 & _aEdades[i] < 12) {                this.cnn++;            } else {                this.adt++;            }        }        this.toString = function() {            return 'adt:' + this.adt + ' ,cnn:' + this.cnn + ' ,inf:' + this.inf;        }    }}//----------------------function createScriptRequest(path) {    var head = document.getElementsByTagName('head')[0];    var scriptTag;    scriptTag = document.createElement("script");    scriptTag.id = "request";    scriptTag.src = path;    scriptTag.type = "text/javascript";    head.appendChild(scriptTag);    return;}function getFormatedDate(input) {    var d = input.split(new RegExp('/', 'gi'));    return d[2] + "-" + d[1] + "-" + d[0];}function getval(fields,field) {    var sp;    var sp2;    var val= field + "-";    sp=fields.split(val);    if ((sp.length==1) | (sp.length==0))    return null;    if (sp==null)    return null;    sp2=sp[1].split("|");   return sp2[0];}function setPasajerosNet(cantHabitaciones,fields) {    //inicializo IDs    var idADT = "txtBHH";    var idCNN = "txtBHY";    var idEdades = "txtBHY";    //Auxiliares    var adt;    var cnnQuantity;    var aEdades = new Array();    var rooms = "";    for (i = 1; i <= cantHabitaciones; i++) {        if (i > 1)            rooms = rooms + "!";        adt = getval(fields,idADT + i) ;        rooms = rooms + adt;        for (j = 1; j <= getval(fields,"txtBHB" + i); j++) {            if (getval(fields,idEdades + i + j)   == null)            { age = "0"; }            else {                var age = getval(fields,idEdades + i + j) ;                if (age == "?") {                    age = "0";                }            }            rooms = rooms + "-" + age;        }    }    return rooms;}//------FLIGHTS---------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.Flights = function(oBuscador) {    // ----- Metodos ----- //    this.initForm = function() {        if (oBuscador.vPais == 10) {            return new Despegar.Form("http://" + oBuscador.domain + ".decolar.com" + devuelveRuta(oBuscador), "POST", "frmVuelos", "frmVuelos");        }        else {            return new Despegar.Form("http://" + oBuscador.domain + "." + getCodePais(oBuscador.vPais) + ".despegar.com" + devuelveRuta(oBuscador), "POST", "frmVuelos", "frmVuelos");        }    }    this.validar = function() {        var region = getRegion(oBuscador.vPais);        var oValidator = new Despegar.Validator();        if ((!oBuscador.restSearchFlow && oBuscador.sOrigen.length == 0) || (oBuscador.restSearchFlow && oBuscador.sDescripcionOrigen.length == 0)) {            oValidator.isValid = false;            oValidator.addMsgKey("_originNotValidMsg");        }        if ((!oBuscador.restSearchFlow && oBuscador.sDestino.length == 0 || (oBuscador.restSearchFlow && (oBuscador.sDescripcionDestino.length == 0 || oBuscador.sDescripcionDestino == defaultTextDestino)))) {            oValidator.isValid = false;            oValidator.addMsgKey("_destinationNotValidMsg");        }        if (oBuscador.sDestino == oBuscador.sOrigen && oBuscador.sOrigen.length != 0) {            oValidator.isValid = false;            oValidator.addMsgKey("_originDestinationEqualNotValidMsg");        }        if (oBuscador.restSearchFlow && vPais == 82 && oBuscador.sOrigen.length != 0 && oBuscador.sDestino.length != 0) {            var validCitiesCombination = false;            for (var i = 0; i < venezuelaCities.length && !validCitiesCombination; i++)                validCitiesCombination = venezuelaCities[i] == oBuscador.sOrigen.toUpperCase() || venezuelaCities[i] == oBuscador.sDestino.toUpperCase();            if (!validCitiesCombination) {                oValidator.isValid = false;                oValidator.addMsgKey("_validateCitiesVZ");            }        }        this.validarFechas(oValidator);        if (oValidator.isValid == false) {            this.initResources(region);        }        return oValidator;    }    this.initResources = function(region) {        if (region == "PT") {            Despegar.ResourceManager.add("_startErrorMsg", "", region);            Despegar.ResourceManager.add("_originNotValidMsg", " - Digite a cidade de partida", region);            Despegar.ResourceManager.add("_destinationNotValidMsg", "- Digite a cidade de destino", region);            Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg", "- A data de partida deve ser anterior  data de regresso", region);            Despegar.ResourceManager.add("_dateSalidaNotValidMsg", "- Digite a data de partida", region);            Despegar.ResourceManager.add("_dateRegresoNotValidMsg", "- Digite a data de regreso", region);            Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg", "- A origem e o destino no podem ser iguais", region);        }        else {            Despegar.ResourceManager.add("_startErrorMsg", "Seor Usuario, Revise los siguientes Mensajes:", region);            Despegar.ResourceManager.add("_originNotValidMsg", " - Ingrese una ciudad de partida", region);            Despegar.ResourceManager.add("_destinationNotValidMsg", "- Ingrese una ciudad de destino", region);            Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg", "- La fecha de salida debe ser anterior a la fecha de llegada", region);            Despegar.ResourceManager.add("_dateSalidaNotValidMsg", "- La fecha de salida no es vlida", region);            Despegar.ResourceManager.add("_dateRegresoNotValidMsg", "- La fecha de regreso no es vlida", region);            Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg", "- El origen y el destino no pueden ser iguales", region);            Despegar.ResourceManager.add("_validateCitiesVZ", "- Slo podemos ofrecer vuelos cuyo orgen o destino sea una ciudad venezolana. Por favor modifique la ciudad de orgen o destino.", region);        }    }    this.validarFechas = function(oValidator) {        var oFechaSalida;        var oFechaRegreso;        if (oBuscador.oFechas[0] == "dd/mm/aaaa" || oBuscador.oFechas[0] == "") {            oValidator.isValid = false;            oValidator.addMsgKey("_dateSalidaNotValidMsg");        }        else {            oFechaSalida = new Despegar.Date();            oFechaSalida.setddmmaaaa(oBuscador.oFechas[0], "/");        }        if (oBuscador.sTripType != "i") {            if (oBuscador.oFechas[1] == "dd/mm/aaaa" || oBuscador.oFechas[1] == "") {                oValidator.isValid = false;                oValidator.addMsgKey("_dateRegresoNotValidMsg");            }            else {                oFechaRegreso = new Despegar.Date();                oFechaRegreso.setddmmaaaa(oBuscador.oFechas[1], "/");            }            if (oFechaSalida != null && oFechaRegreso != null) {                var comparacion;                comparacion = oFechaSalida.compareTo(oFechaRegreso.getiso());                if (comparacion == 1) {                    oValidator.isValid = false;                    oValidator.addMsgKey("_dateSalidaMayorNotValidMsg");                }            }        }    }    //devuelve los parmetros de bsqueda en la forma <RoundTrip|OneWay>/CiudadDesde/CiudadHasta/FechaDesde/[FechaHasta]/adt/cnn/inf    this.generateRestParams = function() {        var departureDate = new Despegar.Date();        var returnDate = new Despegar.Date();        //Reseteo los pasajeros apra poder buscar bien        oBuscador.sADT = 0;        oBuscador.sCNN = 0;        oBuscador.sINF = 0;        for (i = 0; i < oBuscador.aPaxGroup.length; i++) {            oBuscador.sADT += eval(oBuscador.aPaxGroup[i].adt);            oBuscador.sCNN += eval(oBuscador.aPaxGroup[i].cnn);            oBuscador.sINF += eval(oBuscador.aPaxGroup[i].inf);        }        departureDate.setddmmaaaa(oBuscador.oFechas[0], "/");        if (oBuscador.sTripType == "iv") {            returnDate.setddmmaaaa(oBuscador.oFechas[1], "/");            return "RoundTrip" + '/' + oBuscador.sOrigen + '/' + oBuscador.sDestino + '/' + departureDate.getota() + '/' + returnDate.getota() + '/' + oBuscador.sADT + '/' + oBuscador.sCNN + '/' + oBuscador.sINF;        }        else {            return "OneWay" + '/' + oBuscador.sOrigen + '/' + oBuscador.sDestino + '/' + departureDate.getota() + '/' + oBuscador.sADT + '/' + oBuscador.sCNN + '/' + oBuscador.sINF;        }    }    //devuelve los parmetros de bsqueda para la pgina de desambiguacin    this.generateDisambiguationParams = function() {        var departureDate = new Despegar.Date();        var returnDate = new Despegar.Date();        oBuscador.sADT = 0;        oBuscador.sCNN = 0;        oBuscador.sINF = 0;                for (i = 0; i < oBuscador.aPaxGroup.length; i++) {            oBuscador.sADT += eval(oBuscador.aPaxGroup[i].adt);            oBuscador.sCNN += eval(oBuscador.aPaxGroup[i].cnn);            oBuscador.sINF += eval(oBuscador.aPaxGroup[i].inf);        }        departureDate.setddmmaaaa(oBuscador.oFechas[0], "/");        if (oBuscador.sTripType == "iv") {            returnDate.setddmmaaaa(oBuscador.oFechas[1], "/");            return '?OriginLocation=' + oBuscador.sOrigen + '&DestinationLocation=' + oBuscador.sDestino + '&DepartureDate=' + departureDate.getota() + '&ReturnDate=' + returnDate.getota() + '&ADTCount=' + oBuscador.sADT + '&CNNCount=' + oBuscador.sCNN + '&INFCount=' + oBuscador.sINF + '&ItineraryType=RoundTrip&OriginLocationName=' + stripHTML(oBuscador.sDescripcionOrigen.replace("#", "%23")) + '&DestinationLocationName=' + stripHTML(oBuscador.sDescripcionDestino.replace("#", "%23"));        }        else {            return '?OriginLocation=' + oBuscador.sOrigen + '&DestinationLocation=' + oBuscador.sDestino + '&DepartureDate=' + departureDate.getota() + '&ADTCount=' + oBuscador.sADT + '&CNNCount=' + oBuscador.sCNN + '&INFCount=' + oBuscador.sINF + '&ItineraryType=OneWay&OriginLocationName=' + stripHTML(oBuscador.sDescripcionOrigen.replace("#", "%23")) + '&DestinationLocationName=' + stripHTML(oBuscador.sDescripcionDestino.replace("#", "%23"));        }    }    this.buscar = function() {        var oFields = new Array();        //Cargo Primero los Fields Cargados Por el Usuario---        oFields["sPaginaBuscador"] = oBuscador.sPaginaBuscador;        oFields["OriginLocation1"] = oBuscador.sOrigen;        oFields["DescripcionOriginLocation1"] = oBuscador.sDescripcionOrigen;        oFields["DestinationLocation1"] = oBuscador.sDestino;        oFields["DescripcionDestinationLocation1"] = oBuscador.sDescripcionDestino;        oFields["sFlowType"] = "vp";        oFields["sFlow"] = oBuscador.sFlow;        oFields["vPais"] = oBuscador.vPais;        oFields["FechaSalida"] = oBuscador.oFechas[0];        if (oBuscador.sTripType == "iv")        {        oFields["FechaRegreso"] = oBuscador.oFechas[1];        }        oFields["sTripType"] = oBuscador.sTripType;        //Preparo las fechas que necesita Resultado Busqueda de vuelos        var auxFecha = new Despegar.Date();        auxFecha.setddmmaaaa(oBuscador.oFechas[0], "/");        //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!        //oFields["DiaDesde"] = auxFecha.dia;        //oFields["MesDesde"] = auxFecha.mes;        //oFields["AnioDesde"] = auxFecha.anio;        oFields["DepartureDate1"] = auxFecha.getota();        if (oBuscador.sTripType == "iv")        {        auxFecha.setddmmaaaa(oBuscador.oFechas[1], "/");        oFields["DepartureDate2"] = auxFecha.getota();        }        //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!        //oFields["DiaHasta"] = auxFecha.dia;        //oFields["AnioHasta"] = auxFecha.anio;        //oFields["MesHasta"] = auxFecha.mes;        //----------- CARGO LA CANTIDAD DE PASAJEROS (aPaxGroup en el caso de vuelos siempre es 1 solo registro)        for (i = 0; i < oBuscador.aPaxGroup.length; i++) {            oBuscador.sADT += eval(oBuscador.aPaxGroup[i].adt);            oBuscador.sCNN += eval(oBuscador.aPaxGroup[i].cnn);            oBuscador.sINF += eval(oBuscador.aPaxGroup[i].inf);        }        oFields["PassengerTypeQuantityADT"] = oBuscador.sADT;        oFields["PassengerTypeQuantityCNN"] = oBuscador.sCNN;        oFields["PassengerTypeQuantityINF"] = oBuscador.sINF;        //---------------------------------------------------        //---------------------------------------------------        //-----------Genero los Fields Estaticos-------------        oFields["urlBuscador"] = devuelveRuta(oBuscador.vPais);        oFields["Amplitud"] = "D";        oFields["Tipthis.oBuscador"] = "home";        //-------------Parametros Fijos, Chequear si son necesarios!----------        //oFields["filtro_resultado"] = "A";        //oFields["sSearchCategory"] = "A";        //oFields["rdoMismaCiudad"] = "N";        //oFields["solapa"] = "VE";        //oFields["dHoraSalida"] = "1200";        //oFields["dHoraLlegada"] = "1200";        //oFields["DepartureTime1"] = "";        //oFields["DepartureTime2"] = "";        //oFields["MismaCiudad"] = "N";        //oFields["rdoMismaCiudad"] = "N";        //oFields["pdDias"] = "2";        if (oBuscador.sSearchHotels && oBuscador.sTripType == "iv" &&  oBuscador.sDestino != "") {            searchHotelsForThisTrip(oFields);        }        return oFields;    }    // ----------------------- FIN FORMULARIO DE VUELOS!!! ---------------------}function searchHotelsForThisTrip(oFields){   var popupsOK = true;   for (var j=0; j<1; j++) {      popupsOK = (popupsOK && singlewindow(j, "Despegar", 1,oFields));   }   window.focus();   return popupsOK;}function singlewindow(num, code, total,oFields) {    var windowname = code;    try {                var fields = "";                var cantHabitaciones = "";                var pasDistribution;                for (var field in oFields) {                    if (oFields[field] != null) {                        fields += field + "-" + oFields[field] + "|";                    }                }                cantHabitaciones = document.getElementById("Habitaciones").value;                pasDistribution = oFields["PassengerTypeQuantityADT"] + oFields["PassengerTypeQuantityCNN"] + oFields["PassengerTypeQuantityINF"];                if (pasDistribution > 4)                  {                     pasDistribution = 2;                  }                var args = "height=800,width=800,menubar=1,location=1,resizable=1,scrollbars=1,toolbar=1";                var url = "/search/Hotels/" + oFields["DestinationLocation1"] + "/" + getFormatedDate(oFields["FechaSalida"]) + '/' + getFormatedDate(oFields["FechaRegreso"]) + "/" + pasDistribution + "/"                var mywin = window.open(url, windowname, args);                mywin.focus();          }          catch (ignored) {               return false;         }    return true;}//----------------------//------HOTELS---------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.Hotels = function(oBuscador){   this.initForm = function()   {      if (oBuscador.vPais == 10)      {         return new Despegar.Form("http://"+ oBuscador.domain + ".decolar.com/paginas/hoteles/resultadoBusquedaHoteles.asp?utm_source=despegar.com&utm_medium=link%2Binterno&utm_campaign=Buscador%2BHome%2BHoteles","POST","frmHoteles","frmHoteles");      }      else      {         return new Despegar.Form("http://"+ oBuscador.domain +"."+ getCodePais(oBuscador.vPais) + ".despegar.com/paginas/hoteles/resultadoBusquedaHoteles.asp?utm_source=despegar.com&utm_medium=link%2Binterno&utm_campaign=Buscador%2BHome%2BHoteles","POST","frmHoteles","frmHoteles");      }   }   this.validar = function()   {      var region = getRegion(oBuscador.vPais);      var oValidator = new Despegar.Validator();      if (oBuscador.sDestino.length == 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_destinationNotValidMsg");      }      this.validarFechas(oValidator);      if (oValidator.isValid == false)      {         this.initResources(region);      }      return oValidator;   }   this.initResources = function(region)   {      if (region == "PT")      {      Despegar.ResourceManager.add("_startErrorMsg","",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Digite uma cidade",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- A data de sada deve ser anterior  data de chegada",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- Digite a data de chegada ao hotel",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- Digite a data de saida ao hotel",region);      }      else      {      Despegar.ResourceManager.add("_startErrorMsg","Seor Usuario, Revise los siguientes Mensajes:",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Ingrese una ciudad donde alojarse",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- La fecha de salida debe ser anterior a la fecha de llegada",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- La fecha de salida no es vlida",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- La fecha de regreso no es vlida",region);      }   }   this.validarFechas = function(oValidator)   {      var oFechaSalida;      var oFechaRegreso;      if (oBuscador.oFechas[0] == "dd/mm/aaaa" || oBuscador.oFechas[0] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateSalidaNotValidMsg");      }      else      {         oFechaSalida = new Despegar.Date();         oFechaSalida.setddmmaaaa(oBuscador.oFechas[0],"/");      }      if (oBuscador.oFechas[1] == "dd/mm/aaaa" ||  oBuscador.oFechas[1] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateRegresoNotValidMsg");      }      else      {         oFechaRegreso = new Despegar.Date();         oFechaRegreso.setddmmaaaa(oBuscador.oFechas[1],"/");      }      if (oFechaSalida != null  && oFechaRegreso != null)      {         var comparacion;         comparacion = oFechaSalida.compareTo(oFechaRegreso.getiso());         if (comparacion == 1)         {            oValidator.isValid = false;            oValidator.addMsgKey("_dateSalidaMayorNotValidMsg");         }      }   }   this.buscar = function()   {      var oFields = new Array();      //Cargo Primero los Fields Cargados Por el Usuario---      oFields["sCiudadDesde"] = oBuscador.sDestino;      oFields["sCiudadDesdeHotel"] = oBuscador.sDestino;      oFields["DescripcionCiudadDesdeHotel"] = oBuscador.sDescripcionDestino;      oFields["sFlow"] = oBuscador.sFlow;      oFields["urlBuscador"] = "HomepageV3Busqueda";      oFields["FechaEntradaHotel"] = oBuscador.oFechas[0];      oFields["FechaSalidaHotel"] = oBuscador.oFechas[1];      oFields["DepartureDate1"] = oBuscador.oFechas[0];      oFields["DepartureDate2"] = oBuscador.oFechas[1];      oFields["sFlowType"] = "h";      oFields["vPais"] = oBuscador.vPais;      //Preparo las fechas que necesita Resultado Busqueda de vuelos      var auxFecha = new Despegar.Date();      auxFecha.setddmmaaaa(oBuscador.oFechas[0],"/");      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaDesde"] = auxFecha.dia;      //oFields["MesDesde"] = auxFecha.mes;      //oFields["AnioDesde"] = auxFecha.anio;      oFields["dFechaEntrada"] = auxFecha.getddmm();      auxFecha.setddmmaaaa(oBuscador.oFechas[1],"/");      oFields["dFechaSalida"] = auxFecha.getddmm();      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaHasta"] = auxFecha.dia;      //oFields["AnioHasta"] = auxFecha.anio;      //oFields["MesHasta"] = auxFecha.mes;      //----------- CARGO LA CANTIDAD DE PASAJEROS (aPaxGroup en el caso de hoteles Cargo Todo)      var idHabQuantity = "txtBHH";      var HabQuantity = 0;      var idADT = "txtBHH";      var idCNN = "txtBHB";      var idEdades = "txtBHY";      for (i=0;i<oBuscador.aPaxGroup.length;i++)      {         HabQuantity++;         oFields[idADT + eval(i+1).toString()] = oBuscador.aPaxGroup[i].adt;         oFields[idCNN + eval(i+1).toString()] = eval(oBuscador.aPaxGroup[i].cnn + oBuscador.aPaxGroup[i].inf);          for(j=0;j<oBuscador.aPaxGroup[i].edades.length;j++)          {            oFields[idEdades + eval(i+1).toString() + eval(j+1).toString()] = oBuscador.aPaxGroup[i].edades[j];          }       }       oFields[idHabQuantity] = HabQuantity;       //---------------------------------------------------       //---------------------------------------------------       //-----------Genero los Fields Estaticos-------------       oFields["cboAmenities1"] = "";       oFields["cboAmenities2"] = "";       //-------------Parametros Fijos, Chequear si son necesarios!----------       //oFields["filtro_resultado"] = "A";       //oFields["sSearchCategory"] = "A";       //oFields["rdoMismaCiudad"] = "N";       //oFields["solapa"] = "VE";       //oFields["dHoraSalida"] = "1200";       //oFields["dHoraLlegada"] = "1200";       //oFields["DepartureTime1"] = "";       //oFields["DepartureTime2"] = "";       //oFields["MismaCiudad"] = "N";       //oFields["rdoMismaCiudad"] = "N";       //oFields["pdDias"] = "2";       return oFields;      }// ----------------------- FIN FORMULARIO DE HOTELES!!! ---------------------}//----------------------//------FLIGHTS + HOTELS---------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.FlightsHotels = function(oBuscador){   this.initForm = function()   {            if (oBuscador.vPais == 10)      {         return new Despegar.Form("http://"+ oBuscador.domain +".decolar.com/vuelosmashoteles/VuelosMasHotel/resultadoVuelosHoteles.aspx","POST","frmVuelosMasHoteles","frmVuelosMasHoteles");      }      else      {         return new Despegar.Form("http://"+ oBuscador.domain +"."+ getCodePais(oBuscador.vPais) + ".despegar.com/vuelosmashoteles/VuelosMasHotel/resultadoVuelosHoteles.aspx","POST","frmVuelosMasHoteles","frmVuelosMasHoteles");      }   }   this.validar = function()   {      var region = getRegion(oBuscador.vPais);      var oValidator = new Despegar.Validator();      if (oBuscador.sOrigen.length == 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_originNotValidMsg");      }      if (oBuscador.sDestino.length == 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_destinationNotValidMsg");      }      if (oBuscador.sDestino == oBuscador.sOrigen && oBuscador.sOrigen.length != 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_originDestinationEqualNotValidMsg");      }      this.validarFechas(oValidator);      if (oValidator.isValid == false)      {         this.initResources(region);      }      return oValidator;   }   this.initResources = function(region)   {      if (region == "PT")      {      Despegar.ResourceManager.add("_originNotValidMsg"," - Digite a cidade de partida",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Digite a cidade de destino",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- A data de partida deve ser anterior  data de regresso",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- Digite a data de partida",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- Digite a data de regreso",region);      Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg","- A origem e o destino no podem ser iguais",region);      }      else      {      Despegar.ResourceManager.add("_startErrorMsg","Seor Usuario, Revise los siguientes Mensajes:",region);      Despegar.ResourceManager.add("_originNotValidMsg"," - Ingrese una ciudad de partida",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Ingrese una ciudad de destino",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- La fecha de salida debe ser anterior a la fecha de llegada",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- La fecha de salida no es vlida",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- La fecha de regreso no es vlida",region);      Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg","- El origen y el destino no pueden ser iguales",region);      }   }   this.validarFechas = function(oValidator)   {      var oFechaSalida;      var oFechaRegreso;      if (oBuscador.oFechas[0] == "dd/mm/aaaa" || oBuscador.oFechas[0] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateSalidaNotValidMsg");      }      else      {         oFechaSalida = new Despegar.Date();         oFechaSalida.setddmmaaaa(oBuscador.oFechas[0],"/");      }      if (oBuscador.oFechas[1] == "dd/mm/aaaa" ||  oBuscador.oFechas[1] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateRegresoNotValidMsg");      }      else      {         oFechaRegreso = new Despegar.Date();         oFechaRegreso.setddmmaaaa(oBuscador.oFechas[1],"/");      }      if (oFechaSalida != null  && oFechaRegreso != null)      {         var comparacion;         comparacion = oFechaSalida.compareTo(oFechaRegreso.getiso());         if (comparacion == 1)         {            oValidator.isValid = false;            oValidator.addMsgKey("_dateSalidaMayorNotValidMsg");         }      }   }   this.buscar = function()   {      var oFields = new Array();      //Cargo Primero los Fields Cargados Por el Usuario---      oFields["sPaginaBuscador"] = oBuscador.sPaginaBuscador;      oFields["OriginLocation1MH"] = oBuscador.sOrigen;      oFields["DescripcionOriginLocation1MH"] = oBuscador.sDescripcionOrigen;      oFields["DestinationLocation1MH"] = oBuscador.sDestino;      oFields["DescripcionDestinationLocation1"] = oBuscador.sDescripcionDestino;      oFields["sFlowType"] = "vp";      oFields["sFlow"] = "v";      oFields["vPais"] = oBuscador.vPais;      oFields["FechaSalida"] = oBuscador.oFechas[0];      oFields["FechaRegreso"] = oBuscador.oFechas[1];      //Preparo las fechas que necesita Resultado Busqueda de vuelos      var auxFecha = new Despegar.Date();      auxFecha.setddmmaaaa(oBuscador.oFechas[0],"/");      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaDesde"] = auxFecha.dia;      //oFields["MesDesde"] = auxFecha.mes;      //oFields["AnioDesde"] = auxFecha.anio;      oFields["DepartureDate1MH"] = auxFecha.getota();      auxFecha.setddmmaaaa(oBuscador.oFechas[1],"/");      oFields["DepartureDate2MH"] = auxFecha.getota();      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaHasta"] = auxFecha.dia;      //oFields["AnioHasta"] = auxFecha.anio;      //oFields["MesHasta"] = auxFecha.mes;      //----------- CARGO LA CANTIDAD DE PASAJEROS (aPaxGroup en el caso de vuelos siempre es 1 solo registro)      var idHabQuantity = "txtBHVH";      var HabQuantity = 0;      var idADT = "txtBHVH";      var idCNN = "txtBHVB";      var idEdades = "txtBHVY";      for (i=0;i<oBuscador.aPaxGroup.length;i++)      {         HabQuantity++;         oFields[idADT + eval(i+1).toString()] = oBuscador.aPaxGroup[i].adt;         oFields[idCNN + eval(i+1).toString()] = eval(oBuscador.aPaxGroup[i].cnn + oBuscador.aPaxGroup[i].inf);         for(j=0;j<oBuscador.aPaxGroup[i].edades.length;j++)         {            oFields[idEdades + eval(i+1).toString() + eval(j+1).toString()] = oBuscador.aPaxGroup[i].edades[j];         }      }      oFields[idHabQuantity] = HabQuantity;      //---------------------------------------------------      //---------------------------------------------------      //-----------Genero los Fields Estaticos-------------      oFields["urlBuscador"] = devuelveRuta(oBuscador.vPais);      oFields["Amplitud"] = "D";      oFields["Tipthis.oBuscador"] = "home";      //-------------Parametros Fijos, Chequear si son necesarios!----------      //oFields["filtro_resultado"] = "A";      //oFields["sSearchCategory"] = "A";      //oFields["rdoMismaCiudad"] = "N";      //oFields["solapa"] = "VE";      //oFields["dHoraSalida"] = "1200";      //oFields["dHoraLlegada"] = "1200";      //oFields["DepartureTime1"] = "";      //oFields["DepartureTime2"] = "";      //oFields["MismaCiudad"] = "N";      //oFields["rdoMismaCiudad"] = "N";      //oFields["pdDias"] = "2";      return oFields;   }// ----------------------- FIN FORMULARIO DE VUELOS + HOTELES!!! ---------------------}//----------------------//------CARS---------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.Cars = function(oBuscador){   this.initForm = function()   {      if (oBuscador.vPais == 10)      {         return new Despegar.Form("/paginas/autos/resultadoBusquedaAutos.asp?ep=a","POST","frmAutos","frmAutos");      }      else      {         return new Despegar.Form("/paginas/autos/resultadoBusquedaAutos.asp?ep=a","POST","frmAutos","frmAutos");      }   }   this.validar = function()   {      var region = getRegion(oBuscador.vPais);      var oValidator = new Despegar.Validator();      if (oBuscador.sOrigen.length == 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_originNotValidMsg");      }      if (oBuscador.sDestino.length == 0 && oBuscador.sTripType == "otra")      {         oValidator.isValid = false;         oValidator.addMsgKey("_destinationNotValidMsg");      }      if (oBuscador.sDestino == oBuscador.sOrigen && oBuscador.sOrigen.length != 0 && oBuscador.sTripType == "otra")      {         oValidator.isValid = false;         oValidator.addMsgKey("_originDestinationEqualNotValidMsg");      }      this.validarFechas(oValidator);      if (oValidator.isValid == false)      {         this.initResources(region);      }      return oValidator;   }   this.initResources = function(region)   {      if (region == "PT")      {         Despegar.ResourceManager.add("_startErrorMsg","",region);         Despegar.ResourceManager.add("_originNotValidMsg","- Digite a cidade de partida",region);         Despegar.ResourceManager.add("_destinationNotValidMsg","- Digite a cidade de destino",region);         Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- A data de partida deve ser anterior  data de regresso",region);         Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- Digite a data de partida",region);         Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- Digite a data de regreso",region);         Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg","- A origem e o destino no podem ser iguais",region);      }      else      {         Despegar.ResourceManager.add("_startErrorMsg","Seor Usuario, Revise los siguientes Mensajes:",region);         Despegar.ResourceManager.add("_originNotValidMsg"," - Ingrese una ciudad de origen",region);         Despegar.ResourceManager.add("_destinationNotValidMsg","- Ingrese una ciudad de destino",region);         Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- La fecha de salida debe ser anterior a la fecha de llegada",region);         Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- La fecha de salida no es vlida",region);         Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- La fecha de regreso no es vlida",region);         Despegar.ResourceManager.add("_originDestinationEqualNotValidMsg","- El origen y el destino no pueden ser iguales, si eligi la opcion de devolver en otra ciudad",region);      }   }   this.validarFechas = function(oValidator)   {      var oFechaSalida;      var oFechaRegreso;      if (oBuscador.oFechas[0] == "dd/mm/aaaa" || oBuscador.oFechas[0] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateSalidaNotValidMsg");      }      else      {         oFechaSalida = new Despegar.Date();         oFechaSalida.setddmmaaaa(oBuscador.oFechas[0],"/");      }      if (oBuscador.oFechas[1] == "dd/mm/aaaa" ||  oBuscador.oFechas[1] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateRegresoNotValidMsg");      }      else      {         oFechaRegreso = new Despegar.Date();         oFechaRegreso.setddmmaaaa(oBuscador.oFechas[1],"/");      }      if (oFechaSalida != null  && oFechaRegreso != null)      {         var comparacion;         comparacion = oFechaSalida.compareTo(oFechaRegreso.getiso());         if (comparacion == 1)         {            oValidator.isValid = false;            oValidator.addMsgKey("_dateSalidaMayorNotValidMsg");         }      }   }   this.buscar = function()   {      var oFields = new Array();      if (oBuscador.sTripType == "mismaderetiro")      {         oFields["sMismaCiudad"] = "S";         oFields["sCiudadHasta"] = oBuscador.sOrigen;         oFields["sCiudadHastaAutos"] = oBuscador.sOrigen;         oFields["DescripcionDestinationLocation1"] = oBuscador.sDescripcionOrigen;      }      else      {         oFields["sMismaCiudad"] = "N";         oFields["sCiudadHasta"] = oBuscador.sDestino;         oFields["sCiudadHastaAutos"] = oBuscador.sDestino;         oFields["DescripcionDestinationLocation1"] = oBuscador.sDescripcionDestino;      }      //Cargo Primero los Fields Cargados Por el Usuario---      oFields["sPaginaBuscador"] = oBuscador.sPaginaBuscador;      oFields["sCiudadDesde"] = oBuscador.sOrigen;      oFields["sCiudadDesdeAutos"] = oBuscador.sOrigen;      oFields["DescripcionOriginLocation1"] = oBuscador.sDescripcionOrigen;      oFields["sFlowType"] = "a";      oFields["sFlow"] = "a";      oFields["vPais"] = oBuscador.vPais;      oFields["DepartureDate1"] = oBuscador.oFechas[0];      oFields["DepartureDate2"] = oBuscador.oFechas[1];      oFields["FechaSalidaAuto"] = oBuscador.oFechas[0];      oFields["FechaRegresoAuto"] = oBuscador.oFechas[1];      //Preparo las fechas que necesita Resultado Busqueda de vuelos      var auxFecha = new Despegar.Date();      auxFecha.setddmmaaaa(oBuscador.oFechas[0],"/");      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaDesde"] = auxFecha.dia;      //oFields["MesDesde"] = auxFecha.mes;      //oFields["AnioDesde"] = auxFecha.anio;      oFields["dFechaRetiro"] = auxFecha.getddmm();      auxFecha.setddmmaaaa(oBuscador.oFechas[1],"/");      oFields["dFechaDevolucion"] = auxFecha.getddmm();      //ESTAS FECHAS SE USABAN POR EL VIEJO CALENDARIO!      //oFields["DiaHasta"] = auxFecha.dia;      //oFields["AnioHasta"] = auxFecha.anio;      //oFields["MesHasta"] = auxFecha.mes;      return oFields;   }// ----------------------- FIN FORMULARIO DE AUTOS!!! ---------------------}//------PAQUETES---------registerNameSpace("Despegar.SearchBox");Despegar.SearchBox.Packages = function(oBuscador){   this.initForm = function()   {      if (oBuscador.vPais == 10)      {         return new Despegar.Form("/paginas/paquetes/resultadobusquedapaquetes.asp?ep=a","POST","frmPaquetes","frmPaquetes");      }      else      {         return new Despegar.Form("/paginas/paquetes/resultadobusquedapaquetes.asp?ep=a","POST","frmPaquetes","frmPaquetes");      }   }   this.validar = function()   {      var region = getRegion(oBuscador.vPais);      var oValidator = new Despegar.Validator();      if (oBuscador.sDestino.length == 0)      {         oValidator.isValid = false;         oValidator.addMsgKey("_destinationNotValidMsg");      }      this.validarFechas(oValidator);      if (oValidator.isValid == false)      {         this.initResources(region);      }      return oValidator;   }   this.initResources = function(region)   {      if (region == "PT")      {      Despegar.ResourceManager.add("_startErrorMsg","",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Digite uma cidade",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- A data de sada deve ser anterior  data de chegada",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- Digite a data de chegada ao hotel",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- Digite a data de saida ao hotel",region);      }      else      {      Despegar.ResourceManager.add("_startErrorMsg","Seor Usuario, Revise los siguientes Mensajes:",region);      Despegar.ResourceManager.add("_destinationNotValidMsg","- Ingrese una ciudad, region ",region);      Despegar.ResourceManager.add("_dateSalidaMayorNotValidMsg","- La fecha de salida debe ser anterior a la fecha de llegada",region);      Despegar.ResourceManager.add("_dateSalidaNotValidMsg","- La fecha de salida no es vlida",region);      Despegar.ResourceManager.add("_dateRegresoNotValidMsg","- La fecha de regreso no es vlida",region);      }   }   this.validarFechas = function(oValidator)   {      var oFechaSalida;      var oFechaRegreso;      if (oBuscador.oFechas[0] == "dd/mm/aaaa" || oBuscador.oFechas[0] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateSalidaNotValidMsg");      }      else      {         oFechaSalida = new Despegar.Date();         oFechaSalida.setddmmaaaa(oBuscador.oFechas[0],"/");      }      if (oBuscador.oFechas[1] == "dd/mm/aaaa" ||  oBuscador.oFechas[1] == "")      {         oValidator.isValid = false;         oValidator.addMsgKey("_dateRegresoNotValidMsg");      }      else      {         oFechaRegreso = new Despegar.Date();         oFechaRegreso.setddmmaaaa(oBuscador.oFechas[1],"/");      }      if (oFechaSalida != null  && oFechaRegreso != null)      {         var comparacion;         comparacion = oFechaSalida.compareTo(oFechaRegreso.getiso());         if (comparacion == 1)         {            oValidator.isValid = false;            oValidator.addMsgKey("_dateSalidaMayorNotValidMsg");         }      }   }   this.buscar = function()   {      var oFields = new Array();      //Cargo Primero los Fields Cargados Por el Usuario---      oFields["sPaginaBuscador"] = oBuscador.sPaginaBuscador;      oFields["OriginLocation1"] = oBuscador.sOrigen;      oFields["DestinationLocation2Hidden"] = oBuscador.sDestino;      oFields["DestinationLocation1"] = oBuscador.sDestino;      oFields["DestinationLocation2"] = oBuscador.sDescripcionDestino;      oFields["sFlowType"] = "P";      oFields["DescripcionOriginLocation1"] = "";      oFields["DescripcionDestinationLocation1"] = "";      oFields["sFlow"] = oBuscador.sFlow;      oFields["FechaSalida1"] = oBuscador.oFechas[0];      oFields["FechaSalida2"] = oBuscador.oFechas[1];      oFields["idPais"] = oBuscador.vPais;      oFields["TipoDestino"] = oBuscador.TipoDestinoPaq;      oFields["MultipleDestino"] = oBuscador.MultipleDestinoPaq;      oFields["ComboDuracion"] = oBuscador.comboDuracionPaq;      //Preparo las fechas que necesita Resultado Busqueda de vuelos      for(i=0;i<oBuscador.aPaxGroup.length;i++)      {            oBuscador.sADT += eval(oBuscador.aPaxGroup[i].adt);            oBuscador.sCNN +=  eval(oBuscador.aPaxGroup[i].cnn);            oBuscador.sINF += eval(oBuscador.aPaxGroup[i].inf);      }      oFields["ADT"] = oBuscador.sADT;      oFields["CNN"] = oBuscador.sCNN;      oFields["INF"] = oBuscador.sINF;      oFields["sBusqFiltro"] = "N";      oFields["TipoBuscador"] = "Home";      oFields["sRegionDesc"] = "";      oFields["sMesSalidaDesc"] = "";      oFields["FechaRegreso2"] = "";      oFields["FechaRegreso1"] = "";      //-------------Parametros Fijos, Chequear si son necesarios!----------      //oFields["filtro_resultado"] = "A";      //oFields["sSearchCategory"] = "A";      //oFields["rdoMismaCiudad"] = "N";      //oFields["solapa"] = "VE";      //oFields["dHoraSalida"] = "1200";      //oFields["dHoraLlegada"] = "1200";      //oFields["DepartureTime1"] = "";      //oFields["DepartureTime2"] = "";      //oFields["MismaCiudad"] = "N";      //oFields["rdoMismaCiudad"] = "N";      //oFields["pdDias"] = "2";      return oFields;   }// ----------------------- FIN FORMULARIO DE PAQUETES!!! ---------------------}//----------------------//-----VALIDATOR---------registerNameSpace("Despegar");Despegar.Validator = function(){    this.isValid = true;    this.aMsgKey = new Array();   this.displayMessage = function(target,id,oResources,region)   {        var stringMsg ="";      if (region == "PT")      {         if (target=="alert")         {                stringMsg += Despegar.ResourceManager.get("_startErrorMsg","PT");                stringMsg += "\n";            for (var i in this.aMsgKey)            {                        stringMsg += Despegar.ResourceManager.get(this.aMsgKey[i],"PT");                        stringMsg += "\n";                    }                }            }      else      {         if (target=="alert")         {                stringMsg += Despegar.ResourceManager.get("_startErrorMsg","ES");                stringMsg += "\n";            for (var i in this.aMsgKey)            {                        stringMsg += Despegar.ResourceManager.get(this.aMsgKey[i],"ES");                        stringMsg += "\n";                    }                }            }        return stringMsg;    }   this.addMsgKey = function(key)   {        this.aMsgKey.push(key);    }}//----------------------//-----DATES---------registerNameSpace("Despegar");//Objeto FechasDespegarDespegar.Date = function(){   this.day;   this.month;   this.year;   this.monthText;   this.dayOfWeek;   //funcion setddmmaaaa   //descripcion: carga el objeto a partir de un string   //fechastring: string con el valor de fecha   //separador:string con el char separador entre dia, mes y ao   this.setddmmaaaa = function(fechastring,separador)   {      var aFecha = fechastring.split(separador);      this.day  = aFecha[0];      this.month = aFecha[1];      this.year = aFecha[2];   }   this.getddmm = function()   {      var auxDia;      var auxMes;      if (this.day.length == 1)      {         auxDia = "0" + this.day.toString();      }      else      {         auxDia =  this.day.toString();      }      if (this.month.length == 1)      {         auxMes = "0" + this.month.toString();      }      else      {         auxMes =  this.month.toString();      }      return  auxDia.toString() + "/" + auxMes.toString();   }   this.getiso = function()   {      var auxDia;      var auxMes;      if (this.day.length == 1)      {         auxDia = "0" + this.day.toString();      }      else      {         auxDia =  this.day.toString();      }      if (this.month.length == 1)      {         auxMes = "0" + this.month.toString();      }      else      {         auxMes =  this.month.toString();      }      return this.year.toString()  + auxMes.toString() + auxDia.toString();   }   this.compareTo= function(sFechaIso) //recibe una fecha tipo ISO y dice si la actual es menor a la   {         var fechaIso = this.getiso()         if (fechaIso < sFechaIso)         {return -1;}         else         {         if (fechaIso == sFechaIso)            {               return 0;            }            else            {               return 1;            }         }   }   this.getota = function()   {      var auxDia;      var auxMes;      if (this.day.length == 1)      {         auxDia = "0" + this.day.toString();      }      else      {         auxDia =  this.day.toString();      }      if (this.month.length == 1)      {         auxMes = "0" + this.month.toString();      }      else      {         auxMes =  this.month.toString();      }      return this.year.toString()  + "-" + auxMes + "-" + auxDia;   }}//Objeto FechasDespegar FIN//----------------------//-----Form---------registerNameSpace("Despegar");//Objeto FormularioDespegar.Form = function(_action,_method,_id,_name){   this.action = _action;   this.method = _method;   this.id = _id;   this.name = _name;   this.oForm = document.createElement("form"); // Propiedad donde se guarda el form generado   this.oForm.name = _name;   this.oForm.action = _action;   this.oForm.method = _method;//"post";//con _Method da error en IE;   this.oElements = new Array();   this.addInput = function(name,id,value)   {      var inputHidden = document.createElement("input");      inputHidden.id = id;      inputHidden.name = name;      inputHidden.value = value;      inputHidden.type = "hidden";      this.oForm.appendChild(inputHidden);   }   this.post = function()   {      document.body.appendChild(this.oForm);      this.oForm.submit();   }}//Funciones Genericasfunction getRegion(vPais){   if (vPais==10)      return "PT";   else      return "ES";}function getCodePais(vPais){   switch(vPais)   {      case 1:return "AR";      break;      case 2:return "US";      break;      case 5:return "UY";      break;      case 6:return "CL";      break;      case 7:return "PE";      break;      case 9:return "CO";      break;      case 10:return "BR";      break;      case 82:return "VE";      break;      case 86:return "MX";      break;      default:return "MX";      break   }}function gValue(id){   var element = document.getElementById(id);   if (element)   {      return element.value;   }   else   {      return null;   }}function gObject(id){   return document.getElementById(id);}function stripHTML(strHTML) {    //Replace all HTML tag matches with the empty string    var strOutput = strHTML.replace(RegExp("<(.|\n)+?>", "ig"), "");    //Replace all < and > with &lt; and &gt;    strOutput = strOutput.replace(RegExp("<", "ig"), "&lt;");    strOutput = strOutput.replace(RegExp(">", "ig"), "&gt;");    return strOutput;}function getAmericandDate(input) {    var d = input.split(new RegExp('/', 'gi'));    return d[1] + "/" + d[0] + "/" + d[2];}DisambiguationData = function() {    this.ItineraryType = 0;    this.Origins = [];    this.OriginsNames = [];    this.Destinations = [];    this.DestinationsNames = [];    this.DepartureDates = [];    this.ReturnDate = "";    this.Adults = 0;    this.Children = 0;    this.Infants = 0;    this.AdvancedData; //DisambiguationAdvancedData};DisambiguationAdvancedData = function() {    this.DepartureHour = "";    this.ArrivalHour = "";    this.ReturnHour = "";    this.TicketType = "";    this.MaxStopQuantity = "";    this.CodeVendor = "";}/////////***********MD5 algoritm ***********///////////function utf8_encode(argString) {    // Encodes an ISO-8859-1 string to UTF-8      // *     example 1: utf8_encode('Kevin van Zonneveld');    // *     returns 1: 'Kevin van Zonneveld'    var string = (argString + '').replace(/\r\n/g, "\n").replace(/\r/g, "\n");    var utftext = "";    var start, end;    var stringl = 0;    start = end = 0;    stringl = string.length;    for (var n = 0; n < stringl; n++) {        var c1 = string.charCodeAt(n);        var enc = null;        if (c1 < 128) {            end++;        } else if ((c1 > 127) && (c1 < 2048)) {            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);        } else {            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);        }        if (enc !== null) {            if (end > start) {                utftext += string.substring(start, end);            }            utftext += enc;            start = end = n + 1;        }    }    if (end > start) {        utftext += string.substring(start, string.length);    }    return utftext;}function md5(str) {    // -    depends on: utf8_encode    // *     example 1: md5('Kevin van Zonneveld');    // *     returns 1: '6e658d4bfcb59cc13f96c14450ac40b9'    var xl;    var rotateLeft = function(lValue, iShiftBits) {        return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));    };    var addUnsigned = function(lX, lY) {        var lX4, lY4, lX8, lY8, lResult;        lX8 = (lX & 0x80000000);        lY8 = (lY & 0x80000000);        lX4 = (lX & 0x40000000);        lY4 = (lY & 0x40000000);        lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);        if (lX4 & lY4) {            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);        }        if (lX4 | lY4) {            if (lResult & 0x40000000) {                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);            } else {                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);            }        } else {            return (lResult ^ lX8 ^ lY8);        }    };    var _F = function(x, y, z) { return (x & y) | ((~x) & z); };    var _G = function(x, y, z) { return (x & z) | (y & (~z)); };    var _H = function(x, y, z) { return (x ^ y ^ z); };    var _I = function(x, y, z) { return (y ^ (x | (~z))); };    var _FF = function(a, b, c, d, x, s, ac) {        a = addUnsigned(a, addUnsigned(addUnsigned(_F(b, c, d), x), ac));        return addUnsigned(rotateLeft(a, s), b);    };    var _GG = function(a, b, c, d, x, s, ac) {        a = addUnsigned(a, addUnsigned(addUnsigned(_G(b, c, d), x), ac));        return addUnsigned(rotateLeft(a, s), b);    };    var _HH = function(a, b, c, d, x, s, ac) {        a = addUnsigned(a, addUnsigned(addUnsigned(_H(b, c, d), x), ac));        return addUnsigned(rotateLeft(a, s), b);    };    var _II = function(a, b, c, d, x, s, ac) {        a = addUnsigned(a, addUnsigned(addUnsigned(_I(b, c, d), x), ac));        return addUnsigned(rotateLeft(a, s), b);    };    var convertToWordArray = function(str) {        var lWordCount;        var lMessageLength = str.length;        var lNumberOfWords_temp1 = lMessageLength + 8;        var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;        var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;        var lWordArray = new Array(lNumberOfWords - 1);        var lBytePosition = 0;        var lByteCount = 0;        while (lByteCount < lMessageLength) {            lWordCount = (lByteCount - (lByteCount % 4)) / 4;            lBytePosition = (lByteCount % 4) * 8;            lWordArray[lWordCount] = (lWordArray[lWordCount] | (str.charCodeAt(lByteCount) << lBytePosition));            lByteCount++;        }        lWordCount = (lByteCount - (lByteCount % 4)) / 4;        lBytePosition = (lByteCount % 4) * 8;        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);        lWordArray[lNumberOfWords - 2] = lMessageLength << 3;        lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;        return lWordArray;    };    var wordToHex = function(lValue) {        var wordToHexValue = "", wordToHexValue_temp = "", lByte, lCount;        for (lCount = 0; lCount <= 3; lCount++) {            lByte = (lValue >>> (lCount * 8)) & 255;            wordToHexValue_temp = "0" + lByte.toString(16);            wordToHexValue = wordToHexValue + wordToHexValue_temp.substr(wordToHexValue_temp.length - 2, 2);        }        return wordToHexValue;    };    var x = [],        k, AA, BB, CC, DD, a, b, c, d,        S11 = 7, S12 = 12, S13 = 17, S14 = 22,        S21 = 5, S22 = 9, S23 = 14, S24 = 20,        S31 = 4, S32 = 11, S33 = 16, S34 = 23,        S41 = 6, S42 = 10, S43 = 15, S44 = 21;    str = this.utf8_encode(str);    x = convertToWordArray(str);    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;    xl = x.length;    for (k = 0; k < xl; k += 16) {        AA = a; BB = b; CC = c; DD = d;        a = _FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);        d = _FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);        c = _FF(c, d, a, b, x[k + 2], S13, 0x242070DB);        b = _FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);        a = _FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);        d = _FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);        c = _FF(c, d, a, b, x[k + 6], S13, 0xA8304613);        b = _FF(b, c, d, a, x[k + 7], S14, 0xFD469501);        a = _FF(a, b, c, d, x[k + 8], S11, 0x698098D8);        d = _FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);        c = _FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);        b = _FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);        a = _FF(a, b, c, d, x[k + 12], S11, 0x6B901122);        d = _FF(d, a, b, c, x[k + 13], S12, 0xFD987193);        c = _FF(c, d, a, b, x[k + 14], S13, 0xA679438E);        b = _FF(b, c, d, a, x[k + 15], S14, 0x49B40821);        a = _GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);        d = _GG(d, a, b, c, x[k + 6], S22, 0xC040B340);        c = _GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);        b = _GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);        a = _GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);        d = _GG(d, a, b, c, x[k + 10], S22, 0x2441453);        c = _GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);        b = _GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);        a = _GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);        d = _GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);        c = _GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);        b = _GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);        a = _GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);        d = _GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);        c = _GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);        b = _GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);        a = _HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);        d = _HH(d, a, b, c, x[k + 8], S32, 0x8771F681);        c = _HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);        b = _HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);        a = _HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);        d = _HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);        c = _HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);        b = _HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);        a = _HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);        d = _HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);        c = _HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);        b = _HH(b, c, d, a, x[k + 6], S34, 0x4881D05);        a = _HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);        d = _HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);        c = _HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);        b = _HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);        a = _II(a, b, c, d, x[k + 0], S41, 0xF4292244);        d = _II(d, a, b, c, x[k + 7], S42, 0x432AFF97);        c = _II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);        b = _II(b, c, d, a, x[k + 5], S44, 0xFC93A039);        a = _II(a, b, c, d, x[k + 12], S41, 0x655B59C3);        d = _II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);        c = _II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);        b = _II(b, c, d, a, x[k + 1], S44, 0x85845DD1);        a = _II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);        d = _II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);        c = _II(c, d, a, b, x[k + 6], S43, 0xA3014314);        b = _II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);        a = _II(a, b, c, d, x[k + 4], S41, 0xF7537E82);        d = _II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);        c = _II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);        b = _II(b, c, d, a, x[k + 9], S44, 0xEB86D391);        a = addUnsigned(a, AA);        b = addUnsigned(b, BB);        c = addUnsigned(c, CC);        d = addUnsigned(d, DD);    }    var temp = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);    return temp.toLowerCase();}/////////***********end MD5 algoritm ***********////////////////////***********cookies Set Get ***********///////////function getValue(strParametros, nombreParam) {    var params = strParametros.split('&');    for (var i = 0; i < params.length; i++) {        var c = params[i];        while (c.charAt(0) == ' ') c = c.substring(1, c.length);        if (c.indexOf(nombreParam) == 0) return c.substring(nombreParam.length + 1, c.length);    }}/* Retorna la cookie cuyo nombre es el pasado por parmetro o Null si no existe.*/function readCookie(name) {    var nameEQ = name + "=";    var ca = document.cookie.split(';');    for (var i = 0; i < ca.length; i++) {        var c = ca[i];        while (c.charAt(0) == ' ') c = c.substring(1, c.length);        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);    }    return null;}/* Crea una cookie cuyo nombre, valor y tiempo de expiracin en das es el pasado por parmetro. */function createCookie(name, value, days) {    if (days) {        var date = new Date();        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));        var expires = "; expires=" + date.toGMTString();    }    else var expires = "";    document.cookie = name + "=" + value + expires + "; path=/";}/* Elimina la cookie cuyo nombre es el pasado por parmetro. */function eraseCookie(name) {    createCookie(name, "", -1);}/////////***********END cookies Set Get ***********///////////function getClientId() {    var rndVal;    var curDate = new Date();    var readCook = readCookie("revClientId");    if (readCook == null) {        rndVal = Math.floor(1000 * (Math.random()));        rndVal = md5(rndVal.toString().concat(curDate.getTime().toString()));        createCookie("revClientId", rndVal.toString(), 1);        readCook = rndVal;    }    return readCook;}