function registerSnowSearchFormBhv(el){
el.onsubmit=function(){
if(validate_snow_form(el)==false){
return false;
}
Util.createCookie("newSearch","1");
location.href="./index.php?Action=Step2&d="+Util.safeEncode(Form.serialize(this));
return false;
};
}
function testValidation(){
validate_snow_form($("snow-search-form"));
}
function validate_snow_form(_2){
var _3=[];
var _4=trimAll($F("snow-select-destination"));
if(_4=="-1"){
_3.push("Debe seleccionar un destino");
}
var _5=Date.parseDate($F("snow_depart_date"),window.dateFormat);
var _6=Date.parseDate($F("snow_return_date"),window.dateFormat);
var _7=validate_date("",$F("snow_depart_date"));
var _8=disable_depart_date(_5);
if(!_7||disable_depart_date(_5)){
_3.push("Fecha de salida no v\xe1lida");
}
_7=validate_date("",$F("snow_return_date"));
_8=disable_depart_date(_6);
if(!_7||disable_depart_date(_6)){
_3.push("Fecha de regreso no v\xe1lida");
}
var _9=parseInt($F("snow-numpaxadl"));
var _a=parseInt($F("snow-numpaxchl"));
var _b=parseInt($F("snow-numpaxinf"));
if(_9==0&&_a==0&&_b==0){
_3.push("Debe ingresar un pasajero");
}
var _c=$("snow-search-type-full").checked;
if(_c&&!validate_snow_pax_quantity(_2)){
_3.push(window.reason);
window.reason="";
}
if(_3.length>0){
alert(_3.join("\n"));
return false;
}
return true;
}
function validate_snow_pax_quantity(_d){
var _e={"SIMPLE":1,"DOUBLE":2,"TRIPLE":3,"QUADRUPLE":4,"TWIN":2};
var _f=parseInt($F("snow-numpaxadl"));
var _10=parseInt($F("snow-numpaxchl"));
var _11=_f+_10;
var _12=parseInt($F("snow-numpaxinf"));
if(_12>_f){
window.reason="No puede viajar mas de un beb\xe9 por adulto";
return false;
}
if(_11>=9){
window.reason="No puede viajar mas de nueve adultos o ni\xf1os";
return false;
}
var _13=$$("input.snow-room-collector");
var _14=0;
var _15=0;
for(var i=0;i<_13.length;i++){
var _17=getRoomInfo(_13[i].value);
_14+=_17["QTY"]*_e[_17["TYPE"]];
_15+=_17["CRADLES"]*1;
}
if(_11!=_14||_12!=_15){
window.reason="Existe uma discrep\xe2ncia entre o n\xfamero de pessoas e o tipo de quarto solicitado.";
return false;
}
return true;
}
function registerSnowServicesRadioBhv(el){
el.onclick=function(){
if(this.checked){
$("snow-hotel").hide();
}
};
}
function registerHotelSnowServicesRadioBhv(el){
el.onclick=function(){
if(this.checked){
$("snow-hotel").show();
}
};
}
function registerAddSnowRootLinkBhv(el){
el.onclick=function(){
var _1b=false;
var _1c=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(!_1c){
_1c=this.parentNode.childNodes[i];
}
_1b=this.parentNode.childNodes[i];
}
if(!_1b){
return false;
}
rmFn="this.parentNode.parentNode.removeChild(this.parentNode); return false";
nuevo=_1c.cloneNode(true);
new Insertion.Bottom(nuevo,"<a href=\"#\" title=\"Quitar\" onclick=\""+rmFn+"\" class=\"rm_room\">[-]</a>");
new Insertion.After(_1b,"<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=snow_hotel_field_changed;
selects[sN].onchange();
}
return false;
};
}
function registerRoomsSelectBhv(el){
for(var i=0;i<el.length;i++){
var _20=el[i];
_20.onchange=snow_hotel_field_changed;
_20.onchange();
}
}
function registerSnowTabBehaviours(){
registerSnowSearchFormBhv($("snow-search-form"));
registerSnowServicesRadioBhv($("snow-search-type-service"));
registerHotelSnowServicesRadioBhv($("snow-search-type-full"));
registerAddSnowRootLinkBhv($("add_snow_room"));
registerRoomsSelectBhv($$("#snow-hotel div.hotel_hab select"));
setupSnowCalendars();
}
function setupSnowCalendars(){
var el=$("snow_depart_date");
el.setAttribute("validDatesFn","disable_depart_date");
el.setAttribute("onUpdate","snow_depart_changed");
Event.observe(el,"change",function(){
depart_changed();
});
window.snowDepartField=el;
setupCalendar("snow_depart_date");
el=$("snow_return_date");
el.setAttribute("validDatesFn","disable_snow_return_date");
window.snowReturnField=el;
setupCalendar("snow_return_date");
}
function snow_hotel_field_changed(){
var _22={};
var _23=this.parentNode.parentNode.getElementsByTagName("SELECT");
var c=null;
for(var i=0;i<_23.length;i++){
c=_23[i];
_22[c.className]=c.options[c.selectedIndex].value;
}
var _26=this.parentNode.parentNode.getElementsByTagName("input");
_26[0].value=_22.tipo_habitacion+"-"+_22.n_habitaciones+"-"+_22.cunas+"-0";
return true;
}

var snow_pax_count=0;
var SNOW_PAX_TYPE_ADULT=1;
var SNOW_PAX_TYPE_CHILD=2;
var SNOW_PAX_TYPE_INFANT=3;
var id=0;
function updatePaxQuantity(_1,_2){
var _3="";
switch(_1){
case SNOW_PAX_TYPE_ADULT:
_3="snow-numpaxadl";
break;
case SNOW_PAX_TYPE_CHILD:
_3="snow-numpaxchl";
break;
case SNOW_PAX_TYPE_INFANT:
_3="snow-numpaxinf";
break;
}
var _4=parseInt($F(_3));
if(_2){
_4++;
}else{
_4--;
}
$(_3).value=_4;
}
function getPaxTypeByAge(_5){
if(_5>=12){
return {pax_type_id:SNOW_PAX_TYPE_ADULT,pax_type_text:"Adulto"};
}else{
if(_5<12&&_5>=2){
return {pax_type_id:SNOW_PAX_TYPE_CHILD,pax_type_text:"Ni&#241;o"};
}else{
return {pax_type_id:SNOW_PAX_TYPE_INFANT,pax_type_text:"Beb&#233;"};
}
}
}
function addPax(){
var _6=$F("pax_age");
var _7=getPaxTypeByAge(_6);
var _8=new RegExp("^[0-9]{1,2}$");
var _9=$("pax_age").value;
if((parseInt(_9)<=0)||(parseInt(_9)>150)||(_9=="")||(!_9.match(_8))){
alert("Debe introducir una fecha valida");
return false;
}
if(_9>=12){
type="Adulto";
}else{
if(_9<12&&_9>=2){
type="Ni\xf1o";
}else{
type="Infante";
}
}
$("pax_list").innerHTML+="<div id='row_pax_"+snow_pax_count+"' class='r_type'>"+"<span class='f_type'><input type='hidden' id='pax_type_row_"+snow_pax_count+"' value='"+_7.pax_type_id+"' /><input readonly='true' name='pax_type[]' class='row_c' value='"+_7.pax_type_text+"'/></span>"+"<span class='f_age'><input readonly='true' name='pa[]' class='row_c' value='"+_6+"'/></span>"+"<span class='f_action' onclick='erasePax("+snow_pax_count+")'>Quitar</span>"+"</div>"+"<div class='clear'></div>";
snow_pax_count++;
updatePaxQuantity(_7.pax_type_id,true);
id+=1;
}
function erasePax(id){
var _b=parseInt($F("pax_type_row_"+id));
$("pax_list").removeChild($("row_pax_"+id));
snow_pax_count--;
updatePaxQuantity(_b,false);
}

