﻿var Respuesta = "";
/*NamesSapce*/
var Funciones = {}

Funciones.Efectos = {

ShowTip : function(oEvent){
    var oDiv = document.getElementById("divTip1");
    var temp = "";
    var params =[];
    var tooltip = $("divTip1");
    oDiv.style.visibility = "visible";
    oDiv.style.left = oEvent.clientX + 5;
    oDiv.style.top = oEvent.clientY + 5;
    temp = oEvent.srcElement.pathname;
    temp = temp.substring(temp.indexOf("(")+2,temp.lastIndexOf(")")-1);
    params = temp.split(",");
    params[0] = params[0].replace("'","");
    params[1] = params[1].replace("'","");
    params[2] = params[2].replace("'","");
    GetDescripcion(params[0].replace("'",""),params[1].replace("'",""),params[2].replace("'",""));
},

hideTip : function(oEvent){
    var oDiv = document.getElementById("divTip1");
    oDiv.style.visibility = "hidden";
}

};

Funciones.Network = {
     /* Variables globales */
     aTDs : new Array,
     idioma : "",
     idCtl : "",
     opcion : "",
     obj_json : null,

/*Recupera TDs Grid */
CambiaIdioma : function()
{
   var _divCont = $("dvCont");
   var oTable = $("tblDatosGrid");
   var content = oTable.getElementsByTagName("span");
   var patron = "";
   var campo = "";
   var innerHtml = null;
   var bSalir = false;
   var position = "";
   var _span = "";
   var longitudJson = 0;
   var etiqueta = "";
   for(var ii = 0; ii < content.length; ii ++ )
   {
      longitudJson = Funciones.Network.obj_json.CambiaIdiomaGrid.length;
      var patron  = content[ii].getElementsByTagName("id") != null;
      if(patron)
      {
         if(content[ii].getAttribute("id") != null)
         {
            if(content[ii].innerHTML != "" )
            {
               _span = content[ii];
               if(Funciones.Network.obj_json.CambiaIdiomaGrid[ii] != null)
               {
                  campo = Funciones.Network.obj_json.CambiaIdiomaGrid[ii].campo1;
                  etiqueta = Funciones.Network.obj_json.CambiaIdiomaGrid[ii].campo1;
                  if(campo != "" || campo != null || campo != "undefined")
                  {
                     campo = campo.substring(campo.indexOf("_") + 1, campo.length);
                     // if(_span.innerHTML == campo){
                     _span.innerHTML = etiqueta;
                     // }
                  }
               }
               Funciones.Network.aTDs.push(content[ii]);
            }
         }
      }
   }
},
__PeticionAjax : function (url) {
     if (window.XMLHttpRequest) {
        xhr = new XMLHttpRequest();
     }

     else {
        if (window.ActiveXObject) {
           try {
              xhr = new ActiveXObject ("Microsoft.XMLHTTP");
           }
           catch (e) { }
        }
     }

     if (xhr) {
        xhr.onreadystatechange = Funciones.Network.__PrecesaDatos; 
        xhr.open("get", url, true);
        xhr.send(null);
     }
     else {
        //document.getElementById("updateArea"). innerHTML = "Error al precesar la solicitud XMLHttpRequest";
     }
},

__PrecesaDatos : function (params) {
     if (xhr.readyState == 4) {
        if (xhr.status == 200) {
           var outMsg = xhr.responseText;
            Funciones.Network.obj_json  = eval("(" + outMsg + ")");
           //alert(obj_json.CambiaIdiomaGrid.campo1);
           Funciones.Network.CambiaIdioma();           
        }
        else {
           alert("Problemas con la respuesta " + xhr.status + "  " + "IdiomaGrid");
           //var outMsg = "Problemas con la respuesta " + xhr.status;
        }
     }
},

EnviaPeticion : function(){
    Funciones.Network.__PeticionAjax("getPost.aspx?opcion=" + Funciones.Network.opcion  + "&lang=" + Funciones.Network.idioma + "&idctl=" + Funciones.Network.idCtl.value);
}

};

Funciones.Tools = {
 _DiasMes : new Array(31,28,31,30,31,30,31,31,30,31,30,31),
 _Meses : new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'),
 _MesesNum : new Array(1,2,3,4,5,6,7,8,9,10,11,12),

DevuelveDias : function(){
    return Funciones.Tools._DiasMes;
},
DevuelveMeses : function(){
    return Funciones.Tools._Meses;
},
DevuelveMesesNum : function(){
    return Funciones.Tools._MesesNum;
},
formatDate : function (vDate, vFormat){ 
    var vDay              = addZero(vDate.getDate()); 
    var vMonth            = addZero(vDate.getMonth()+1); 
    var vYearLong         = addZero(vDate.getFullYear()); 
    var vYearShort        = addZero(vDate.getFullYear().toString().substring(3,4)); 
    var vYear             = (vFormat.indexOf("yyyy")>-1?vYearLong:vYearShort) 
    var vHour             = addZero(vDate.getHours()); 
    var vMinute           = addZero(vDate.getMinutes()); 
    var vSecond           = addZero(vDate.getSeconds()); 
    var vDateString       = vFormat.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear) 
    vDateString           = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond) 
    return vDateString 
},
/*Añade opciones nuevas a la select pasada por parametro */
_AddOpcion : function(sel,texto,valor){
    var laOpcion=document.createElement("OPTION");  
    laOpcion.appendChild( document.createTextNode(texto));  
    laOpcion.setAttribute("value",valor);
    sel.appendChild(laOpcion);  
},
CargaDias : function(obj){
     var seldias = $(obj);
    seldias.options.length = 32;
    for(var i=1; i < 32; i++){
        var texto = i.toString();
        var valor = i.toString();
        seldias.options[i].text = texto.toString();
        seldias.options[i].value = valor.toString();
        
    }
},
CargaMeses : function(obj) { 
    var selmeses = $(obj);
    var aMeses = new Array();
    aMeses = Funciones.Tools.DevuelveMeses();
    Funciones.Tools._AddOpcion(selmeses, "", ""); 
    selmeses.options.length = aMeses.length+1;
    for(var i=0; i < aMeses.length; i++){
        var texto = aMeses[i];
        var valor = i+1;
        selmeses.options[i+1].text = texto.toString();
        selmeses.options[i+1].value = valor.toString();
       
    }
},
CargaMesesNum : function(obj){
    var selmeses = $(obj);
    var aMeses = new Array();
    aMeses = Funciones.Tools.DevuelveMesesNum();
    //selmeses.options.length = aMeses.length;
    Funciones.Tools._AddOpcion(selmeses, "", ""); 
    for(var i=0; i < aMeses.length; i++) {
        var texto = aMeses[i];
        var valor = String(i+1);
        valor = valor.length == 1 ? "0" + valor : valor;
        //selmeses.options[i].text = texto.toString();
        //selmeses.options[i].value = valor.toString();
        Funciones.Tools._AddOpcion(selmeses, texto.toString(), valor.toString()); 
    } 
    selmeses.style.width="48px";
},
CargaAnios : function(obj){
    var selanios = $(obj);
    var aAnios = new Array();
    var _Date = new Date();
    var inicioAnio = 1900;
    var anioActual  = _Date.getFullYear();
    var cantidad =  parseInt(anioActual) - parseInt(inicioAnio);
     Funciones.Tools._AddOpcion(selanios, "", ""); 
     for (var i = anioActual,contador = 0; i >= inicioAnio; i--) {
        selanios.style.width="55px";
        Funciones.Tools._AddOpcion(selanios, i.toString(), i.toString() ); 
     }
},

CargaAniosTarjeta : function(obj){
    var selAnioTarjeta = $(obj);
    var _Date = new Date();
    var inicioFin = _Date.getFullYear() + 5;
    var anioActual  = _Date.getFullYear();
    var contador = 0;
    Funciones.Tools._AddOpcion(selAnioTarjeta, "", ""); 
    for (var i = anioActual; i <= inicioFin; i++) {
        var texto = i.toString();
        var valor = i.toString().substr(2, 2);
        selAnioTarjeta.style.width = "55px";
        Funciones.Tools._AddOpcion(selAnioTarjeta, texto, valor); 
    }    
},

CambiaDias : function(){
    var aDias = new Array();
    var Numdias;
    var bSalir = false;
    aDias = Funciones.Tools.DevuelveDias();
    var MesStr = this.options[this.selectedIndex].value;
    if(MesStr !=""){
        var theMes = parseInt(MesStr-1);
        $("selFechaDia").options.length = 0;
         for(var i=0; i<aDias[theMes]; i++) {
           $("selFechaDia").options[i] = new Option(i+1);
        }
    }
},
StrToInt : function(cadena){
    return parseInt(cadena);
},

//Solo admite numeros
numeros : function(evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 43 || charCode > 57)) {
        return false;
    }  
},
telefono : function(evt){
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
   if (charCode > 57){
    return false;
   }else if(charCode > 32 && charCode < 40){
        return false;
   }else if(charCode == 42 || charCode > 43 && charCode < 48){
        return false;
   }
   
    
},

SoloFechas : function(evt){
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if (charCode > 31 && (charCode < 46 || charCode > 57)) {
        return false;
    }
},

AlfaNumericos : function(evt){
 evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if(charCode > 32  && charCode < 48){
        return false;
    }
    if(charCode >57 && charCode < 64){
        return false;
    }
    
    if(charCode > 90 && charCode < 97){
        return false;
    }
    
    if(charCode > 122 && charCode < 128){
        return false;
    }   
},

SoloCaracteres : function(evt){
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
    if(charCode > 32  && charCode < 48){
        return false;
    }
    if(charCode > 32 && charCode < 65){
        return false;
    } 
    if(charCode > 90 && charCode < 97){ 
        return false;
    }
    if(charCode > 122 && charCode < 128){
        return false;
    }
},
soloTextoMail : function(evt) {
   evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
        ((evt.which) ? evt.which : 0));
   if((charCode >= 48 && charCode <= 57)|| (charCode >= 65 && charCode <=90) || (charCode >= 97 && charCode <= 122) || charCode == 46 || charCode == 95 || 
    charCode == charCode || charCode == 45){
        return false;
    }
}
};

Funciones.Eventos = {

addLoadEvent : function (func) {
			var oldonload = window.onload;
			if (typeof window.onload != "function") {
				window.onload = func;
			} else {
				window.onload = function () {
					oldonload();
					func();
				}
			}
			Funciones.Eventos.addLoadEvent(function () {
			Funciones.Eventos.initChecklist();
		});

},
initChecklist : function() {
			if (document.all && document.getElementById) {
				// Get all unordered lists
				var lists = document.getElementsByTagName("ul");
				
				for (i = 0; i < lists.length; i++) {
					var theList = lists[i];
					
					// Only work with those having the class "checklist"
					if (theList.className.indexOf("checklist") > -1) {
						var labels = theList.getElementsByTagName("label");
						
						// Assign event handlers to labels within
						for (var j = 0; j < labels.length; j++) {
							var theLabel = labels[j];
							theLabel.onmouseover = function() { this.className += " hover"; };
							theLabel.onmouseout = function() { this.className = this.className.replace(" hover", ""); };
						}
					}
				}
			}
		}
};

//Funciones para los Banners y Escaparates publicados

//Eventos Banners
function clickImg(id,idescaparate){
    var opcion = "EstadisticaBanner";
    var parametros ="opcion=" + opcion + "&params=" + id + "&idescarate=" + idescaparate;
    var datos ="";
    datos = "idbanner(_)" + id; 
    sendCall("setPost.aspx", parametros);
}

function expirarSesion(txtError, context) {
    //location.href="Caducidad.aspx";    
}

function BorrarVuelta(res,context) {
}

function RedireccionaPage(opcion,idbanner,params){
    switch(opcion){
        case "captacion":
        var desglosa = params.split("(_)");
        var path = document.location.href;
        var temp = path.substr(0,path.indexOf("//")+2);
        if(desglosa[0] !=""){
            temp  = temp + desglosa[0];
            location.href= temp;
        }    
        break;
        case "bannerCentral":
        break;
    }
}

function include(file_path){
	var j = document.createElement("script");
	j.type = "text/javascript";
	j.src = file_path;
	document.body.appendChild(j);
}

function include_once(file_path){
	var sc = document.getElementsByTagName("script");
	for (var x in sc)
		if (sc[x].src != null && sc[x].src.indexOf(file_path) != -1) return;
	include(file_path);
}

function IrDestino(destino){
    window.location = "topdestinos.aspx?destino=" + destino;
}

function oNumero(numero)
{
//Propiedades 
this.valor = numero || 0
this.dec = -1;
//Métodos 
this.formato = numFormat;
this.ponValor = ponValor;
//Definición de los métodos 
function ponValor(cad)
{
if (cad =='-' || cad=='+') return
if (cad.length ==0) return
if (cad.indexOf('.') >=0)
    this.valor = parseFloat(cad);
else 
    this.valor = parseInt(cad);
} 
function numFormat(dec, miles)
{
var num = this.valor, signo=3, expr;
var cad = ""+this.valor;
var ceros = "", pos, pdec, i;
for (i=0; i < dec; i++)
ceros += '0';
pos = cad.indexOf('.')
if (pos < 0)
    cad = cad+"."+ceros;
else
    {
    pdec = cad.length - pos -1;
    if (pdec <= dec)
        {
        for (i=0; i< (dec-pdec); i++)
            cad += '0';
        }
    else
        {
        num = num*Math.pow(10, dec);
        num = Math.round(num);
        num = num/Math.pow(10, dec);
        cad = new String(num);
        }
    }
pos = cad.indexOf('.')
if (pos < 0) pos = cad.lentgh
if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
       signo = 4;
if (miles && pos > signo)
    do{
        expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
        cad.match(expr)
        cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
        }
while (cad.indexOf(',') > signo)
    if (dec<0) cad = cad.replace(/\./,'')
        return cad;
}
}//Fin del objeto oNumero:

function formatNumber(num,prefix) {
    prefix = prefix || '';
    num += '';
    var splitStr = num.split('.');
    var splitLeft = splitStr[0];
    var splitRight = splitStr.length > 1 ? ',' + splitStr[1].substring(0,2) : '';
    var regx = /(\d+)(\d{4})/;
    while (regx.test(splitLeft)) {
        splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
    }
    return prefix + splitLeft + splitRight;
}

function unformatNumber(num) {
return num.replace(/([^0-9\.\-])/g,'')*1;
}

function FiltraDestino()
{
    var selFilt = "selPais,selPoblacion,selCategoria,selHoteles";
    var select = selFilt.split(",");
    var sel;
    var filtro = "";
    
    for (var i = 0; i < select.length; i++) {
        sel = document.getElementById(select[i]);
        if (sel.selectedIndex != 0) {
            filtro += select[i].substring(3);
            filtro += sepElem;
            filtro += sel.options[sel.selectedIndex].value;
            filtro += sepGra;
        }
    }
    if (filtro.length > 0) filtro = filtro.substring(0, filtro.length - sepGra.length);
    else filtro = "todo";
    petiAjaxMain("Comun" + sepGra + "filtraDestino" + sepBloc + filtro, FiltraDestinoVuelta); 
}

function FiltraDestinoVuelta(res)
{
    var sels = "selPais,selPoblacion,selCategoria,selHoteles";
    var resul = res.split(sepBloc);    
    cargaSels(sels, resul[1]);
    
    if (resul[0] != "todo") {
        var filtros = resul[0].split(sepGra);
        var select;
        var selYValor;
        var encontrado = false;
        
        for (var i = 0; i < filtros.length; i++) {
            selYValor = filtros[i].split(sepElem);
            select = document.getElementById("sel" + selYValor[0]);
            encontrado = false;
            for (var j = 0; j < select.options.length && !encontrado; j++) {
                if (select.options[j].value == selYValor[1]) {
                    select.selectedIndex = j;
                    encontrado = true;
                }
            }
        }
    }
}

function CambiaOption(obj){
    if($F(obj) == "PAR"){
        $("lblSelEmpresa").style.display="none";
        $("selEmpresasAgencia").style.display="none";
    }else {
        $("lblSelEmpresa").style.display="inline";
        $("selEmpresasAgencia").style.display="inline";
    }
}