function toUpperCase(ctrl){ var text = new String(ctrl.value); ctrl.value = text.toUpperCase(); } //Sets the checOutDate with the checkInDate + 1 day function setCheckOutDate(checkIn,checkOut){ if(checkIn.value!=''&&isValidDate(checkIn.value,'/')){ var date = checkIn.value.substring(0,2); var month = checkIn.value.substring(3,5); var year = checkIn.value.substring(6,10); if(new Date(year,month-1,date)!=null){ checkOut.value=getDateAsString(addDays(new Date(year,month-1,date),1)); } } } function isValidDate (myDate,sep) { // checks if date passed is in valid dd/mm/yyyy format if (myDate.length == 10) { if (myDate.substring(2,3) == sep && myDate.substring(5,6) == sep) { var date = myDate.substring(0,2); var month = myDate.substring(3,5); var year = myDate.substring(6,10); var test = new Date(year,month-1,date); if (year == y2k(test.getYear()) && (month-1 == test.getMonth()) && (date == test.getDate())) { reason = ''; return true; } else { reason = 'valid format but an invalid date'; return false; } } else { reason = 'invalid spearators'; return false; } } else { reason = 'invalid length'; return false; } } function y2k(number) { return (number < 1000) ? number + 1900 : number; } //Adds the given number of days to the given date function addDays(myDate,days) { //Se agrega una hora por problemas con horario de verano. //return new Date(myDate.getTime() + days*24*60*60*1000); var fecha = new Date(myDate.getTime() + days*24*60*60*1000); fecha = new Date(fecha.getTime()+60*60*1000); return fecha; } //Returns a String with format dd/mm/yyyy function getDateAsString(date){ dd = date.getDate(); mm = date.getMonth()+1; // 0 based yy = date.getYear(); if (yy < 1000) yy +=1900; // Y2K fix if(dd<10) dd='0'+dd; if(mm<10) mm='0'+mm; return dd+'/'+mm+'/'+yy; } //convierte a mayuscula el texto de un objeto function toUpperCase(obj){ var valor = obj.value; obj.value = valor.toUpperCase(); } function getOpcionesIdioma(){ var keyIdioma = new Array(); var idioma = new Array(); var texto = ""; keyIdioma[0]="es_MX"; keyIdioma[1]="en_MX"; if(marcaActual=="CB" || marcaActual=="CP"){ keyIdioma[2]="pt_MX"; } idioma[0]="Español"; idioma[1]="English"; if(marcaActual=="CB" || marcaActual=="CP"){ idioma[2]="Português"; } if(idiomaActual=="es_MX") texto="Español"; if(idiomaActual=="en_MX") texto="English"; if(idiomaActual=="pt_MX") texto="Português"; maximo=keyIdioma.length-2; document.write(""); } function cambiarURL(idioma){ parametro="idioma="; url=document.location.href; if(url.indexOf("/p/")>-1){ url=reemplazar(url,idiomaActual,idioma); document.location.href=url; }else{ cambiarIdioma(idioma); } } function conseguirnombre(str) { texto = new Array(); var contador=-1; var variable=1; texto[0]="showRates.do"; texto[1]="showRateHotelInformation.do"; texto[2]="cambiarIdioma.do"; texto[3]="show_contenido_html.do"; while((contador-1){ texto = texto.replace(de,por); } return texto; } function cambiarIdioma(idioma){ parametro="idioma="; url=document.location.href; if(url.indexOf("?")>-1)pre="&"; else pre="?"; if(url.indexOf(parametro)>-1){ url=url.substring(0,url.indexOf(parametro))+parametro+idioma+url.substring(url.indexOf(parametro)+parametro.length+5); document.location.href=url; } else document.location.href+=pre+parametro+idioma; } var TEMP_ROW_ID = "tempRowId"; var IMAGE_INFO = "imageInfo_"; function AssignPosition(d, x, y, offsetX, offsetY) { d.style.left = (x+offsetX+4) + "px"; d.style.top = (y+offsetY) + "px"; } function findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft obj = obj.offsetParent; } } else if (obj.x) curleft += obj.x; return curleft; } function findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curtop += obj.offsetTop obj = obj.offsetParent; } } else if (obj.y) curtop += obj.y; return curtop; } function getDescription(rowId){ var div = 'showPupUp'+rowId; var image = $(IMAGE_INFO + rowId); var _x = findPosX(image); var _y = findPosY(image); $(TEMP_ROW_ID).value = rowId; var width = image.width; var height = image.height; var dd = document.getElementById(div); AssignPosition(dd, _x, _y, width, 0); if(dd.style.display == "none") { dd.style.display = ""; } else { dd.style.display = "none"; } } function desaparecer(x){ var div = 'showPupUp'+x; var dd = document.getElementById(div); dd.style.display = "none"; } function showGlobo( rowId ){ var div = 'showPupUp'+rowId; var dd = document.getElementById(div); if(dd.style.display=='none'){ dd.style.display = ""; dd.style.visible = "hidden"; var image = $(IMAGE_INFO + rowId); var image1 = $(IMAGE_INFO + '998' + rowId); var image2 = $(IMAGE_INFO + '999' + rowId); var _xy = findPos(image); var _xy1 = findPos(image1); var _xy2 = findPos(image2); var _x = _xy[0] - 50; //alert('image1 y: ' +_xy2[1]+ ' image2 y: ' + _xy1[1]); var rest = _xy2[1] - _xy1[1]; //alert('rest:' +rest); var _y = _xy[1] - rest; //alert('y: '+_y); $(TEMP_ROW_ID).value = rowId; var width = image.width; var height = image.height; AssignPosition(dd, _x, _y, width, 0); dd.style.visible = "show"; } else{ dd.style.visible = "hidden"; dd.style.display = "none"; } } function findPos(obj) { var curleft = curtop = 0; if (obj.offsetParent) { curleft = obj.offsetLeft curtop = obj.offsetTop while (obj = obj.offsetParent) { curleft += obj.offsetLeft curtop += obj.offsetTop } } return [curleft,curtop]; } function cargarCombos(seccionId){ var urlCombos = 'showCombos.do?seccionId='+seccionId; new Ajax.Request(urlCombos, {onSuccess:handlerFuncCombos}); } var errFunc = function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); } var handlerFuncCombos = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); document.getElementById('combos').style.display='block'; document.getElementById("combos").innerHTML=texto; } function cargarCombosExcluyentes(seccionId){ var urlCombos = 'showCombosExcluyentes.do?seccionId='+seccionId; new Ajax.Request(urlCombos, {onSuccess:handlerFuncCombosExcluyentes}); } var handlerFuncCombosExcluyentes = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); document.getElementById('combosExcluyentes').style.display='block'; document.getElementById("combosExcluyentes").innerHTML=texto; } function cargarPartners( comboId ){ var urlPartners = 'showPartners.do?comboId='+comboId; new Ajax.Request(urlPartners, {onSuccess:handlerFuncPartners}); } var errFunc = function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); } var handlerFuncPartners = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); document.getElementById('posadasTemplate').style.display='none'; document.getElementById('partners').style.display='block'; document.getElementById("partners").innerHTML=texto; } function cargarPartnersExcluyentes( comboId ){ var urlPartners = 'showPartnersExcluyentes.do?comboId='+comboId; new Ajax.Request(urlPartners, {onSuccess:handlerFuncPartnersExcluyentes}); } var handlerFuncPartnersExcluyentes = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); document.getElementById('partnersExcluyentes').style.display='block'; document.getElementById("partnersExcluyentes").innerHTML=texto; } function validatePartners( formId, validate ){ for(var i=0; i< document.forms.length; i++){ if(document.forms[i].id==formId){ break; } } var auxName = ''; var partnersType = 0; var checked = 0; for(var j=0; j< document.forms[i].elements.length; j++){ if(auxName!=document.forms[i].elements[j].name){ partnersType++; } auxName=document.forms[i].elements[j].name; } for(var j = 0; j< document.forms[i].elements.length; j++ ){ if(document.forms[i].elements[j].checked){ checked++; } } if( (validate == 'S' && checked < partnersType) || (validate == 'N' && checked <= 0) ){ document.getElementById('partner_error').style.display='block'; } else { document.forms[i].action='showCombosAvailability.do'; document.forms[i].submit(); } } var section = ''; function showExtras( typeSection ){ var urlCombos = 'showBuildCustomCombos.do'; new Ajax.Request(urlCombos, {onSuccess:handlerFuncExtras}); if(typeSection=='A'){ section='combos'; } else{ section='partners'; } } var errFunc = function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); } var handlerFuncExtras = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); document.getElementById(section).style.display='block'; document.getElementById(section).innerHTML=texto; } function clearCombosForm(formId){ var idxi = 0; for(var i=0; i< document.forms.length; i++){ //alert(document.forms[i].id); if(document.forms[i].id==formId){ break; } idxi=0; } var auxName = ''; var partnersType = 0; for(var j=0; j< document.forms[idxi].elements.length; j++){ if(document.forms[idxi].elements[j].type=='checkbox' || document.forms[idxi].elements[j].type=='radio'){ auxName=document.forms[idxi].elements[j].name; if(document.forms[idxi].elements[j].checked && auxName!='optHotel'){ document.forms[idxi].elements[j].checked=false; } } } document.getElementById('posadasTemplate').style.display='block'; document.getElementById("partnersTemplate").innerHTML=''; document.getElementById('partners').style.display='none'; document.getElementById('partnersTemplate').style.display='none'; //cargarCombos(); } function showTemplate( partnerId ){ var urlCombos = 'showTemplate.do?partnerId='+partnerId; new Ajax.Request(urlCombos, {onSuccess:handlerFuncTemplate,onError:errFunc}); } var errFunc = function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); } var handlerFuncTemplate = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); if(texto.length>1){ document.getElementById('partnersTemplate').style.display='block'; document.getElementById('posadasTemplate').style.display='none'; document.getElementById('partnersTemplate').innerHTML=texto; } else{ document.getElementById('posadasTemplate').style.display='block'; document.getElementById('partnersTemplate').style.display='none'; } } function showTemplateExcluyentes( partnerId ){ var urlCombos = 'showTemplate.do?partnerId='+partnerId; new Ajax.Request(urlCombos, {onSuccess:handlerFuncTemplateExcluyentes,onError:errFunc}); } var handlerFuncTemplateExcluyentes = function(t){ var texto=t.responseText; texto=texto.substring(texto.indexOf('\">')+2,texto.indexOf('')); if(texto.length>1){ document.getElementById('partnersTemplate').innerHTML=''; document.getElementById('partnersTemplate').style.display='none'; document.getElementById('transactionBox').style.display='none'; document.getElementById('partnersExcluyentesTemplate').style.display='block'; document.getElementById('partnersExcluyentesTemplate').innerHTML=texto; } else{ document.getElementById('partnersExcluyentesTemplate').style.display='none'; } } function showHideLayer( id ){ if(document.getElementById(id)){ if(document.getElementById(id).style.display=='none'){ document.getElementById(id).style.display='block'; } else{ document.getElementById(id).style.display='none'; } } } var errFunc = function(t) { alert('Error ' + t.status + ' -- ' + t.statusText); } var handlerFuncNewSearch = function(t){ showHideLayer( 'transactionBox' ); showHideLayer( 'shoppingCar' ); cambioPais('All'); cargarCombos('1'); } function showIncludedSupplementsProducts(seccionId,paymentTypePartner){ var urlIncludedSupplements = 'showIncludedSupplementsProducts.do?seccionId='+seccionId+'&paymentTypePartner='+paymentTypePartner; new Ajax.Request(urlIncludedSupplements,{onSuccess:handlerFuncIncludeSupp}); } var handlerFuncIncludeSupp = function(t){ var texto = t.responseText; texto=texto.substring(texto.indexOf('
  • ')+5,texto.indexOf('
  • ')-1); var element = document.getElementById('seccionIncluded'); texto = texto.replace( RegExp( "[\r\n]{2}", "g" ) , " "); //alert("::"+texto); element.innerHTML = texto; element.style.display='block'; showBoughtProducts(); } function showSupplementsProductsByCategory( category, allCategories ){ var urlTripSupplements = 'showSupplementsProductsByCategory.do?category='+category; new Ajax.Request(urlTripSupplements,{onSuccess:handlerFuncTripSupp}); } var handlerFuncTripSupp = function(t){ var texto = t.responseText; texto=texto.substring(texto.indexOf('
  • ')+5,texto.indexOf('
  • ')-1); var element = document.getElementById('seccion1'); texto = texto.replace( RegExp( "[\r\n]{2}", "g" ) , " "); //alert(texto); element.innerHTML = texto; element.style.display='block'; launchJavascript(texto); } function closeOther( prefix, thisCategory, allCategories ){ var categories = allCategories.split(","); for(var i=0; i")+22; var index2 = texto.indexOf('
    ')+24; texto = texto.substring(index1,index2); // alert(texto); document.getElementById('leftMenu').innerHTML=texto; document.getElementById('shoppingCar').style.display='block'; } function MM_openBrWindow(theURL,winName,features) { //v2.0 winName=''; window.open(theURL,winName,features); } function showTaxesAndExtras( transactionId, partnerId ){ MM_openBrWindow('showTaxesAndExtras.do?transactionId='+transactionId+'&partnerId='+partnerId,'Taxes And Extras','status=yes,scrollbars=yes,width=310,height=250'); } function launchJavascript(responseText) { // RegExp from prototype.sonio.net var ScriptFragment = '(?:)((\n|.)*?)(?:)'; var match = new RegExp(ScriptFragment, 'img'); var scripts = responseText.match(match); if(scripts) { var js = ''; for(var s = 0; s < scripts.length; s++) { var match = new RegExp(ScriptFragment, 'im'); js += scripts[s].match(match)[1]; } eval(js); } } function activeAnchorTemplate(){ var anch = (document.getElementById('templateAnchor')); //alert('::'+anch); location.href=anch; } function isDigit(event){ if ( (event.keyCode < 48) || (event.keyCode > 57 ) ) event.returnValue = false; } //Valida si son dígitos, pero esta vez devuelve un flag independiente del evento. Se usa en el método isAlphaOrNumber. function isValueDigit( event ){ if ( (event.keyCode < 48) || (event.keyCode > 57 ) ){ return false; } return true; } //Para validar si son solo letras o numeros function isAlphaOrNumber(value, event, valida){ value = validateTextOfInputTypes(value,valida); if(!value && isValueDigit(event) ){ value = event.keyCode; } return value; } function validateTextOfInputTypes(value, valida){ if( value == 193 || value == (193+32) ) //? o ? value = 65; else if(value == 201 || value == (201+32)) //? o ? value = 69; else if(value == 205 || value == (205+32)) //? o i value = 73; else if(value == 211 || value == (211+32)) //? o ? value = 79; else if(value == 218 || value == (218+32)) //? o ? value = 85; else if(value == 241 ) //? value = 209; if (value > 96 && value < 123 ) //a-z return value-32; else if (value > 64 && value < 91 || value == 209 || value == 32) //? y espacio return value; else if (valida && (value == 35 || value == 44 || value == 45 || value == 46 || value == 59 || (value>47 && value<58 ) ) ) return value; else return false; } //Valida acentos y caracteres especiales de una cadena (type 0).. asi como que se introduzcan solo numero (type 1) function isValidField(work, type){ var checkOK; if(type==0) checkOK = "abcdefghijklmnopqrstuvwxyz"+" "+"ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"0123456789"+"+-()!#$%&=?'{}[]"; else checkOK ="0123456789"; var checkStr = work; var allValid = true; var ch; var lengthStr = checkStr.length; var lengthStrOK = checkOK.length; for (i=0;i= 48 && code <= 57) || (code >= 96 && code <= 105) || code == 8 || code == 9){ return true; } return false; } function llenaCampoCalle() { document.getElementById(getNetuiTagName('creditCardAddress1')).value =document.getElementById(getNetuiTagName('address1')).value; } function llenaCampoColonia() { document.getElementById(getNetuiTagName('creditCardAddress2')).value =document.getElementById(getNetuiTagName('address2')).value; } function llenaCampoCP() { document.getElementById(getNetuiTagName('creditCardZipCode')).value =document.getElementById(getNetuiTagName('zipCode')).value; } function llenaCampoPais(value) { document.getElementById(getNetuiTagName('prepayCountry')).value = value; } function llenaCampoEstado(value) { document.getElementById('wlw-select_key:{actionForm.creditCardState}').value = value; }