function SearchFormBuilder(){
this.filters={};
this.fields={};
}
SearchFormBuilder.prototype.rebuild=function(){
var _1={};
var i=0;
dump("rebuild()\n");
var _3=null;
for(filterName in this.filters){
if(!this.filters.hasOwnProperty(filterName)){
continue;
}
_3=this.filters[filterName];
for(i=0;i<_3.requiredFields.length;i++){
if(typeof (_1[_3.requiredFields[i]])=="boolean"){
_1[_3.requiredFields[i]]=(_1[_3.requiredFields[i]]||_3.enabled);
}else{
_1[_3.requiredFields[i]]=_3.enabled;
}
}
}
var _4=false;
for(var _5 in _1){
_4=this.fields[_5];
if(this.onApplyStyles(_4,_1[_5])){
this.applyStyles(_4,_1[_5]);
}
}
this.onBuildFinish();
};
SearchFormBuilder.prototype.addFieldFilter=function(_6,_7,_8){
dump("addFieldFilter()\n");
var _9=false;
var _a=false;
if(typeof (_8)=="string"){
_9=$(_8);
if(_9==null){
return false;
}
_a=_9.checked;
}
dump("buscando elementos...\n");
var _b=null;
for(var i=0;i<_7.length;i++){
_b=_7[i];
if(typeof (this.fields[_b])=="undefined"){
this.fields[_b]=$(_b);
}
}
dump("continuando...\n");
this.filters[_6]={"requiredFields":_7,"enabled":_a,"controller":_9};
if(_9){
_9.onclick=this._statusChanged;
_9.sfb=this;
_9.filterName=_6;
}
};
SearchFormBuilder.prototype.toggleFilter=function(_d,_e){
var _f=this.filters[_d];
if(typeof (_f)!="undefined"){
var _10=(typeof (_e)=="boolean")?_e:!_f.enabled;
if(this.onToggle(_d,_f.enabled)){
_f.enabled=_10;
this.rebuild();
return true;
}else{
_f.controller.checked=_f.enabled;
return false;
}
}else{
return false;
}
};
SearchFormBuilder.prototype.onToggle=function(_11,_12){
return true;
};
SearchFormBuilder.prototype.onApplyStyles=function(_13,_14){
return true;
};
SearchFormBuilder.prototype.applyStyles=function(_15,_16){
if(_16==Element.visible(_15)){
return false;
}
dump("-----------\napplyStyles()\n"+_15.id+": "+_16+"\n");
_15.style.display=(_16)?"block":"none";
return true;
};
SearchFormBuilder.prototype.onBuildFinish=function(_17,_18){
return true;
};
SearchFormBuilder.prototype._statusChanged=function(){
return this.sfb.toggleFilter(this.filterName,this.checked);
};

Behaviour.register({"#suscribe-newsletter":function(el){
el.onsubmit=function(){
if(this.validator.validate()){
var _2=$F("newsletter-mail");
var _3={"postBody":"email="+escape(_2),"asyncronous":true};
new Ajax.Updater("suscribe-newsletter","./?Action=SuscribeNewsletter",_3);
return false;
}else{
_alert(el.id+" no valida");
return false;
}
};
},"#newsletter-submit":function(el){
el.onclick=function(){
$("suscribe-newsletter").onsubmit();
return false;
};
}});

Behaviour.register({"#main_search_form":function(el){
el.onsubmit=function(){
prepare_form(this);
var _2=validate_form(this);
if(!_2){
return false;
}
var _3=Form.serialize(this);
Util.createCookie("newSearch","1");
location.href="./index.php?Action=PepeVistaStep2&d="+Util.safeEncode(Form.serialize(this));
return false;
};
initialize_step1_form();
},"#btn-search-custom-disabled":function(el){
el.onclick=function(){
$("main_search_form").onsubmit();
return false;
};
},"#dp_time_start_id":function(el){
el.onchange=function(){
if($("dp_time_end_id").selectedIndex<el.selectedIndex){
if(el.selectedIndex<el.options.length-1){
$("dp_time_end_id").selectedIndex=el.selectedIndex+1;
}
if(el.selectedIndex==el.options.length-1){
$("dp_time_end_id").selectedIndex=$("dp_time_end_id").options.length-1;
}
if(el.selectedIndex==0){
$("dp_time_end_id").selectedIndex=0;
}
}
};
},"#rt_time_start_id":function(el){
el.onchange=function(){
if($("rt_time_end_id").selectedIndex<el.selectedIndex){
if(el.selectedIndex<el.options.length-1){
$("rt_time_end_id").selectedIndex=el.selectedIndex+1;
}
if(el.selectedIndex==el.options.length-1){
$("rt_time_end_id").selectedIndex=$("rt_time_end_id").options.length-1;
}
if(el.selectedIndex==0){
$("rt_time_end_id").selectedIndex=0;
}
}
};
},"#dp_time_end_id":function(el){
el.onchange=function(){
if(el.selectedIndex<$("dp_time_start_id").selectedIndex){
if($("dp_time_start_id").selectedIndex==el.options.length-1){
el.selectedIndex=el.options.length-1;
}else{
el.selectedIndex=$("dp_time_start_id").selectedIndex+1;
}
}
};
},"#rt_time_end_id":function(el){
el.onchange=function(){
if(el.selectedIndex<$("rt_time_start_id").selectedIndex){
if($("rt_time_start_id").selectedIndex==el.options.length-1){
el.selectedIndex=el.options.length-1;
}else{
el.selectedIndex=$("rt_time_start_id").selectedIndex+1;
}
}
};
},"#fld_solo_vuelo_ida":function(el){
var _a=function(){
var _b=$("campo_regreso");
var _c=_b.getElementsByTagName("INPUT");
var _d=_b.getElementsByTagName("SELECT");
var _e=_b.getElementsByTagName("IMG");
for(var i=0;i<_c.length;i++){
_c[i].disabled=this.checked;
}
for(var i=0;i<_d.length;i++){
_d[i].disabled=this.checked;
}
if(this.checked){
window.fld_return_date_calendar_onclick_handler=$("fld_return_date_trigger").onclick;
$("fld_return_date_trigger").onclick=null;
}else{
$("fld_return_date_trigger").onclick=window.fld_return_date_calendar_onclick_handler;
}
return true;
};
el.onclick=_a;
},"#fld_depart_date":function(el){
el.setAttribute("validDatesFn","disable_depart_date");
el.setAttribute("onUpdate","depart_changed");
Event.observe(el,"change",function(){
depart_changed();
});
window.departField=el;
},"#fld_return_date":function(el){
el.setAttribute("validDatesFn","disable_return_date");
window.returnField=el;
},"#add_room":function(el){
el.onclick=function(){
var _13=false;
var _14=false;
for(var i=0;i<this.parentNode.childNodes.length;i++){
if(!this.parentNode.childNodes[i].className||this.parentNode.childNodes[i].className!="hotel_hab"){
continue;
}
if(!_14){
_14=this.parentNode.childNodes[i];
}
_13=this.parentNode.childNodes[i];
}
if(!_13){
return false;
}
rmFn="this.parentNode.parentNode.removeChild(this.parentNode); return false";
nuevo=_14.cloneNode(true);
new Insertion.Bottom(nuevo,"<a href=\"#\" title=\"Quitar\" onclick=\""+rmFn+"\" class=\"rm_room\">[-]</a>");
new Insertion.After(_13,"<div style=\"clear:both\" class=\"hotel_hab\">"+nuevo.innerHTML+"</div>");
selects=this.parentNode.getElementsByTagName("SELECT");
for(sN=0;sN<selects.length;sN++){
selects[sN].onchange=hotel_field_changed;
selects[sN].onchange();
}
return false;
};
},"#campo_hotel select":function(el){
el.onchange=hotel_field_changed;
el.onchange();
},"#fld_airline_t":function(el){
el.onclick=function(){
el.value="";
$("fld_airline").value="";
};
},"#fld_destino_t":function(el){
el.onfocus=focus_handler;
},"#fld_origen_t":function(el){
el.onfocus=focus_handler;
},"#combo_residente":function(el){
Event.observe(el,"change",function(ev){
$("rs_chk").checked=(Event.element(ev).selectedIndex>0);
});
},"#fld_air_brigde":function(el){
el.onclick=function(){
if(el.checked==true){
$("flt_lowcost").disabled="disabled";
$("flt_solo_vuelo_directo").disabled="disabled";
$("b2").disabled="disabled";
$("b3").disabled="disabled";
$("airline_filter_i").disabled="disabled";
$("fld_airline_t").disabled="disabled";
$("fld_airline_t").readonly="true";
$("brigde_from_container").show();
$("brigde_to_container").show();
$("fld_origen_t").hide();
$("fld_destino_t").hide();
$("flt_airline_filter").hide();
$("fechas_horas").hide();
$("tituloFechas").hide();
$("flt_airline_filter_type").hide();
$("flt_class_id").options.length=0;
$("flt_class_id").options[0]=new Option("Turista","Y");
$("flt_class_id").options[1]=new Option("Ejecutiva","C");
$("flt_class_id").selectedIndex=0;
var id="brigde_from";
var p="divId="+id;
var url="./?Action=PepeVistaBrigdeCities";
var _20=new Ajax.Updater(id+"_container",url,{parameters:p,evalScripts:true});
}else{
$("flt_solo_vuelo_directo").disabled="";
$("flt_lowcost").disabled="";
$("b2").disabled="";
$("b3").disabled="";
$("airline_filter_i").disabled="";
$("fld_airline_t").disabled="";
$("brigde_from_container").hide();
$("brigde_to_container").hide();
$("fld_origen_t").show();
$("fld_destino_t").show();
$("flt_airline_filter").show();
$("fechas_horas").show();
$("fld_return_date_trigger").display="block";
$("tituloFechas").show();
$("flt_airline_filter_type").show();
$("flt_class_id").innerHTML="<option selected=\"selected\" value=\"ALL\">Todas</option> <option value=\"Y\">Turista</option> <option value=\"F\">Primera</option> <option value=\"C\">Ejecutiva</option";
$("flt_class_id").options.length=0;
$("flt_class_id").options[0]=new Option("Todas","ALL");
$("flt_class_id").options[1]=new Option("Turista","Y");
$("flt_class_id").options[2]=new Option("Primera","F");
$("flt_class_id").options[3]=new Option("Ejecutiva","C");
$("flt_class_id").selectedIndex=0;
}
};
},"#brigde_from":function(el){
el.onclick=function(){
var id="brigde_to";
var p="origin="+$(el).value+"&divId="+id;
var url="./?Action=PepeVistaBrigdeCities";
var _25=new Ajax.Updater(id+"_container",url,{parameters:p,evalScripts:true,onComplete:reportFromChange});
};
},"#brigde_to":function(el){
el.onclick=function(){
var _27=$("brigde_to");
$("fld_destino").value=_27.options[_27.selectedIndex].value;
};
}});
function reportFromChange(){
$("fld_origen").value=$("brigde_from").value;
var _28=$("brigde_to");
$("fld_destino").value=_28.options[_28.selectedIndex].value;
}
function focus_handler(){
if(this._newValue==false){
this.value="";
$(this.id.replace(/_t$/,"")).value="";
}
this._newValue=false;
}
function hotel_field_changed(){
var _29={};
var _2a=this.parentNode.parentNode.getElementsByTagName("SELECT");
var c=null;
for(var i=0;i<_2a.length;i++){
c=_2a[i];
_29[c.className]=c.options[c.selectedIndex].value;
}
var _2d=this.parentNode.parentNode.getElementsByTagName("input");
_2d[0].value=_29.tipo_habitacion+"-"+_29.n_habitaciones+"-"+_29.cunas+"-0";
return true;
}
function numerar_cajas(){
dump("=====================\nnumerar_cajas()\n");
var _2e=document.getElementsByClassName("buscador_caja_numerada",$("buscador"));
var _2f=null;
var _30=1;
var _31="";
var _32=navigator.userAgent.match(/Gecko\//);
for(var i=0;i<_2e.length;i++){
_2f=_2e[i];
dump(_2f.id+": "+_2f.offsetHeight+"\n");
_31=_2f.style.border;
if(_32){
_2f.style.border="2px solid blue";
}
if(_2f.offsetHeight>20){
_2f.className=_2f.className.replace(/[ ]*buscador-caja[0-9]{1}/,"");
Element.addClassName(_2f,"buscador-caja"+_30++);
Element.removeClassName(_2f,"sin_borde");
}else{
_2f.className=_2f.className.replace(/[ ]*buscador-caja[0-9]{1}/,"");
Element.addClassName(_2f,"sin_borde");
}
if(_32){
_2f.style.border=_31;
}
}
}
function initialize_autocomplete(){
var _34=function(a,b){
var _37=b.getAttribute("id").replace(/^dst/,"");
$(a.id.replace(/_t$/,"")).value=_37;
window.formBuilder.toggleFilter("flt_resident",(b.getAttribute("discount")=="true"));
};
Object.extend(Ajax.Autocompleter.prototype,{"onBlur":function(_38){
if(Element.visible(this.update)){
this.selectEntry();
}
this._onBlur();
},"_onBlur":Autocompleter.Base.prototype.onBlur});
Element.show("fld_origen_auto_complete");
Element.show("fld_destino_auto_complete");
var _39=$("fld_destino_t");
var _3a=$("fld_origen_t");
_39.disabled=false;
_39.value="";
_3a.disabled=false;
_3a.value="";
new Ajax.Autocompleter(_3a,"fld_origen_auto_complete","./?Action=CitySelect",{"minChars":3,"frequency":0.4,"paramName":"ciudad","indicator":"act_origen_t","afterUpdateElement":_34,"callback":function(el,_3c){
return _3c+"&destino="+$("fld_destino").value;
}});
new Ajax.Autocompleter(_39,"fld_destino_auto_complete","./?Action=CitySelect",{"minChars":3,"frequency":0.4,"paramName":"ciudad","indicator":"act_destino_t","afterUpdateElement":_34,"callback":function(el,_3e){
return _3e+"&origen="+$("fld_origen").value;
}});
}
function initialize_step1_form(){
initialize_autocomplete();
initializeAirLinesCombo();
window.formBuilder=new SearchFormBuilder();
window.formBuilder.addFieldFilter("flight",["campo_origen","campo_destino","campo_salida","campo_regreso","campo_pasajeros","campo_solo_ida"],"b1");
window.formBuilder.addFieldFilter("hotel",["campo_hotel","campo_pasajeros","campo_destino","campo_salida","campo_regreso","hotelFilters"],"b2");
window.formBuilder.addFieldFilter("flt_resident",["campo_residente"]);
window.formBuilder.addFieldFilter("car",["campo_coche","campo_destino","campo_salida","campo_regreso","campo_pasajeros"],"b3");
window.checkboxesTipoBusqueda=new Array();
if($("b1")!=null){
window.checkboxesTipoBusqueda[window.checkboxesTipoBusqueda.length]=$("b1");
}
if($("b2")!=null){
window.checkboxesTipoBusqueda[window.checkboxesTipoBusqueda.length]=$("b2");
}
if($("b3")!=null){
window.checkboxesTipoBusqueda[window.checkboxesTipoBusqueda.length]=$("b3");
}
window.formBuilder.onToggle=function(_3f,_40){
var b=window.checkboxesTipoBusqueda;
if((b[0]!=null&&b[0].checked)||(b[1]!=null&&b[1].checked)||(b[2]!=null&&b[2].checked)){
var _42=this.filters[_3f].controller;
if(_42.checked){
Element.addClassName(_42.imagen,"servicio_seleccionado");
}else{
Element.removeClassName(_42.imagen,"servicio_seleccionado");
}
return true;
}
return false;
};
window.formBuilder.onBuildFinish=function(){
setTimeout("numerar_cajas();",10);
};
var _43=$("b1");
var _44=$("b2");
var _45=$("b3");
var _46=false;
var _47=false;
var _48=false;
if(_43!=null){
_46=_43.checked;
}
if(_44!=null){
_47=_44.checked;
}
if(_45!=null){
_48=_45.checked;
}
window.formBuilder.toggleFilter("flight",_46);
window.formBuilder.toggleFilter("hotel",_47);
window.formBuilder.toggleFilter("car",_48);
}
function validate_form(_49){
var _4a=[];
var _4b=$F("fld_search_type");
if(_4b.indexOf("flights")>-1){
if(trimAll($F("fld_origen"))==""){
_4a.push("Ingrese un origen");
$("fld_origen_t").focus();
}
}
if(trimAll($F("fld_destino"))==""){
_4a.push("Ingrese un destino");
$("fld_destino_t").focus();
}
var _4c=$("fld_return_date");
var _4d=$("fld_depart_date");
var _4e=Date.parseDate(_4d.value,window.dateFormat);
var _4f=Date.parseDate(_4c.value,window.dateFormat);
if(!validate_date("",_4d.value)||disable_depart_date(_4e)){
_4a.push("Fecha de salida no v\xe1lida");
}
if(!$("fld_solo_vuelo_ida").checked&&(!validate_date("",_4c.value)||disable_return_date(_4f))){
_4a.push("Fecha de regreso no v\xe1lida");
}
if($("b2").checked==true){
if(_4e.equalsTo(_4f)){
_4a.push("Fecha de regreso no v\xe1lida");
}
}
if(!validatePaxQuantity(_49)){
_4a.push(window.reason);
}
if(_4a.length>0){
alert(_4a.join("\n"));
}
return (_4a.length==0);
}
function validatePaxQuantity(_50){
var _51={"SIMPLE":1,"DOUBLE":2,"TRIPLE":3,"QUADRUPLE":4,"TWIN":2};
var _52=parseInt($("pax-a").value);
var _53=parseInt($("pax-b").value)+parseInt($("pax-c").value);
var _54=_52+parseInt($("pax-c").value);
if(_54==0){
window.reason="Debe seleccionar al menos, un adulto";
return false;
}
var _55=parseInt($("pax-b").value);
if(_55>_52){
window.reason="No puede viajar mas de un beb\xe9 por adulto";
return false;
}
if(_54>9){
window.reason="No puede viajar mas de nueve adultos o ni\xf1os";
return false;
}
if($F("fld_search_type").indexOf("hotel")>-1){
var _56=document.getElementsByName("r[]");
var _57=0;
var _58=0;
for(var i=0;i<_56.length;i++){
var _5a=getRoomInfo(_56[i].value);
_57+=_5a["QTY"]*_51[_5a["TYPE"]];
_58+=_5a["CRADLES"]*1;
}
if(_54!=_57||_55!=_58){
window.reason="Hay una discrepancia entre la cantidad de pasajeros y plazas de hotel seleccionadas.";
return false;
}
}
return true;
}
function getRoomInfo(_5b){
var _5c=_5b.split("-");
return {"TYPE":_5c[0],"QTY":_5c[1],"CRADLES":_5c[2]};
}
function prepare_form(_5d){
var _5e=new Array();
var c=window.checkboxesTipoBusqueda;
var _60=$("fld_search_type");
for(i=0;i<c.length;i++){
if(c[i]!=null&&c[i].checked){
_5e[_5e.length]=c[i].value;
}
}
_60.value=_5e.join("-");
if($F("fld_solo_vuelo_ida")&&_60.value=="flights"){
$("fld_return_date").value="";
}
if(_60.value=="flights"){
var _61=document.getElementsByName("r[]");
for(i=0;i<_61.length;i++){
_61[i].value="";
}
}
}
var tabs=new Array();
tabs[0]="tab-common";
tabs[1]="tab-comisiones";
tabs[2]="tab-pepepeople";
tabs[3]="tab-pepitos";
tabs[4]="tab-pepeactive";
function showTemplate(_62,yo){
var id="tab-content";
var p="quickDisplayMode=0";
var url="./?Action="+_62;
var _67=new Ajax.Updater(id,url,{parameters:p,evalScripts:true});
for(var i=0;i<tabs.length;i++){
if(isset(tabs[i])){
if(yo.getAttribute("id")==tabs[i]){
yo.style.backgroundPosition="center top";
}else{
var t=$(tabs[i]);
if(typeof (t)!="undefined"){
$(tabs[i]).style.backgroundPosition="center bottom";
}
}
}
}
return false;
}

function showSection(_1,_2){
var _3=(Element.hasClassName(_1,"Package"))?"Package":_1.id;
if(typeof (_2)!="string"){
_2="";
}
Element.show("ofertas_loading");
new Ajax.Updater("cont_ofertas","./?Action="+_3,{"postBody":_2,"asynchronous":true,"onSuccess":ofertasOnSuccess});
return false;
}
function ofertasOnSuccess(_4,_5){
Element.hide("ofertas_loading");
}
function tabOnClick(){
posiciones["PepeOfertasHome"]="left top";
posiciones["PepeOfertasActive"]="left bottom";
var a=this.parentNode.parentNode.getElementsByTagName("A");
for(i=0;i<a.length;i++){
a[i].className=a[i].className.replace(/seleccionado/,"");
}
this.className+="seleccionado";
this.parentNode.parentNode.style.backgroundPosition=posiciones[this.id];
showSection(this);
}
function addBehaviourToTabs(){
var _7=$("PepeOfertasHome");
if(_7!=null){
_7.onclick=tabOnClick;
}
var _8=$("PepeOfertasActive");
if(_8!=null){
_8.onclick=tabOnClick;
}
}
Event.observe(window,"load",addBehaviourToTabs,false);

function initializeAirLinesCombo(){
var _1=function(a,b){
var _4=b.getAttribute("id").replace(/^dst/,"");
$(a.id.replace(/_t$/,"")).value=_4;
};
var _5=$("fld_airline_t");
_5.disabled=false;
_5.value="";
new Ajax.Autocompleter(_5,"fld_airline_auto_complete","./?Action=PepeVistaAirlinesSelect",{"minChars":3,"frequency":0.4,"paramName":"airline","indicator":"act_airline_t","afterUpdateElement":_1,"callback":function(el,_7){
return _7+$("fld_airline").value;
}});
}


