if((!this["console"])||(!console["firebug"])){
this.console={};
}
$A(["assert","count","debug","dir","dirxml","error","group","groupEnd","info","log","profile","profileEnd","time","timeEnd","trace","warn"]).each(function(_1){
if(!console[_1]){
console[_1]=function(){
};
}
});
var ct={console:console,cookies:{create:function(_2,_3,_4){
var _5;
if(_4){
var _6=new Date();
_6.setTime(_6.getTime()+(_4*24*60*60*1000));
_5="; expires="+_6.toGMTString();
}else{
_5="";
}
document.cookie=_2+"="+_3+_5+"; path=/";
},read:function(_7){
var _8=_7+"=";
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(_8)===0){
return c.substring(_8.length,c.length);
}
}
return null;
},erase:function(_c){
ct.cookies.create(_c,"",-1);
}},dates:{isValidDateString:function(_d){
var _e=/[0-9]+\/[0-9]+\/([0-9][0-9][0-9][0-9])+/;
return (_e.test(_d));
},fromString:function(_f){
var _10=_f;
var day=_10.substring(0,_10.indexOf("/"));
var _12=_10.substring(_10.indexOf("/")+1,_10.indexOf("/",_10.indexOf("/")+1));
var _13=_10.substring(_10.indexOf("/",_10.indexOf("/")+1)+1,_10.length);
if(_13.length==2){
_13="20"+_13;
}
var _14=new Date();
_14.setFullYear(parseInt(_13,10),parseInt(_12,10)-1,parseInt(day,10));
_14.setHours(0,0,0,0);
return _14;
},toString:function(_15,_16){
if(!_16){
return _15.getDate()+"/"+(_15.getMonth()+1)+"/"+_15.getFullYear();
}else{
return _15.getFullYear()+((_15.getMonth()+1<10)?"0"+(_15.getMonth()+1):(_15.getMonth()+1))+((_15.getDate()<10)?("0"+_15.getDate()):_15.getDate());
}
},isPast:function(_17,_18){
if(!_18){
}
return (ct.dates.compare(_17,_18)===-1);
},compare:function(_19,_1a){
if(_19.getYear()<_1a.getYear()){
return 1;
}else{
if((_19.getYear()==_1a.getYear())&&(_19.getMonth()<_1a.getMonth())){
return 1;
}else{
if((_19.getYear()==_1a.getYear())&&(_19.getMonth()==_1a.getMonth())&&(_19.getDate()<_1a.getDate())){
return 1;
}else{
if(_19.getDate()==_1a.getDate()&&_19.getMonth()==_1a.getMonth()&&_19.getYear()==_1a.getYear()){
return 0;
}else{
return -1;
}
}
}
}
},monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],getTimestamp:function(){
var _1b=new Date();
var ts=""+_1b.getHours()+_1b.getMinutes()+_1b.getSeconds()+_1b.getMilliseconds();
return ts;
},setMonth:function(_1d,_1e){
var _1f=_1d.getMonth();
_1d.setMonth(_1e);
_1e%=12;
var _20=_1d.getMonth();
if(_20===_1e){
return _1d;
}else{
_1d.setDate(0);
return _1d;
}
},fromApacheDirective:function(_21){
var _22=_21.split(" ")[1].split("-");
var _23=$A([]);
$A(ct.dates.monthNames).each(function(_24){
_24=_24.substr(0,3);
_23.push(_24);
});
return new Date(_22[2],$A(_23).indexOf(_22[1]),_22[0]);
}},validator:{_attachedFields:$A([]),attachValidation:function(_25,_26,_27){
ct.validator._attachedFields.push({field:$(_25),errorMessage:_26,condition:_27});
},_initializeForms:function(){
var _28=$A(document.getElementsByTagName("form"));
_28.each(function(_29){
$(_29).observe("submit",ct.validator._validateForm);
_29.ct_validationFailed=true;
});
ct.validator.parseDomTree();
},classNames:{required:"required",number:"number",password:"password",email:"email",creditCardNumber:"creditCardNumber",cvvCodeCredit:"cvvCodeCredit",cvvCodeDebit:"cvvCodeDebit",calendarControl:"datePicker"},validationConditions:{requiredFieldCondition:function(_2a){
if(_2a.readAttribute("selfLabel")!==null){
return ($F(_2a)!==_2a.labelText);
}else{
return ($F(_2a).length!==0);
}
},spaceCondition:function(_2b){
var _2c=/^\s/;
var _2d=_2c.test($F(_2b));
return _2d?false:true;
},validateNumber:function(_2e){
if($F(_2e)!==""){
if($(_2e).readAttribute("selfLabel")===$F(_2e)){
return true;
}
_2e.value=ct.stringFormatting.stripAlphaChars($F(_2e));
return (_2e.value==parseInt(_2e.value,10));
}else{
return true;
}
},emailCondition:function(_2f){
if($F(_2f)!==""){
if($F(_2f)===""){
return false;
}
var _30=_2f.value;
var _31=_30.indexOf("@");
var _32=_30.lastIndexOf(".");
var _33=_30.indexOf(" ");
if(_31<0||_32<0||_33!=-1){
return false;
}
var _34=/^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,4}$/;
var _35=_34.test(_30);
return _35?true:false;
}else{
return true;
}
},requiredDropdownCondition:function(_36){
return (_36.selectedIndex!==0);
},validCreditCardCondition:function(_37){
var _38=$F(_37),_39;
if(_38!==""){
var _3a=_38;
_3a=_38.replace(/-/g,"");
_3a=_38.replace(/ /g,"");
_38=_3a.valueOf();
if(_38===null||_38.length<13||_38.search(/[a-zA-Z]+/)!=-1){
return false;
}
var _3b=_38.split("");
_3b.reverse();
var _3c=0;
var tmp=0;
for(var i=0;i<_3b.length;i++){
if((i%2)>0){
tmp=_3b[i]*2;
tmp=(tmp<9?tmp:(tmp-9));
_3c+=tmp;
}else{
_3c+=Number(_3b[i]);
}
}
_39=((_3c%10)===0);
if(_39&&_37.readAttribute("cardtypefieldname")){
var _3f={1:{identifier:[4],length:[13,16]},2:{identifier:[51,52,53,54,55],length:[16]},3:{identifier:[34,37],length:[15]},4:{identifier:[300,301,302,303,304,305,36,38],length:[14]}};
var _40=ct.dom.getParentByTagName(_37,"form")[_37.readAttribute("cardtypefieldname")];
var _41;
$A(_40).each(function(_42){
if(_42.checked){
_41=_42;
}
});
var _43=_3f[_41.value];
if(_43.length.indexOf(_38.length)===-1){
_39=false;
}else{
var _44=false;
for(i=0;i<_43.identifier.length;i++){
if(_38.substr(0,(_43.identifier[i]+"").length)==_43.identifier[i]){
_44=true;
break;
}
}
_39=_44;
}
}
}else{
_39=true;
}
return _39;
},validateMobilePhoneNumberCondition:function(_45){
if($F(_45)!==""){
if(_45.readAttribute("selfLabel")===$F(_45)){
return true;
}else{
if(ct.stringFormatting.stripAlphaChars($F(_45)).length<10){
return false;
}else{
var _46=/[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9]/;
var _47=_46.test($F(_45));
return (_47)?true:false;
}
}
}else{
return true;
}
},validateLandLanePhoneNumberCondition:function(_48){
if($F(_48)!==""){
if(_48.readAttribute("selfLabel")===$F(_48)){
return true;
}else{
var _49=/[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9](.)*[0-9]/;
var _4a=_49.test($F(_48));
return (_4a)?true:false;
}
}else{
return true;
}
},validateCvvCodeForCreditCard:function(_4b,_4c){
var _4d;
$A(document.getElementsByName(_4c)).each(function(_4e){
if(_4e.checked){
_4d=$F(_4e);
}
});
if($F(_4b)===""){
return true;
}
var re=null;
if(_4d!=="0"){
if(_4d=="3"){
re=/^\d{4}$/;
}else{
re=/^\d{3}$/;
}
return re.test($F(_4b));
}
return true;
},validateCvvCodeForDebitCard:function(_50){
if($F(_50)===""){
return true;
}
re=/^\d{3}$/;
return re.test($F(_50));
},validateDate:function(_51){
if($F(_51)!==""){
if(_51.readAttribute("selfLabel")===$F(_51)){
return true;
}else{
return (ct.dates.isValidDateString($F(_51)));
}
}else{
return true;
}
},validateMinDate:function(_52,_53){
if($F(_52)===""||_52.readAttribute("selfLabel")===$F(_52)){
return true;
}else{
if(!_53){
_53=_52.readAttribute("mindate");
}
if(_53){
var _54=ct.dates.fromString(_53);
if(_52.readAttribute("offsetdays")){
_54.setDate(_54.getDate()+parseInt(_52.readAttribute("offsetdays"),10));
}
var _55=ct.dates.compare(ct.dates.fromString($F(_52)),_54);
return (_55===0)||(_55===-1);
}else{
return true;
}
}
},validateMaxDate:function(_56){
if($F(_56)===""||_56.readAttribute("selfLabel")===$F(_56)){
return true;
}else{
if(_56.readAttribute("maxdate")){
var _57=ct.dates.fromString(_56.readAttribute("maxdate"));
var _58=ct.dates.compare(ct.dates.fromString($F(_56)),_57);
return (_58===0)||(_58===1);
}else{
return true;
}
}
}},parseDomTree:function(_59){
_59=$(_59?_59:document.body);
var _5a=$A($(_59).getElementsByTagName("input"));
_5a.each(function(_5b){
var _5c=ct.validator.attachValidation;
var _5d=ct.validator.validationConditions;
var _5e=ct.validator.classNames;
_5b=$(_5b);
if(((_5b.type.toLowerCase()==="text")||_5b.type.toLowerCase()==="password")&&_5b.hasClassName(_5e.required)){
_5c(_5b,_5b.title+" is a required field.",_5d.requiredFieldCondition);
}
if(((_5b.type.toLowerCase()==="text")||_5b.type.toLowerCase()==="password")&&_5b.hasClassName(_5e.required)){
_5c(_5b,_5b.title+" cannot start with a space.",_5d.spaceCondition);
}
if(((_5b.type.toLowerCase()==="text")||_5b.type.toLowerCase()==="password")&&_5b.hasClassName(_5e.number)){
_5c(_5b,_5b.title+" is not a valid number.",_5d.validateNumber);
}
if(_5b.type.toLowerCase()==="password"&&_5b.hasClassName(_5e.required)&&_5b.hasClassName(_5e.password)){
_5c(_5b,_5b.title+" should be at least 6 characters long. If you have forgotten your password you can follow the link below the field.",function(_5f){
if($F(_5f)===""){
return true;
}
return ($F(_5f).length>=6);
});
}
if(_5b.hasClassName(_5e.cvvCodeCredit)){
if(!_5b.readAttribute("cardtypefieldname")&&!$(_5b.readAttribute("cardtypefieldname"))){
throw new Error("cardtypefieldname attribute not specified for the cvv field. Could not attach validation.");
}else{
_5c(_5b,"The CVV code entered is not valid",function(_60){
return _5d.validateCvvCodeForCreditCard(_60,_60.readAttribute("cardtypefieldname"));
});
}
}
if(_5b.type.toLowerCase()==="password"&&_5b.hasClassName(_5e.cvvCodeDebit)){
_5c(_5b,"The CVV code entered is not valid",_5d.validateCvvCodeForDebitCard);
}
if(_5b.type.toLowerCase()==="text"&&_5b.hasClassName(_5e.email)){
_5c(_5b,_5b.title+" should be a valid email address.",_5d.emailCondition);
}
if(_5b.type.toLowerCase()==="text"&&_5b.hasClassName(_5e.creditCardNumber)){
_5c(_5b,_5b.title+" is not valid.",_5d.validCreditCardCondition);
}
if(_5b.type.toLowerCase()==="text"&&_5b.hasClassName(_5e.calendarControl)){
_5c(_5b,"Please enter a valid "+_5b.title.toLowerCase()+" (DD/MM/YYYY)",_5d.validateDate);
if(_5b.readAttribute("mindate")){
_5c(_5b,"Please choose "+_5b.title.toLowerCase()+" on or after "+_5b.readAttribute("mindate")+" (DD/MM/YYYY).",_5d.validateMinDate);
}else{
if(_5b.readAttribute("mindatefieldid")){
var _61="Please choose a "+_5b.title.toLowerCase();
var _62=_5b.readAttribute("offsetDays");
if(_62){
if(_62==1){
_61+=" at least a day";
}else{
_61+=" at least "+_62+" days";
}
}
_61+=" after the "+$(_5b.readAttribute("mindatefieldid")).title.toLowerCase()+" (DD/MM/YYYY).";
_5c(_5b,_61,function(_63){
return _5d.validateMinDate(_63,$(_5b.readAttribute("mindatefieldid")).value);
});
}
}
if(_5b.readAttribute("maxdate")){
_5c(_5b,"Please choose "+_5b.title.toLowerCase()+" on or before "+_5b.readAttribute("maxdate")+" (DD/MM/YYYY).",_5d.validateMaxDate);
}
}
if((_5b.type.toLowerCase()==="file")&&_5b.hasClassName(_5e.required)){
_5c(_5b,_5b.title+" is a required field.",_5d.requiredFieldCondition);
}
});
var _64=$A(_59.getElementsByTagName("select"));
_64.each(function(_65){
_65=$(_65);
if(_65.hasClassName(ct.validator.classNames.required)){
ct.validator.attachValidation(_65,_65.title+" is a required field.",ct.validator.validationConditions.requiredDropdownCondition);
}
});
var _66=$A(_59.getElementsByTagName("textarea"));
_66.each(function(_67){
_67=$(_67);
if(_67.hasClassName(ct.validator.classNames.required)){
ct.validator.attachValidation(_67,_67.title+" is a required field.",ct.validator.validationConditions.requiredFieldCondition);
}
if((_67.type.toLowerCase()==="textarea")&&_67.hasClassName(ct.validator.classNames.required)){
ct.validator.attachValidation(_67,_67.title+" cannot start with a space.",ct.validator.validationConditions.spaceCondition);
}
});
},_validateForm:function(_68){
var _69=[],val=ct.validator;
var _6b=$((this.nodeName.toLowerCase()==="form")?this:ct.dom.getParentByTagName(this,"form"));
$A(document.forms).each(function(_6c){
Form.getElements(_6c).each(ct.validator._hideErrorArrow);
});
_6b.ct_validationFailed=false;
var _6d=_6b.getElements();
ct.validator.errors=null;
if($("autocompleteOptionsContainer")){
_68.stop();
return;
}
_6d.each(function(_6e){
val._hideErrorArrow(_6e);
val._attachedFields.each(function(_6f){
if(_6f.field===_6e){
if(_6f.field.disabled===true){
return;
}
if(!_6f.condition(_6f.field)){
_69.push({field:_6e,message:_6f.errorMessage});
_6b.ct_validationFailed=true;
val._showErrorArrow(_6e);
val.errors=_69;
}
}
});
});
if(_6b.ct_validationFailed){
_68.stop();
_6b.errors=_69;
val._showFormErrors(_6b);
}else{
_6b.errors=null;
val._hideFormErrors(_6b);
}
},_showFormErrors:function(_70){
if(_70.readAttribute("errorblockid")&&$(_70.readAttribute("errorblockid"))){
var ol=$(_70.getAttribute("errorblockid")).getElementsByTagName("ol")[0];
while(ol.childNodes.length>0){
ol.removeChild(ol.childNodes[0]);
}
$A(_70.errors).each(function(_72){
ol.appendChild((new Element("li")).update(_72.message));
});
$(_70.readAttribute("errorblockid")).style.display="block";
}
},_hideFormErrors:function(_73){
if(_73.readAttribute("errorblockid")&&$(_73.readAttribute("errorblockid"))){
$(_73.readAttribute("errorblockid")).style.display="none";
}
},_showErrorArrow:function(_74){
if(!_74.previous()||!_74.previous().hasClassName("err_arrow")){
var _75=document.createElement("span");
$(_75).addClassName("err_arrow");
$(_75).innerHTML="&nbsp;";
_74.parentNode.insertBefore(_75,_74);
}
},_hideErrorArrow:function(_76){
if(_76.previous()&&_76.previous().hasClassName("err_arrow")){
_76.previous().remove();
}
}},selfLabels:{addSelfLabel:function(_77,_78){
_77=$(_77);
_77.labelText=_78;
_77.writeAttribute("selfLabel",_78);
_77.observe("focus",function(){
if($F(this)===_78){
this.value="";
$(this).removeClassName("selflabel");
}
});
_77.observe("blur",function(){
if($F(this)===""){
this.value=_78;
$(this).addClassName("selflabel");
}
});
setTimeout(function(){
if($F(_77)===""){
_77.value=_78;
$(_77).addClassName("selflabel");
}
},1000);
},parseDomTree:function(_79){
_79=$(_79?_79:document.body);
_79.getElementsBySelector("input[selfLabel]","textarea[selfLabel]").each(function(_7a){
ct.selfLabels.addSelfLabel(_7a,_7a.getAttribute("selfLabel"));
});
}},bubbles:{addBehavior:function(_7b,_7c,_7d){
_7d=_7d?_7d:{};
_7b=$(_7b);
_7b.href="javascript: void(0);";
var _7e;
_7b.observe("click",function(_7f){
var _80=false;
if($("ct_bubbleNode")){
if($("ct_bubbleNode").associatedLink==_7b){
_80=true;
}
ct.dom.removeIEIframeFix($("ct_bubbleNode"));
$("ct_bubbleNode").remove();
}
if(!_80){
var _81=new Element("a",{href:"javascript: void(0);"});
_81.update("close");
_81.observe("click",function(){
ct.dom.removeIEIframeFix($("ct_bubbleNode"));
$(_7e).remove();
});
_7e=new Element("div",{"class":"bubble",id:"ct_bubbleNode"});
_7e.associatedLink=_7b;
_7e.appendChild(new Element("div",{"class":"top_border"}));
_7e.childNodes[0].appendChild(_81);
var _82=new Element("div",{"class":"bubble_body"});
_7e.appendChild(_82);
_7e.appendChild(new Element("div",{"class":"bottom_border"}));
_82.innerHTML=(new Template(_7c)).evaluate(_7d);
_7e=$(_7e);
var pos=_7b.cumulativeOffset();
var _84;
if(self.innerWidth){
_84=self.innerWidth;
}else{
if(document.documentElement&&document.documentElement.clientWidth){
_84=document.documentElement.clientWidth;
}else{
if(document.body){
_84=document.body.clientWidth;
}
}
}
if(parseInt(pos[0],10)>(_84/2)){
_7e.addClassName("right_bubble");
_7e.removeClassName("left");
_7e.setStyle({left:"auto",right:(_84-parseInt(pos[0],10)-5)+"px",top:(parseInt(pos[1],10)-20)+"px"});
document.body.appendChild(_7e);
ct.dom.addIEIframeFix(_7e,[0,-20,0,10]);
}else{
_7e.addClassName("left");
_7e.removeClassName("right_bubble");
_7e.setStyle({right:"auto",left:(parseInt(pos[0],10)+55)+"px",top:(parseInt(pos[1],10)-20)+"px"});
document.body.appendChild(_7e);
ct.dom.addIEIframeFix(_7e,[0,-10,0,10]);
}
_7e.observe("click",function(_85){
_85.stop();
});
_7f.stop();
}
});
},parseDomTree:function(_86){
_86=$(_86?_86:document.body);
_86.getElementsBySelector("a[bubbleBlock]","a[bubbleblock]").each(function(_87){
if($(_87.getAttribute("bubbleBlock"))){
var _88=$(_87.getAttribute("bubbleBlock"));
var _89=_88.innerHTML;
_88.style.display="none";
ct.bubbles.addBehavior(_87,_89);
}else{
ct.console.error("Tried initializing a bubble block for link, but either the bubbleBlock attribute isn't specified, or it doesn't point to a valid block in the DOM.",_87);
}
});
}},dom:{getParentByTagName:function(_8a,_8b){
var _8c=Element.ancestors(_8a);
for(var i=0;i<_8c.length;i++){
if(_8c[i].nodeName.toLowerCase()===_8b.toLowerCase()){
return _8c[i];
}
}
return null;
},addIEIframeFix:function(_8e,_8f){
if(Prototype.Browser.IE&&!_8e._fixedIframe){
var _90=document.createElement("iframe");
_8f=_8f||[0,0,0,0];
_8e=$(_8e);
_90.frameBorder=0;
_90.scrolling="no";
_90.src="";
_90.style.position="absolute";
_90.style.width=_8e.getWidth()+_8f[1]+"px";
_90.style.height=_8e.getHeight()+_8f[2]+"px";
var _91=_8e.cumulativeOffset();
_90.style.top=_91[1]+_8f[0]+"px";
_90.style.left=_91[0]+_8f[3]+"px";
_8e._fixedIframe=_90;
document.body.appendChild(_90);
}
},removeIEIframeFix:function(_92){
if(_92._fixedIframe){
document.body.removeChild(_92._fixedIframe);
_92._fixedIframe=null;
}
}},forms:{rememberCurrentValues:function(_93){
$(_93).getElements().each(function(_94){
switch(_94.nodeName.toLowerCase()){
case "input":
switch(_94.type.toLowerCase()){
case "text":
_94.oldValue=$F(_94);
break;
case "checkbox":

}
break;
case "textarea":
_94.oldValue=$F(_94);
break;
case "select":
_94.oldValue=_94.selectedIndex;
break;
}
});
},restoreOldValues:function(_95){
$(_95).getElements().each(function(_96){
if(_96.oldValue){
switch(_96.nodeName.toLowerCase()){
case "input":
switch(_96.type.toLowerCase()){
case "text":
_96.value=_96.oldValue;
break;
case "checkbox":
default:
break;
}
break;
case "textarea":
_96.value=_96.oldValue;
break;
case "select":
_96.selectedIndex=_96.oldValue;
break;
}
}
});
},populate:function(_97,_98){
var _99=Form.getElements(_97);
if(_98.updateInfo==="true"){
Element.show("userInfoCheckbox");
}else{
Element.hide("userInfoCheckbox");
}
Object.keys(_98).each(function(key){
_99.each(function(_9b){
if(_9b.id===key){
if(_9b.nodeName.toLowerCase()==="input"){
switch(_9b.type.toLowerCase()){
case "text":
case "password":
case "hidden":
_9b.value=_98[key];
break;
case "checkbox":
}
}else{
if(_9b.nodeName.toLowerCase()==="select"){
for(var i=0;i<_9b.options.length;i++){
if(_9b.options[i].value.toLowerCase()===_98[key].toString().toLowerCase()){
_9b.selectedIndex=i;
break;
}
}
}else{
if(_9b.nodeName.toLowerCase()==="textarea"){
_9b.value=_98[key];
}
}
}
if($(_9b).hasClassName("selflabel")){
$(_9b).removeClassName("selflabel");
}
}
});
});
},addHiddenField:function(_9d,_9e,_9f){
if(_9d[_9e]){
_9d[_9e].value=_9f;
}else{
_9d.appendChild(new Element("input",{type:"hidden",value:_9f,name:_9e}));
}
}},domIsLoaded:false,stringFormatting:{stripAlphaChars:function(_a0){
var _a1=_a0+"";
return _a1.replace(/[^0-9]/g,"");
},formatForCurrency:function(_a2,_a3){
var _a4="",num,dec;
if(_a3){
num=parseFloat(_a2);
num=parseInt(_a2*100,10)/100+"";
dec=num.split(".").length>1?num.split(".")[1]:"";
num=num.split(".")[0];
while(dec.length<2){
dec+="0";
}
}else{
num=parseInt(Math.round(_a2),10)+"";
}
if(num.length>3){
_a4=num.substring(num.length-3,num.length);
num=num.substring(0,num.length-3);
while(num.length>2){
_a4=num.substring(num.length-2,num.length)+","+_a4;
num=num.substring(0,num.length-2);
}
num+=","+_a4;
}
if(_a3){
num+="."+dec;
}
return "Rs. "+num;
}},stickyBlocks:{_definedStickyBlocks:$A([]),makeBlockSticky:function(_a7){
ct.stickyBlocks._definedStickyBlocks.push(_a7);
ct.stickyBlocks.recalculateTop(_a7);
_a7.style.zIndex="2";
},recalculateTop:function(_a8){
_a8.startTop=$(_a8).cumulativeOffset().top;
},parseDomTree:function(_a9){
_a9=$(_a9?_a9:document.body);
$A(_a9.select(".stickyBlock")).each(function(_aa){
ct.stickyBlocks.makeBlockSticky(_aa);
});
function stickyBlockWindowScrollHandler(){
var _ab;
if(self.pageYOffset){
_ab=self.pageYOffset;
}else{
if(document.documentElement&&document.documentElement.scrollTop){
_ab=document.documentElement.scrollTop;
}else{
if(document.body){
_ab=document.body.scrollTop;
}
}
}
$A(ct.stickyBlocks._definedStickyBlocks).each(function(_ac){
var _ad;
if(_ab<_ac.startTop){
_ad=0;
}else{
if(_ab<_ac.cumulativeOffset().top){
_ad=_ab-_ac.startTop;
}else{
if((_ac.getDimensions().height<document.viewport.getHeight())||(_ab>(_ac.cumulativeOffset().top+_ac.getDimensions().height))){
_ad=_ab-_ac.startTop;
}else{
_ad=_ac.cumulativeOffset().top;
return;
}
}
}
_ac.setStyle({marginTop:_ad+"px"});
});
}
Event.stopObserving(window,"scroll",stickyBlockWindowScrollHandler);
Event.observe(window,"scroll",stickyBlockWindowScrollHandler);
}},helperFunctions:{showCVVHintCc:function(_ae,_af){
$(_af).style.display="block";
switch(_ae.toLowerCase()){
case "3":
$(_af).innerHTML="<img src='/images/cvv_images/cc_amex.gif' alt='American Express Verification Code' />";
break;
default:
$(_af).innerHTML="<img src='/images/cvv_images/cvv_help.gif' alt='Credit Card Verification Code' />";
break;
}
},showCVVHintDc:function(_b0,_b1){
$(_b1).innerHTML="<img src='/images/cvv_images/cc_visa.gif' alt='Visa Verification Code' />";
},toHomeForm:function(_b2,_b3){
ct.cookies.erase("tab");
ct.cookies.create("tab",_b2,365);
if(_b3){
window.location.href="http://"+location.host+"/index.shtml";
}
return false;
},addRooms:function(_b4,_b5,_b6){
var _b7=new Template("<tr class=\"rm_info\"><td></td><td class=\"rm_num\">Room #{num}:</td><td><select id=\"adults#{num}\" name=\"adults#{num}\" size=\"1\" onchange=\"alterChildren('#{num}')\"><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option></select></td><td><select id=\"children#{num}\" name=\"children#{num}\" size=\"1\"><option value=\"0\">0</option><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option></select></td></tr>");
var _b8=new Template("<tr class=\"rm_info\"><td colspan=\"2\"><table><tr><td colspan=\"2\" class=\"room_no\"><label class=\"required\">Room #{num}:</label></td></tr><tr><td><label for=\"adults1\">Adults <span class=\"weak\">(12+ yrs)</span></label><select id=\"adults#{num}\" name=\"adults#{num}\" size=\"1\" onchange=\"alterChildren('#{num}')\"><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option><option value=\"4\">4</option></select></td><td><label for=\"children1\">Children <span class=\"weak\">(0-11 yrs)</span></label><select id=\"children#{num}\" name=\"children#{num}\" size=\"1\"><option value=\"0\">0</option><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option></select></td></tr></table></td></tr>");
var num=parseInt($F(_b4),10);
var _ba=document.getElementById("dynamic_rooms");
var tr,td,_bd,_be,_bf;
var _c0=document.getElementsByClassName("rm_info",_ba);
var _c1=_c0.length+1;
var _c2;
var _c3;
if(_b5=="include"){
_c3=_b8;
}else{
_c3=_b7;
}
if(num>_c1){
for(var g=_c1+1;g<=num;g++){
_c2=_c3.evaluate({num:g});
if(_b6){
var _c5="";
for(var i=0;i<=_b6;i++){
_c5+="<td></td>";
}
_c2=_c2.replace("<td></td>",_c5);
}
new Insertion.Bottom(_ba,_c2);
}
}else{
if(num<_c1){
for(var h=_c1;h>num;h--){
Element.remove(_c0[h-2]);
}
}
}
},alterChildren:function(num){
var _c9=$("children"+num);
var _ca=_c9.getElementsByTagName("option");
var _cb=parseInt($F("adults"+num),10);
var _cc=_ca.length;
for(var q=0;q<_cc;q++){
if(parseInt(_ca[q].value,10)+_cb>4){
_c9.options[q]=null;
--_cc;
--q;
}
}
var _ce;
if((q-1)<(_ce=4-_cb)){
for(q;q<=_ce;q++){
_c9.options[q]=new Option(q,q);
}
}
},showModalDialog:function(_cf,_d0,_d1,_d2){
var _d3;
if(document.all){
if(self.pageYOffset){
_d3=self.pageYOffset;
}else{
if(document.documentElement&&document.documentElement.scrollTop){
_d3=document.documentElement.scrollTop;
}else{
if(document.body){
_d3=document.body.scrollTop;
}
}
}
function prepareIE(_d4,_d5){
bod=window.top.document.getElementsByTagName("body")[0];
bod.style.height=_d4;
bod.style.overflow=_d5;
htm=window.top.document.getElementsByTagName("html")[0];
htm.style.height=_d4;
htm.style.overflow=_d5;
}
function toggleSelects(_d6){
selects=window.top.document.getElementsByTagName("select");
for(i=0;i<selects.length;i++){
selects[i].style.visibility=_d6;
}
}
prepareIE("100%","hidden");
window.scrollTo(0,0);
toggleSelects("hidden");
}
function resizeHandler(){
if(document.all){
try{
$("TranslucentLayer").style.height=document.body.offsetHeight+"px";
}
catch(e){
}
}
_d7.style.left=((document.body.offsetWidth-_d7.offsetWidth)/2)+"px";
}
Event.observe(window,"resize",resizeHandler);
function closePopup(){
if(document.all){
window.top.scrollTo(0,_d3);
prepareIE("auto","auto");
toggleSelects("visible");
}
Event.stopObserving(window,"resize",resizeHandler);
window.top.document.getElementById("TranslucentLayer").remove();
window.top.document.getElementById("ModalFrame").remove();
}
ct.helperFunctions.hideModalDialog=closePopup;
var _d8=new Element("div",{id:"TranslucentLayer"});
$(_d8).observe("click",closePopup);
var _d7=new Element("div",{id:"ModalFrame"});
var _d9=new Element("div",{"class":"topBorder"});
_d9.appendChild(new Element("a",{id:"close",href:"javascript: window.top.ct.helperFunctions.hideModalDialog();",title:"Close window"}));
_d7.appendChild(_d9);
_d7.appendChild(new Element("iframe",{src:_cf,frameborder:0,framespacing:0,width:"100%",height:"100%",scrolling:_d2?"no":"yes"}));
_d7.setStyle({width:(_d0||"700px"),height:(_d1||"70%")});
document.body.appendChild(_d8);
document.body.appendChild(_d7);
_d7.style.left=((document.body.offsetWidth-_d7.offsetWidth)/2)+"px";
var _da=_d7.getHeight();
var _db=$(document).viewport.getHeight();
_d7.setStyle({top:(_db-_da)*100/(2*_db)+"%"});
_d8.style.height=document.body.offsetHeight+"px";
},openPopup:function(_dc){
var _dd=document.viewport.getDimensions();
_dc=_dc||{};
_dc.height=_dc.height||(_dd.height/2);
_dc.width=_dc.width||(_dd.width/2);
_dc.left=_dc.left||((_dd.width-_dc.width)/2);
_dc.top=_dc.top||((_dd.height-_dc.height)/2);
_dc.toolbar=_dc.toolbar?1:0;
_dc.location=_dc.location?1:0;
_dc.status=_dc.status?1:0;
_dc.menubar=_dc.menubar?1:0;
_dc.scrollbars=_dc.scrollbars?1:0;
_dc.resizable=_dc.resizable?1:0;
window.open(_dc.url||"about:blank","wnd"+Math.round(Math.random()*1000),"toolbar="+_dc.toolbar+",location="+_dc.location+",status="+_dc.status+",menubar="+_dc.menubar+",scrollbars="+_dc.scrollbars+",resizable="+_dc.resizable+",width="+_dc.width+",height="+_dc.height+",left="+_dc.left+",top="+_dc.top);
},prefetchResources:function(){
$$("link[rel=prefetch]").each(function(_de){
new Ajax.Request(_de.href,{method:"get"});
});
},showThawteLogo:function(_df){
var _e0=new Element("iframe",{src:"/includes/thwarte-logo.html",frameBorder:0,width:"0",height:"0",scrolling:"no"});
function resizeIframe(){
var _e1=_e0.contentWindow.document||_e0.document;
_e0.style.width="100%";
_e0.style.height=_e1.body.scrollHeight+"px";
}
_e0.onload=resizeIframe;
_e0.onreadystatechange=function(){
if(_e0.readyState==="complete"){
resizeIframe();
}
};
_df.appendChild(_e0);
}},genericBlocks:{consentBlock:function(_e2){
ct.validator.attachValidation($("consent"),"Please go through the booking policies and terms that are linked from below. Then mark the checkbox if you agree, we know it&rsquo;s boring but it&rsquo;s important.",function(_e3){
return (_e3.checked);
});
},signupBlock:function(_e4){
ct.validator.attachValidation($("confirmUname"),"The email addresses you have entered do not match. Please re-check these fields.",function(){
if($F("confirmUname")===""||$F("newUname")===""){
return true;
}
return ($F("confirmUname")===$F("newUname"));
});
},paymentBlock:function(_e5){
$A(document.getElementsByName("card_type")).each(function(_e6){
Event.observe(_e6,"click",function(){
ct.helperFunctions.showCVVHintCc($F(_e6),"cvvImageCc");
});
if($("vTabs").getElementsByTagName("a")[1]){
Event.observe(_e6,"click",function(){
if($F(_e6)==3){
$("cc_disclaimer").style.display="block";
$("dt_cc_disclaimer").style.display="block";
$("cc_disclaimer").innerHTML="We accept only American Express cards issued in India";
}else{
if($F(_e6)==4){
$("cc_disclaimer").style.display="block";
$("dt_cc_disclaimer").style.display="block";
$("cc_disclaimer").innerHTML="We accept only Citibank Diners cards issued in India";
}else{
$("cc_disclaimer").style.display="none";
$("dt_cc_disclaimer").style.display="none";
}
}
});
}else{
$("cc_disclaimer").style.display="block";
$("dt_cc_disclaimer").style.display="block";
$("cc_disclaimer").innerHTML="We accept only credit cards issued in India";
}
});
var _e7=$("vTabs").select("li");
_e7.each(function(tab,_e9){
if(_e9===0){
$(tab).addClassName("active");
$(tab.id.split("_tab")[0]).style.display="block";
}
$(tab.getElementsByTagName("a")[0]).observe("click",function(){
_e7.each(function(_ea){
if(_ea===tab){
$(_ea).select("a")[0].addClassName("active");
$(_ea.id.split("_tab")[0]).style.display="block";
}else{
$(_ea).select("a")[0].removeClassName("active");
$(_ea.id.split("_tab")[0]).style.display="none";
}
});
});
});
$("CCNotAccepted","DCNotAccepted").invoke("hide");
if(_e5.hasClassName("withVerification")){
function performVerification(_eb){
var _ec=Event.findElement(_eb,"form");
if(!_ec.ct_validationFailed){
var _ed="product="+_e5.readAttribute("product")+"&";
var _ee;
if(_ec.id=="credit_card"){
var _ef;
$A(document.getElementsByName("card_type")).each(function(_f0){
if(_f0.checked){
_ef=$F(_f0);
}
});
_ed+="payment_mode=C&card_type="+_ef+"&card_number="+$F("creditCardNumber");
_ee=$("CCNotAccepted");
}else{
_ed+="payment_mode=D&issuing_bank="+$F("issuingBank")+"&card_number="+$F("debitCardNumber");
_ee=$("DCNotAccepted");
}
_ed+="&ts="+ct.dates.getTimestamp();
function failureHandler(){
_ee.style.display="block";
$(_ec).enable();
}
$("progress_img").style.display="block";
_ee.style.display="none";
$(_ec).disable();
new Ajax.Request(_e5.readAttribute("verificationurl"),{method:"get",parameters:_ed,onSuccess:function(_f1){
switch(_f1.responseText.toLowerCase()){
case "true":
$(_ec).enable();
_ec.submit();
break;
default:
failureHandler();
break;
}
$("progress_img").style.display="none";
},onFailure:function(_f2){
$("progress_img").style.display="none";
$(_ec).enable();
_ec.submit();
}});
Event.stop(_eb);
}
}
$("credit_card").observe("submit",performVerification);
if($("debit_card")){
$("debit_card").observe("submit",performVerification);
}
$A(["credit_card","debit_card","net_banking"]).each(function(_f3){
if($(_f3)){
$(_f3).observe("submit",function(evt){
ct.forms.addHiddenField(evt.findElement("form"),"redeem",($("cleartripCashY").checked?"true":"false"));
});
}
});
if($("net_banking")&&Prototype.Browser.IE){
$("net_banking").observe("submit",function(evt){
$("net_banking").submit();
});
}
}
},addPaymentBehaviorFromJSON:function(_f6,_f7){
_f6.jsonData=_f7;
$("cleartripCashApplicable").innerHTML=ct.stringFormatting.formatForCurrency(_f6.jsonData.lp);
if(!_f6.eventsAttached){
var _f8=$A(["cc","dc","nb"]),_f9;
function paymentModeChanged(_fa){
_fa=(_f8.indexOf(_fa)!==-1)?_fa:_f9;
_f9=_fa;
var _fb=getCurrentValue(_fa),_fc=_f6.jsonData.tot,_fd=$A([]),_fe;
if(!_f6.jsonData.err&&_f6.jsonData.lp&&$("cleartripCashY").checked){
_fc-=_f6.jsonData.lp;
_fe=true;
if($("rtLoyaltyLabel")){
$("rtLoyaltyLabel","rtLoyaltyAmount").invoke("show");
$("rtLoyaltyAmount").innerHTML="("+ct.stringFormatting.formatForCurrency(_f6.jsonData.lp)+")";
_fd.push("rtLoyaltyLabel");
_fd.push("rtLoyaltyAmount");
}
}else{
if($("rtLoyaltyLabel")){
_fe=false;
$("rtLoyaltyLabel","rtLoyaltyAmount").invoke("hide");
}
}
if(_fb===null){
if($("rtProcessingLabel")){
$("rtProcessingLabel","rtProcessingAmount").invoke("hide");
}
$("ProcessingFee").hide();
}else{
if($("rtProcessingLabel")){
if(_f6.jsonData[_fa][_fb].pc===0){
$("rtProcessingLabel","rtProcessingAmount").invoke("hide");
}else{
$("rtProcessingLabel","rtProcessingAmount").invoke("show");
$("rtProcessingAmount").innerHTML=ct.stringFormatting.formatForCurrency(_f6.jsonData[_fa][_fb][(_fe?"wl":"xl")],true);
_fd.push("rtProcessingLabel");
_fd.push("rtProcessingAmount");
}
}
$("processingFeeAmount").innerHTML=_f6.jsonData[_fa][_fb].pc;
if(_f6.jsonData[_fa][_fb].pc===0){
$("ProcessingFee").hide();
}else{
$("ProcessingFee").show();
_fd.push("processingFeeAmount");
}
_fc+=_f6.jsonData[_fa][_fb][(_fe?"wl":"xl")];
}
_fc=Math.round(_fc);
if($("rtTotalLabel")){
_fd.push("rtTotalLabel");
_fd.push("rtTotalAmount");
$("rtTotalAmount").innerHTML=ct.stringFormatting.formatForCurrency(_fc);
}
$("formTotal").innerHTML=ct.stringFormatting.formatForCurrency(_fc);
_fd.push("formTotal");
if(window["Effect"]){
_fd.each(function(_ff){
new Effect.Highlight($(_ff));
});
}
}
function getCurrentValue(mode){
var _101;
switch(_f8.indexOf(mode)){
case 0:
$A(document.getElementsByName("card_type")).each(function(_102){
if(_102.checked){
_101=$F(_102);
}
});
break;
case 1:
_101=$F("issuingBank");
_101=(_101==="0")?null:_101;
break;
case 2:
$("net_banking").select("input[name=issuing_bank]").each(function(_103){
if(_103.checked){
_101=$F(_103);
}
});
break;
}
return _101;
}
$("vTabs").select("li a").each(function(tab,_105){
$(tab).observe("click",function(){
paymentModeChanged(_f8[_105]);
});
if($(ct.dom.getParentByTagName(tab,"li")).hasClassName("active")){
paymentModeChanged(_f8[_105]);
}
});
$A(document.getElementsByName("card_type")).invoke("observe","click",function(){
paymentModeChanged(_f8[0]);
});
$("issuingBank").observe("change",function(){
paymentModeChanged(_f8[1]);
});
$("net_banking").select("input[name=issuing_bank]").invoke("observe","click",function(_106){
paymentModeChanged(_f8[2]);
});
$("cleartripCashY","cleartripCashN").invoke("observe","click",paymentModeChanged);
if(_f6.jsonData.lp===0||_f6.jsonData.err){
$("CleartripCash").hide();
$("cleartripCashN").checked=false;
}else{
$("CleartripCash").show();
$("cleartripCashY").checked=true;
}
$("paymentSubmit").observe("click",function(){
var _107=$(["credit_card","debit_card","net_banking"][_f8.indexOf(_f9)]),evt;
if(document.createEvent){
evt=document.createEvent("HTMLEvents");
evt.initEvent("submit",true,true);
evt.eventName="submit";
}else{
evt=document.createEventObject();
evt.eventType="onsubmit";
evt.eventName="submit";
}
if(document.createEvent){
_107.dispatchEvent(evt);
}else{
_107.fireEvent(evt.eventType,evt);
}
});
_f6.eventsAttached=true;
}
},flightForm:function(_109){
function isInternational(){
for(var i=0,_10b=ct.airports.all.length;i<_10b;i++){
if(ct.airports.all[i].k===$("to").value.toUpperCase()){
return false;
}
}
return true;
}
function modifyDropdowns(){
var _10c=$F("adults"),_10d=$F("children"),_10e=$F("infants"),i,_110;
$A($("children").childNodes).each(Element.remove);
$A($("infants").childNodes).each(Element.remove);
for(i=0;i<=_10c;i++){
_110=new Element("option",{value:i}).update(i);
if(_10e==i){
_110.setAttribute("selected","selected");
}
$("infants").appendChild(_110);
}
for(i=0;i<(10-_10c);i++){
_110=new Element("option",{value:i}).update(i);
if(_10d==i){
_110.setAttribute("selected","selected");
}
$("children").appendChild(_110);
}
}
function prepopulateForm(){
var _111=ct.cookies.read("flight_sr");
if(_111){
_111=_111.toQueryParams("&");
if((_111.rnd_one==="R")||(_111.rnd_one==="C")){
_109.depart_date.value=_111.depart_date;
_109.return_date.value=_111.return_date;
$("rnd_trip").checked=true;
makeRoundTrip();
}else{
if(_111.rnd_one==="O"){
$("one_way").checked=true;
makeOneWay();
_109.depart_date.value=_111.depart_date;
}
}
$(_109.from).writeAttribute("preselect",_111.from);
_109.destination.value=_111.destination||"";
_109.to.value=_111.to||"";
_109.adults.value=_111.adults;
_109.childs.value=_111.childs;
_109.infants.value=_111.infants;
if(_111.flexi_search){
if($("flexi_search")){
_109.flexi_search.checked=true;
}
}
if($("combo")&&_111.rnd_one==="C"){
$("combo").checked=true;
_109.num_rooms_combo.value=_111.num_rooms_combo;
enableComboSearch();
_109.action="";
}else{
if($("combo")){
disableComboSearch();
}
_109.action="/flights/search";
}
}else{
_109.action="/flights/search";
}
}
$("adults","children","infants").each(function(_112){
$A(_112.childNodes).each(Element.remove);
var _113=(_112.id==="adults")?1:0;
for(var i=_113;i<10;i++){
_112.appendChild(new Element("option",{value:i}).update(i));
}
});
$("adults").observe("change",modifyDropdowns);
if(!_109.hasClassName("dontprepopulate")){
prepopulateForm();
modifyDropdowns();
}
$(_109).observe("submit",function(_115){
if(!(_109.errors&&_109.errors.length>0)&&!$(_109).hasClassName("noCookie")){
if($("combo")){
$("combo").value="C";
ct.cookies.create("flight_sr",$(_109).serialize(),365);
$("combo").value="R";
}else{
ct.cookies.create("flight_sr",$(_109).serialize(),365);
}
}
if(isInternational()){
if(_109.hasClassName("external_offers")){
_109.action="http://www.journeymart.com/flights/international/search";
}else{
_109.action="/flights/international/search";
}
}else{
if(_109.hasClassName("external_offers")){
_109.action="http://www.journeymart.com/flights/search";
}else{
_109.action="/flights/search";
}
}
});
if($("adv_link")){
$("adv_link").observe("click",function(_116){
setAdvCookie();
$("advanced_search1").toggle();
$("adv_link").toggleClassName("toggle_open");
$("adv_link").toggleClassName("toggle_closed");
});
}
(function(){
var _117=ct.cookies.read("adv1");
if($("adv_link")&&_117==="off"&&$("advanced_search1").style.display==="none"){
$("advanced_search1").toggle();
$("adv_link").toggleClassName("toggle_open");
$("adv_link").toggleClassName("toggle_closed");
}
})();
var _118=ct.validator.attachValidation;
_118($("destination_autocomplete"),"Please choose a destination that is different from your origin.",function(){
return $F("from")!==$F("to");
});
_118($("infants"),"You cannot have more infants than adults travelling on a flight.",function(){
return $F("infants")<=$F("adults");
});
if($("combo")){
_118($("combo_rooms"),"Please choose an appropriate number of rooms for your hotel. Most hotels allow only four persons (adults or children) per room.",function(){
if($("combo")&&$("combo").checked){
return (((parseInt($F("adults"),10)+parseInt($F("children"),10))/parseInt($F("combo_rooms"),10))<=4);
}else{
return true;
}
});
_118($("adults"),"You need to have at least one adult in each room that you book.",function(){
if($("combo")&&$("combo").checked){
return (parseInt($F("adults"),10)>=parseInt($F("combo_rooms"),10));
}else{
return true;
}
});
_118($("dpt_date"),"Please choose a departure date after "+$("dpt_date").readAttribute("mindate"),function(_119){
if($("combo")&&$("combo").checked){
var _11a=ct.dates.fromString($("dpt_date").readAttribute("mindate"));
_11a.setDate(_11a.getDate()+1);
return ct.validator.validationConditions.validateMinDate(_119,ct.dates.toString(_11a));
}else{
return true;
}
});
}
_118($("dpt_date"),"Please choose a departure date at least two days from today for international flights",function(){
if(!isInternational()){
return true;
}else{
if(!ct.dates.isValidDateString($F("dpt_date"))){
return true;
}else{
var _11b=ct.dates.fromString($("dpt_date").readAttribute("mindate"));
_11b.setDate(_11b.getDate()+1);
return (ct.dates.fromString($F("dpt_date"))-_11b)>0;
}
}
});
function toggleModifySearch(){
$("modify_search_open").toggle();
$("mod_link").toggleClassName("toggle_open");
$("mod_link").toggleClassName("toggle_closed");
ct.stickyBlocks.recalculateTop($("filter"));
}
$("rnd_trip").observe("click",makeRoundTrip);
$("one_way").observe("click",makeOneWay);
if($("combo")){
$("combo").observe("click",makeCombo);
}
if($("mod_link")){
$("mod_link").observe("click",toggleModifySearch);
}
if($("close_link")){
$("close_link").observe("click",toggleModifySearch);
}
if(!ct.genericBlocks.flightForm.helpers){
ct.genericBlocks.flightForm.helpers={};
}
var _11c=ct.genericBlocks.flightForm.helpers;
function makeOneWay(){
$("rtn_date").setAttribute("disabled","disabled");
$("ret_time").setAttribute("disabled","disabled");
if($("combo")){
disableComboSearch();
}
_109.action="/flights/search";
}
function makeRoundTrip(){
$("rtn_date").removeAttribute("disabled");
$("ret_time").removeAttribute("disabled");
if($("combo")){
disableComboSearch();
}
_109.action="/flights/search";
}
function makeCombo(){
$("rtn_date").removeAttribute("disabled");
$("ret_time").removeAttribute("disabled");
enableComboSearch();
_109.action="/makeyourtrip/search";
}
_11c.makeOneWay=makeOneWay;
_11c.makeRoundTrip=makeRoundTrip;
_11c.makeCombo=makeCombo;
function disableComboSearch(){
$("flexi_search").show();
if($("NonResident")){
$("air_nri_message").style.display="none";
if($("offers_1")){
$("offers_1").style.display="block";
}
if($("air_nri_message")){
$("air_nri_message").style.display="none";
}
}
$("button_flight_search").show();
$("button_combo_search").hide();
if($("combo_room")){
$("combo_room").hide();
}
$("rtn_date").removeAttribute("offsetdays");
}
function enableComboSearch(){
$("flexi_search").hide();
if($("NonResident")){
if($("NonResident").checked){
$("air_nri_message").style.display="block";
if($("offers_1")){
$("offers_1").style.display="none";
}else{
$("air_nri_message").style.display="block";
}
$(_109).disable();
$("NonResident").enable();
Element.hide("button_combo_search");
}else{
$("button_combo_search").show();
}
}
$("rtn_date").setAttribute("offsetdays",1);
$("button_flight_search").hide();
$("combo_room").show();
}
function setAdvCookie(){
var _11d=ct.cookies.read("adv1");
if(_11d===""||_11d===null||_11d==="off"){
ct.cookies.erase("adv1");
ct.cookies.create("adv1","on",365);
}else{
ct.cookies.erase("adv1");
ct.cookies.create("adv1","off",365);
}
}
function handleNRIs(){
var box=$("NonResident");
if($("combo").checked){
if(box.checked){
if($("NonResident")){
if($("offers_1")){
$("offers_1").style.display="none";
}
if($("air_nri_message")){
$("air_nri_message").style.display="none";
}
$("air_nri_message").style.display="block";
$(_109).disable();
$("NonResident").enable();
}
Element.hide("button_combo_search");
}else{
if($("NonResident")){
if($("offers_1")){
$("offers_1").style.display="block";
}
if($("air_nri_message")){
$("air_nri_message").style.display="block";
}
$("air_nri_message").style.display="none";
$(_109).enable();
}
Element.show("button_combo_search");
}
}
}
},hotelForm:function(_11f){
ct.validator.attachValidation($("rooms"),"Please check the number of rooms you have chosen.",function(){
var _120=parseInt($F("rooms"),10);
for(var i=0;i<_120;i++){
if($("adults"+(i+1))===null||$("children"+(i+1))===null){
return false;
}
}
return true;
});
if(!_11f.hasClassName("dontprepopulate")){
(function(){
if(ct.cookies.read("hotel_sr")&&!(_11f.id==="fetch_rates")){
var _122=ct.cookies.read("hotel_sr").toQueryParams("&");
_11f.city.value=_122.city;
_11f.dest_code.value=_122.dest_code;
_11f.chk_in.value=_122.chk_in;
_11f.chk_out.value=_122.chk_out;
$("rooms").value=_122.num_rooms;
ct.helperFunctions.addRooms(_11f.num_rooms);
switch(_122.num_rooms){
case "1":
case "2":
case "3":
case "4":
$("adults1").value=_122.adults1;
$("children1").value=_122.children1;
if(_122.num_rooms=="1"){
break;
}
case "2":
case "3":
case "4":
$("adults2").value=_122.adults2;
$("children2").value=_122.children2;
if(_122.num_rooms=="2"){
break;
}
case "3":
case "4":
$("adults3").value=_122.adults3;
$("children3").value=_122.children3;
if(_122.num_rooms=="3"){
break;
}
case "4":
$("adults4").value=_122.adults4;
$("children4").value=_122.children4;
break;
}
}
})();
}
$(_11f).observe("submit",function(_123){
if(!_11f.errors){
if($("price_form")){
_11f.action=$("price_form").value;
}else{
_11f.action="/hotels/search";
}
if(_11f.readAttribute("campaign")){
_11f.action+="?campaign="+_11f.readAttribute("campaign");
}
if($F("dest_code")=="WCT"||$("NonResident2").checked){
var _124=$("checkin_date").value.split("/");
$("doa_dd").value=_124[0];
$("doa_mm").value=_124[1];
$("doa_yy").value=_124[2];
var _125=$("checkout_date").value.split("/");
$("dod_dd").value=_125[0];
$("dod_mm").value=_125[1];
$("dod_yy").value=_125[2];
var _126=$F("rooms");
var _127=0;
var _128=0;
for(var a=0;a<parseInt(_126,10);a++){
_127+=parseInt(_11f["adults"+(a+1)].value,10);
_128+=parseInt(_11f["children"+(a+1)].value,10);
}
$("num_adults").value=Math.ceil(_127/parseInt(_126,10));
$("num_children").value=Math.ceil(_128/parseInt(_126,10));
}
ct.cookies.create("hotel_sr",$(_11f).serialize());
if(_11f.id==="fetch_rates"){
$("wait_img").show();
Event.stop(_123);
new Ajax.Request("/hotels/roomrates",{method:"get",parameters:$(_11f).serialize()+"&ts="+ct.dates.getTimestamp(),onSuccess:function(_12a){
_11f.enable();
$("wait_img").hide();
if(_12a.responseText==="NO HOTELS"){
$("RoomRatesTable").innerHTML="<p><strong>Sorry, we couldn't find any available rooms for the dates you picked.</p></strong><p>You can try again with different dates.</p>";
}else{
$("RoomRatesTable").innerHTML=_12a.responseText;
_11f.hide();
}
if(window["Effect"]){
new Effect.Appear("RoomRatesTable");
}else{
$("RoomRatesTable").style.display="block";
}
},onFailure:function(_12b){
$("fetch_rates").enable();
$("wait_img").hide();
alert("Sorry, we weren't able to get room rates for this hotel at this time. Please try again later.");
}});
_11f.disable();
}
}
});
function toggleModifySearch(){
$("modify_search_open").toggle();
$("mod_link").toggleClassName("toggle_open");
$("mod_link").toggleClassName("toggle_closed");
ct.stickyBlocks.recalculateTop($("filter"));
}
if($("mod_link")){
$("mod_link").observe("click",toggleModifySearch);
}
if($("close_link")){
$("close_link").observe("click",toggleModifySearch);
}
},parseDomTree:function(_12c){
_12c=_12c||document.body;
$A(document.getElementsByClassName("consent")).each(ct.genericBlocks.consentBlock);
$A(document.getElementsByClassName("paymentBlock")).each(ct.genericBlocks.paymentBlock);
$A(document.getElementsByClassName("loginBlock")).each(ct.genericBlocks.signupBlock);
if($("AirSearch")){
ct.genericBlocks.flightForm($("AirSearch"));
}
if($("modify_air_search")){
ct.genericBlocks.flightForm($("modify_air_search"));
}
if($("home_hotels")){
ct.genericBlocks.hotelForm($("home_hotels"));
}
if($("hotelModifySearch")){
ct.genericBlocks.hotelForm($("hotelModifySearch"));
}
if($("fetch_rates")){
ct.genericBlocks.hotelForm($("fetch_rates"));
}
}},airports:{featured:[{k:"BLR",v:"Bangalore"},{k:"BOM",v:"Bombay"},{k:"CCU",v:"Calcutta"},{k:"DEL",v:"Delhi"},{k:"GOI",v:"Goa"},{k:"HYD",v:"Hyderabad"},{k:"MAA",v:"Madras"},{k:"PNQ",v:"Pune"}],all:[{k:"IXA",v:"Agartala"},{k:"AGX",v:"Agatti Island"},{k:"AGR",v:"Agra"},{k:"AMD",v:"Ahmedabad"},{k:"AJL",v:"Aizawl"},{k:"IXD",v:"Allahabad"},{k:"ATQ",v:"Amritsar"},{k:"IXU",v:"Aurangabad"},{k:"IXB",v:"Bagdogra"},{k:"BLR",v:"Bengaluru"},{k:"BLR",v:"Bangalore"},{k:"IXG",v:"Belgaum"},{k:"BEP",v:"Bellary"},{k:"BHU",v:"Bhavnagar"},{k:"BHO",v:"Bhopal"},{k:"BBI",v:"Bhubaneswar"},{k:"BHJ",v:"Bhuj"},{k:"BOM",v:"Bombay"},{k:"CCU",v:"Calcutta"},{k:"CCJ",v:"Calicut"},{k:"IXC",v:"Chandigarh"},{k:"MAA",v:"Chennai"},{k:"COK",v:"Cochin"},{k:"CJB",v:"Coimbatore"},{k:"DED",v:"Dehradun"},{k:"DEL",v:"Delhi"},{k:"DHM",v:"Dharamsala"},{k:"DIB",v:"Dibrugarh"},{k:"DMU",v:"Dimapur"},{k:"DIU",v:"Diu"},{k:"GAY",v:"Gaya"},{k:"GOI",v:"Goa"},{k:"GOP",v:"Gorakhpur"},{k:"GAU",v:"Guwahati"},{k:"GWL",v:"Gwalior"},{k:"HBX",v:"Hubli"},{k:"HYD",v:"Hyderabad"},{k:"IMF",v:"Imphal"},{k:"IDR",v:"Indore"},{k:"JLR",v:"Jabalpur"},{k:"JAI",v:"Jaipur"},{k:"JSA",v:"Jaisalmer"},{k:"IXJ",v:"Jammu"},{k:"JGA",v:"Jamnagar"},{k:"IXW",v:"Jamshedpur"},{k:"JDH",v:"Jodhpur"},{k:"JRH",v:"Jorhat"},{k:"IXH",v:"Kailashahar"},{k:"IXY",v:"Kandla"},{k:"KNU",v:"Kanpur"},{k:"KAT",v:"Katra"},{k:"HJR",v:"Khajuraho"},{k:"COK",v:"Kochi"},{k:"KLH",v:"Kolhapur"},{k:"CCU",v:"Kolkata"},{k:"KTU",v:"Kota"},{k:"CCJ",v:"Kozhikode"},{k:"KUU",v:"Kulu"},{k:"IXL",v:"Leh"},{k:"IXI",v:"Lilabari"},{k:"LKO",v:"Lucknow"},{k:"LUH",v:"Ludhiana"},{k:"MAA",v:"Madras"},{k:"IXM",v:"Madurai"},{k:"IXE",v:"Mangalore"},{k:"BOM",v:"Mumbai"},{k:"NAG",v:"Nagpur"},{k:"DEL",v:"New Delhi"},{k:"IXP",v:"Pathankot"},{k:"PAT",v:"Patna"},{k:"PNQ",v:"Poona"},{k:"PBD",v:"Porbandar"},{k:"IXZ",v:"Port Blair"},{k:"PNQ",v:"Pune"},{k:"BEK",v:"Puttaparthi"},{k:"RPR",v:"Raipur"},{k:"RJA",v:"Rajahmundry"},{k:"RAJ",v:"Rajkot"},{k:"IXR",v:"Ranchi"},{k:"SHL",v:"Shillong"},{k:"SLV",v:"Shimla"},{k:"IXS",v:"Silchar"},{k:"SXR",v:"Srinagar"},{k:"STV",v:"Surat"},{k:"TEZ",v:"Tezpur"},{k:"TEI",v:"Tezu"},{k:"TIR",v:"Thirupati"},{k:"TRV",v:"Thiruvananthapuram"},{k:"TRZ",v:"Tiruchirapally"},{k:"TIR",v:"Tirupati"},{k:"TRV",v:"Trivandrum"},{k:"TCR",v:"Tuticorn"},{k:"UDR",v:"Udaipur"},{k:"BDQ",v:"Vadodara"},{k:"SAN",v:"Vaishnodevi"},{k:"VNS",v:"Varanasi"},{k:"VGA",v:"Vijayawada"},{k:"VTZ",v:"Visakhapatnam"},{k:"VTZ",v:"Vishakhapatnam"},{k:"WGC",v:"Warangal"}]},controls:{Calendar:function(_12d,_12e){
var _12f=$(document.createElement("a"));
var self=this,_131;
if(!_12e){
_12e={};
}
_12e.firstDayOfWeek=_12e.firstDayOfWeek||(_12d.readAttribute("firstday")?parseInt(_12d.readAttribute("firstday"),10):1);
_12e.minDate=_12e.minDate||(_12d.readAttribute("mindate")?ct.dates.fromString(_12d.readAttribute("mindate")):new Date());
_12e.minDateField=_12e.minDateField||(_12d.readAttribute("mindatefieldid")?$(_12d.readAttribute("mindatefieldid")):null);
_12e.calendarCount=_12e.calendarCount||(_12d.readAttribute("calendarcount")?parseInt(_12d.readAttribute("calendarcount"),10):2);
_12e.maxDate=_12e.maxDate||(_12d.readAttribute("maxdate")?ct.dates.fromString(_12d.readAttribute("maxdate")):(new Date(new Date(_12e.minDate).setFullYear(_12e.minDate.getFullYear()+1))));
_12e.offsetDays=_12e.offsetDays||(_12d.readAttribute("offsetdays")?parseInt(_12d.readAttribute("offsetdays"),10):0);
_12e.defaultDate=_12e.defaultDate||(_12d.readAttribute("defaultdate")?ct.dates.fromString(_12d.readAttribute("defaultdate")):null);
var _132=null;
(function(){
if(!_12d.readAttribute("size")){
_12d.writeAttribute("size",10);
}
_12d.writeAttribute("maxdate",ct.dates.toString(_12e.maxDate));
ct.selfLabels.addSelfLabel(_12d,"DD/MM/YYYY");
if(_12d.nextSibling){
_12d.parentNode.insertBefore(_12f,_12d.nextSibling);

}
else
{
_12d.parentNode.appendChild(_12f);
}

_12f.href="javascript: void(0);";
_12f.className="cal_openLink";
var _133=document.createElement("img");
_133.alt="Calendar";
_133.title="Click to open calendar";
_133.src="CalenderJs/_calender1.gif";
_133.width="19";
_133.height="17";
_133.align="top";

_12f.appendChild(_133);
_12f.observe("click",function(_134){
self.showDatePicker();
Event.stop(_134);
});
_12d.observe("focus",function(_135){
self.showDatePicker();
});
_12d.observe("click",function(_136){
Event.stop(_136);
});
_132=getMinDate();
})();
function getCalendarTableMarkup(){
var doc=document,ce="createElement",sa="setAttribute",ac="appendChild";
function addCol(_13b,_13c){
for(var i=0;i<_13c;i++){
_13b[ac](doc[ce]("col"));
}
}
var _13e=doc[ce]("table");
_13e[sa]("cellpadding","0");
_13e[sa]("cellspacing","0");
_13e[sa]("border","0");
var _13f=doc[ce]("colgroup");
addCol(_13f,5);
_13e[ac](_13f);
_13f=doc[ce]("colgroup");
_13f.className="weekend";
addCol(_13f,2);
_13e[ac](_13f);
var _140=doc[ce]("thead");
var _141=doc[ce]("tr");
var _142=["S","M","T","W","T","F","S"];
var _143=doc[ce]("tr");
var _144=_12e.firstDayOfWeek;
var _145=doc[ce]("th");
_145[sa]("colSpan","7");
$(_145).addClassName("month");
_141[ac](_145);
for(var i=0;i<7;i++){
_144=_144%7;
var _147=doc[ce]("th");
if(i===5||i===6){
_147.className="weekend";
}
_147[ac](doc.createTextNode($A(_142)[_144]));
_143[ac](_147);
_144++;
}
_140[ac](_141);
_140[ac](_143);
_13e[ac](_140);
var _148=doc[ce]("tbody");
var _149=doc[ce]("tr");
for(i=0;i<7;i++){
var _14a=doc[ce]("td");
if(i===5||i===6){
_14a.className="weekend";
}
_14a[ac](doc.createTextNode(" "));
_149[ac](_14a);
}
for(i=0;i<6;i++){
_148[ac](_149.cloneNode(true));
}
_13e[ac](_148);
return _13e;
}
function getCalendarMarkupOutline(){
var doc=document,ce="createElement",sa="setAttribute",ac="appendChild";
var _14f=doc[ce]("div");
_14f[sa]("id","datePickerContainer");
_14f.style.display="block";
var _150=doc[ce]("div");
_150.id="close";
$(_150).addClassName("dt_control");
var _151=doc[ce]("a");
_151[sa]("href","javascript: void(0);");
_151[sa]("id","cal_closeCalendar");
_151[sa]("title","Close");

_151[ac](doc.createTextNode(""));
_150[ac](_151);
_14f[ac](_150);
var _152=doc[ce]("div");
_152.id="previous";
$(_152).addClassName("dt_control");
var _153=doc[ce]("a");
_153[ac](doc.createTextNode(""));
_153[sa]("href","javascript: void(0);");
_153[sa]("id","cal_showPreviousMonth");
_153[sa]("title","Previous month");
_152[ac](_153);
_14f[ac](_152);
var _154=getCalendarTableMarkup();
var _155=doc[ce]("div");
_155.setAttribute("id","datePickerWrapper");
_155.style.overflow="hidden";
for(var i=0;i<_12e.calendarCount;i++){
_155[ac](_154.cloneNode(true));
}
_14f[ac](_155);
var _157=doc[ce]("div");
_157.id="next";
$(_157).addClassName("dt_control");
var _158=doc[ce]("a");
_158[ac](doc.createTextNode(""));
_158[sa]("href","javascript: void(0);");
_158[sa]("id","cal_showNextMonth");
_158[sa]("title","Next month");
_157[ac](_158);
_14f[ac](_157);
$(_14f).observe("click",globalEventHandler);
return _14f;
}
function globalEventHandler(_159){
try{
switch(Event.findElement(_159,"a").id){
case "cal_closeCalendar":
self.hideDatePicker();
break;
case "cal_showPreviousMonth":
if(!Event.findElement(_159,"a").hasClassName("disabled")){
showPreviousMonth();
}
break;
case "cal_showNextMonth":
if(!Event.findElement(_159,"a").hasClassName("disabled")){
showNextMonth();
}
break;
default:
selectDate(Event.findElement(_159,"a"));
}
}
catch(e){
}
Event.stop(_159);
}
function bodyClickHandler(_15a){
self.hideDatePicker();
}
function selectDate(_15b){
if(_15b&&_15b.timeStamp){
var _15c=new Date(_15b.timeStamp);
var _15d=(_15c.getDate())+"/";
_15d+=(_15c.getMonth()+1)+"/";
_15d+=_15c.getFullYear();
_12d.value=_15d;
self.hideDatePicker();
_132=new Date(_15c);
if(_12d.readAttribute("selflabel")){
_12d.removeClassName("selflabel");
}
}
}
function adjustPreviousNextLinksDisplay(){
var _15e=getMinDate();
var _15f=new Date(_15e);
var _160=_131;
while(_160<0){
_160+=12;
}
_15f.setMonth(_160);
if(_15f.getMonth()<=_15e.getMonth()&&_15f.getFullYear()<=_15e.getFullYear()){
$("cal_showPreviousMonth").addClassName("disabled");
}else{
$("cal_showPreviousMonth").removeClassName("disabled");
}
var _161=getMaxDate();
_15f=new Date(_15e);
var _162=_131+_12e.calendarCount-1;
while(_162>12){
_162-=12;
}
_15f.setMonth(_162);
if(_15f.getMonth()>=_161.getMonth()&&_15f.getFullYear()>=_161.getFullYear()){
$("cal_showNextMonth").addClassName("disabled");
}else{
$("cal_showNextMonth").removeClassName("disabled");
}
}
function showPreviousMonth(){
var _163=getCalendarTableMarkup();
$("datePickerWrapper").insertBefore(_163,$("datePickerWrapper").firstChild);
populateCalendarTable(_131-1,_163,getMinDate(),getMaxDate());
_131--;
adjustPreviousNextLinksDisplay();
$($("datePickerWrapper").getElementsByTagName("table")[_12e.calendarCount]).remove();
ct.dom.removeIEIframeFix($("datePickerContainer"));
ct.dom.addIEIframeFix($("datePickerContainer"));
}
function showNextMonth(){
var _164=getCalendarTableMarkup();
$("datePickerWrapper").appendChild(_164);
populateCalendarTable(_131+_12e.calendarCount,_164,getMinDate(),getMaxDate());
_131++;
adjustPreviousNextLinksDisplay();
$($("datePickerWrapper").getElementsByTagName("table")[0]).remove();
ct.dom.removeIEIframeFix($("datePickerContainer"));
ct.dom.addIEIframeFix($("datePickerContainer"));
}
function getMinDate(){
var _165;
if(_12e.minDateField){
if(ct.dates.isValidDateString($F(_12e.minDateField))){
_165=ct.dates.fromString($F(_12e.minDateField));
}else{
_165=ct.dates.fromString($(_12e.minDateField).readAttribute("mindate"));
}
}else{
_165=_12e.minDate;
}
if(_165){
_165.setDate(_165.getDate()+_12e.offsetDays);
}
return new Date(_165);
}
function getMaxDate(){
if(_12e.maxDate){
return new Date(_12e.maxDate);
}else{
maxDate=new Date(getMinDate());
maxDate.setFullYear(maxDate.getFullYear()+1);
return maxDate;
}
}
function populateCalendarTable(_166,_167,_168,_169){
var _16a=new Date(_168);
var _16b=["January","February","March","April","May","June","July","August","September","October","November","December"];
ct.dates.setMonth(_16a,_166);
_16a.setDate(1);
_166%=12;
_167.getElementsByTagName("th")[0].appendChild(document.createTextNode(_16b[_166]+" "+_16a.getFullYear()));
var _16c=_167.getElementsByTagName("tbody")[0].getElementsByTagName("td");
if(ct.dates.isValidDateString($F(_12d))){
_132=ct.dates.fromString($F(_12d));
}else{
_132=getMinDate();
}
var _16d=_12e.firstDayOfWeek;
$A(_16c).each(function(cell){
if(_16d===_16a.getDay()&&_16a.getMonth()===_166){
if(ct.dates.compare(_16a,_168)===1||ct.dates.compare(_16a,_169)===-1){
cell.appendChild(document.createTextNode(_16a.getDate()));
}else{
var link=document.createElement("a");
link.href="javascript: void(0);";
link.timeStamp=_16a.valueOf();
link.appendChild(document.createTextNode(_16a.getDate()));
cell.appendChild(link);
}
if(_132.toString()==_16a.toString()){
$(cell).addClassName("selected");
}
_16a.setDate(_16a.getDate()+1);
}else{
cell.appendChild(document.createTextNode(" "));
}
_16d++;
_16d%=7;
});
}
var _170=null;
this.showDatePicker=function(){
if(!_12d.disabled){
this.hideDatePicker();
var _171=getCalendarMarkupOutline();
if(_12e.minDateField&&ct.dates.isValidDateString($F(_12e.minDateField))&&ct.dates.isValidDateString($F(_12d))&&(ct.dates.fromString($F(_12e.minDateField)).toString()>ct.dates.fromString($F(_12d)).toString())){
_131=ct.dates.fromString($F(_12e.minDateField)).getMonth()+(ct.dates.fromString($F(_12e.minDateField)).getFullYear()-getMinDate().getFullYear())*12;
}else{
if(ct.dates.isValidDateString($F(_12d))){
_131=ct.dates.fromString($F(_12d)).getMonth()+(ct.dates.fromString($F(_12d)).getFullYear()-getMinDate().getFullYear())*12;
}else{
if(_12e.defaultDate){
_131=_12e.defaultDate.getMonth()+(_12e.defaultDate.getFullYear()-getMinDate().getFullYear())*12;
}else{
_131=getMinDate().getMonth();
}
}
}
document.body.appendChild(_171);
for(var i=0;i<_12e.calendarCount;i++){
populateCalendarTable(_131+i,_171.getElementsByTagName("table")[i],getMinDate(),getMaxDate());
}
var pos=$(_12d).cumulativeOffset();
var _174=document.viewport.getDimensions();
var _175=_171.getDimensions();
_171.style.position="absolute";
if((_174.height-_175.height-pos.top)>0){
_171.style.top=(pos.top+$(_12d).getHeight())+"px";
}else{
_171.style.top=(pos.top-_175.height)+"px";
}
if((_174.width-pos.left-_175.width)>0){
_171.style.left=(pos.left)+"px";
}else{
_171.style.right=_174.width-pos.left-_12d.getWidth()+"px";
}
adjustPreviousNextLinksDisplay();
ct.dom.addIEIframeFix(_171);
$(document.body).observe("click",bodyClickHandler);
}
};
this.hideDatePicker=function(){
if($("datePickerContainer")){
$("datePickerContainer").stopObserving("click",globalEventHandler);
ct.dom.removeIEIframeFix($("datePickerContainer"));
$("datePickerContainer").remove();
$(document.body).stopObserving("click",bodyClickHandler);
}
};
},AirportsDropdown:function(_176,_177){
var self=this;
if(!_177){
_177={};
}
_177.showFeaturedAirports=_177.showFeaturedAirports||(_176.readAttribute("showfeatured")&&_176.readAttribute("showfeatured").toLowerCase()==="no")?false:true;
_177.preselectAirportCode=_177.preselectAirportCode||(_176.readAttribute("preselect")&&_176.readAttribute("preselect")!=="")?_176.readAttribute("preselect"):null;
_177.cookieSelection=_177.cookieSelection||(_176.readAttribute("cookieselection")&&_176.readAttribute("cookieselection")==="no")?false:true;
try{
_177.extraValues=_177.extraValues||(_176.readAttribute("extras")&&_176.readAttribute("extras").strip().length>0)?eval("({"+_176.readAttribute("extras").strip()+"})"):null;
}
catch(e){
alert("here");
_177.extraValues=null;
}
if(_177.cookieSelection&&_176.readAttribute("cookiename")){
if(_176.readAttribute("cookiename")===""){
throw new Error("Error initializing the airports dropdown. There was no cookie name found to store the selection. Use cookiename=\"some_cookie_name\" to specify the cookie name or cookieselection=\"no\" to disable saving cookies.");
}
}else{
_177.cookieName=_176.readAttribute("cookiename");
}
ct.validator.attachValidation(_176,"Please choose from the available "+_176.title.toLowerCase()+".",function(){
return $F(_176)!=="";
});
this.populate=function(){
if(_176.firstChild){
_176.removeChild(_176.firstChild);
}
var key;
if(_177.extraValues){
Object.keys(_177.extraValues).each(function(key){
var _17b=new Element("option",{value:key}).update(_177.extraValues[key]);
if(_177.preselectAirportCode&&_177.preselectAirportCode===_177.extraValues[key]){
_17b.setAttribute("selected","selected");
}
_176.appendChild(_17b);
});
}else{
_176.appendChild(new Element("option",{value:""}).update("Select location"));
}
_176.appendChild(new Element("option",{value:""}).update("------------"));
if(_177.showFeaturedAirports){
$A(ct.airports.featured).each(function(_17c){
_176.appendChild(new Element("option",{value:_17c.k}).update(_17c.v));
});
_176.appendChild(new Element("option",{value:""}).update("------------"));
}
$A(ct.airports.all).each(function(_17d){
var _17e=new Element("option",{value:_17d.k}).update(_17d.v);
if(_177.preselectAirportCode&&_177.preselectAirportCode===_17d.k){
_17e.writeAttribute("selected","selected");
}
_176.appendChild(_17e);
});
};
self.populate();
},AutoCompleteTextbox:function(_17f,_180){
var _181={up:38,down:40,enter:13,escape:27};
var _182=0,_183="autocompleteOptionsContainer",_184=[],_185=null;
var _186="";
if(!ct.controls.AutoCompleteTextboxCache){
ct.controls.AutoCompleteTextboxCache={};
}
_180=_180||{};
_180.queryUrl=_180.queryUrl||_17f.getAttribute("queryurl")||null;
_180.includeKeys=_180.includeKeys||_17f.hasClassName("includeKeys");
_180.idField=_180.idField||_17f.getAttribute("idfield")||null;
_180.displayRowCount=parseInt(_180.displayRowCount||_17f.getAttribute("displayrows")||10,10);
_180.minChars=parseInt(_180.minChars||_17f.getAttribute("minchars")||3,10);
_180.selectionHandler=_180.selectionHandler||_17f.getAttribute("selectionhandler")||null;
ct.validator.attachValidation(_17f,"We do not have the "+_17f.title.toLowerCase()+" you entered on record. Please pick from one of the options that appear as you type.",function(){
if($(_17f).value===""){
return true;
}
if(_17f.readAttribute("selfLabel")===$F(_17f)){
return true;
}
return $(_180.idField).value;
});
if(typeof _180.selectionHandler==="string"){
try{
_180.selectionHandler=eval(_180.selectionHandler);
}
catch(e){
throw new Error("From ct.controls.AutoCompleteTextbox: Unable to understand the selectionhandler attribute.");
}
}
if(!_180.idField){
throw new Error("From ct.controls.AutoCompleteTextbox: idfield attribute not defined.");
}
if(!$(_180.idField)){
_17f.parentNode.appendChild(new Element("input",{type:"hidden",id:_180.idField,name:_180.idField}));
}
if(ct.dom.getParentByTagName(_17f,"form")){
$(ct.dom.getParentByTagName(_17f,"form")).observe("submit",function(_187){
if($(_183)){
_187.stop();
}
});
}
$(_17f).observe("blur",function(){
setTimeout(function(){
if($(_183)){
keyEnterPress();
}
removeAutocompleteDropdown();
},1000);
});
$(_17f).observe("keypress",function(_188){
if($(_183)&&_188.keyCode===_181.enter){
_188.stop();
}
});
if(_180.queryUrl){
_180.queryUrl=new Template(_180.queryUrl);
$(_17f).observe("keyup",function(_189){
if($F(_17f)===""){
removeAutocompleteDropdown();
}else{
if($F(_17f).length>=_180.minChars){
var key=$F(_17f).toLowerCase();
if(ct.controls.AutoCompleteTextboxCache[key]){
keystrokeHandler(_189,ct.controls.AutoCompleteTextboxCache[key]);
}else{
if(_184[key]){
return;
}else{
clearTimeout(_185);
_185=setTimeout(function(){
_184.push(key);
_17f.setStyle({backgroundPosition:"center right",backgroundImage:"url(\""+_186+"\")",backgroundRepeat:"no-repeat"});
new Ajax.Request(_180.queryUrl.evaluate({q:key}),{method:"get",onSuccess:function(_18b){
ct.controls.AutoCompleteTextboxCache[key]=eval(_18b.responseText);
_184.splice(key,1);
if(key===$F(_17f).toLowerCase()){
keystrokeHandler(_189,ct.controls.AutoCompleteTextboxCache[key]);
}
_17f.setStyle({backgroundImage:"none"});
},onFailure:function(){
ct.controls.AutoCompleteTextboxCache.splice($A(ct.controls.AutoCompleteTextboxCache).indexOf(key),1);
}});
},200);
}
}
}
}
});
}
_17f.setAttribute("autocomplete","off");
function keystrokeHandler(evt,data){
var _18e=null;
try{
_18e=evt.keyCode;
}
catch(e){
}
switch(_18e){
case _181.up:
keyUpPress();
Event.stop(evt);
break;
case _181.down:
keyDownPress();
Event.stop(evt);
break;
case _181.escape:
removeAutocompleteDropdown();
Event.stop(evt);
break;
case _181.enter:
if($("autocompleteOptionsContainer")){
keyEnterPress(evt);
Event.stop(evt);
}
break;
default:
showAutocompleteDropdown(filterDataset(data));
break;
}
}
function filterDataset(_18f){
return _18f;
}
function showAutocompleteDropdown(_190){
if(_190.length>0){
var _191;
if($(_183)){
while($(_183).firstChild){
$($(_183).firstChild).remove();
}
_191=$(_183);
ct.dom.removeIEIframeFix(_191);
}else{
_191=new Element("ul",{"class":"aa",style:"visibility: hidden",id:_183});
}
var _192=(_180.displayRowCount<_190.length)?_180.displayRowCount:_190.length;
for(var i=0;i<_192;i++){
var li=new Element("li",{keyName:_190[i].k,index:i}).update(_190[i].d||_190[i].v);
li.dataObject=Object.clone(_190[i]);
_191.appendChild(li);
}
document.body.appendChild(_191);
var _195=_17f.cumulativeOffset();
_191.setStyle({top:_195.top+_17f.getHeight()+"px",left:_195.left+"px",position:"absolute",visibility:"visible",width:_17f.getWidth()+"px"});
ct.dom.addIEIframeFix(_191);
_191.observe("click",mouseClickHandler);
_191.observe("mouseover",mouseOverHandler);
highlightSelection();
}else{
$(_180.idField).value="";
removeAutocompleteDropdown();
}
}
function mouseClickHandler(_196){
if(_196.findElement("li")&&_196.findElement("li").nodeName.toLowerCase()==="li"){
_182=_196.findElement("li").getAttribute("index");
highlightSelection();
keyEnterPress();
}
_196.stop();
}
function mouseOverHandler(_197){
if(_197.findElement("li")&&_197.findElement("li").nodeName.toLowerCase()==="li"){
_182=_197.findElement("li").getAttribute("index");
highlightSelection();
}
_197.stop();
}
function removeAutocompleteDropdown(){
if($(_183)){
ct.dom.removeIEIframeFix($(_183));
$(_183).stopObserving("click",mouseClickHandler);
$(_183).remove();
_182=0;
}
}
function keyDownPress(){
_182++;
highlightSelection();
}
function keyUpPress(){
_182--;
highlightSelection();
}
function keyEnterPress(evt){
if($(_183)&&$(_183).childNodes[_182]){
var _199=$(_183).childNodes[_182];
$(_180.idField).value=_199.readAttribute("keyName");
_17f.value=_199.dataObject.v;
if(_180.selectionHandler){
_180.selectionHandler(_199.dataObject);
}
if(evt){
evt.stop();
}
}
removeAutocompleteDropdown();
}
function highlightSelection(){
if($(_183)){
var _19a=$(_183).childNodes.length;
_182=parseInt(_182,10);
if(_182>=_19a){
_182=0;
}else{
if(_182<0){
_182=_19a-1;
}
}
$A($(_183).childNodes).each(function(li,_19c){
if(_19c===_182){
li.addClassName("highlight");
}else{
li.removeClassName("highlight");
}
});
}
}
},Slider:function(_19d){
var _19e=$(_19d).getElementsBySelector("input[type=text]");
var _19f=new Element("div",{"class":"track"});
_19d.appendChild(_19f);
var _1a0=new Element("div",{"class":"leftDisabled"}),_1a1=new Element("div",{"class":"rightDisabled"});
var _1a2=parseFloat($(_19d).readAttribute("minvalue")||0),_1a3=parseFloat($(_19d).readAttribute("maxvalue")||10),_1a4=parseFloat($(_19d).readAttribute("stepvalue")||1);
var _1a5=0,_1a6=_19f.getWidth();
var _1a7=(_1a6-_1a5)/(_1a3-_1a2);
var _1a8=Math.ceil(_1a4*_1a7);
function getSliderRange(){
var _1a9=[];
var _1aa=_1a5;
while(_1aa<_1a6){
_1a9.push(_1aa);
_1aa+=_1a8;
}
_1a9.push(_1a6);
return _1a9;
}
function scaleToInternal(_1ab){
return ((_1ab-_1a2)*_1a7);
}
function scaleToUser(_1ac){
if(_1ac===_1a5){
return _1a2;
}else{
if(_1ac===_1a6){
return _1a3;
}
}
var _1ad=(_1ac/_1a7)+_1a2;
var _1ae=_1ad%_1a4;
if(_1ae<_1a4/2){
return _1ad-_1ae;
}else{
return _1ad+(_1a4-_1ae);
}
}
_19d.minValue=_1a2;
_19d.maxValue=_1a3;
if(_19e.length===1){
if(_19d.readAttribute("highlight")&&_19d.readAttribute("highlight").toLowerCase()==="left"){
_19f.appendChild(_1a1);
}else{
_1a1=null;
}
if(_19d.readAttribute("highlight")&&_19d.readAttribute("highlight").toLowerCase()==="right"){
_19f.appendChild(_1a0);
}else{
_1a0=null;
}
var _1af=new Element("div",{"class":"leftHandle"});
_19f.appendChild(_1af);
_19d.sliderObj=new Control.Slider(_1af,_19f,{axis:"horizontal",range:$R(_1a5,_1a6),sliderValue:scaleToInternal(parseFloat(_19e[0].getAttribute("value"))),startSpan:_1a0,endSpan:_1a1,values:getSliderRange(),onChange:function(vals){
vals=scaleToUser(vals);
_19e[0].setAttribute("value",vals);
_19e[0].value=vals;
_19d.values=[vals];
_19d.fire("ctslider:onChange");
},onSlide:function(vals){
_19d.inSlideValues=scaleToUser(vals);
_19d.fire("ctslider:onSlide");
}});
_19d.sliderObj.setValue([scaleToInternal(parseFloat(_19e[0].getAttribute("value")))]);
_19d.inSlideValues=[parseFloat(_19e[0].value)];
}else{
if(_19e.length===2){
var _1b2=new Element("div",{id:"rangeHandleMin1","class":"leftHandle"});
var _1b3=new Element("div",{id:"rangeHandleMax1","class":"rightHandle"});
_19f.appendChild(_1a0);
_19f.appendChild(_1a1);
_19f.appendChild(_1b2);
_19f.appendChild(_1b3);
_19d.sliderObj=new Control.Slider([_1b2,_1b3],_19f,{axis:"horizontal",range:$R(_1a5,_1a6),sliderValue:[scaleToInternal(_19e[0].getAttribute("value")),scaleToInternal(_19e[1].getAttribute("value"))],startSpan:_1a0,endSpan:_1a1,values:getSliderRange(),restricted:true,onChange:function(vals){
var min=scaleToUser(vals[0]);
var max=scaleToUser(vals[1]);
var _1b7=_19d.values;
if(!_1b7||(_1b7[0]!==min||_1b7[1]!==max)){
_19e[0].setAttribute("value",min);
_19e[1].setAttribute("value",max);
_19e[0].value=min;
_19e[1].value=max;
_19d.values=[min,max];
_19d.fire("ctslider:onChange");
}
},onSlide:function(vals){
var _1b9=_19d.inSlideValues;
if(!_1b9||(_1b9[0]!==scaleToUser(vals[0])||_1b9[1]!==scaleToUser(vals[1]))){
_19d.inSlideValues=[scaleToUser(vals[0]),scaleToUser(vals[1])];
_19d.fire("ctslider:onSlide");
}
}});
_19d.setValues=function(){
var _1ba=_19d.sliderObj;
var vals=[_19e[0].getAttribute("value"),_19e[1].getAttribute("value")];
_1ba.setValue(scaleToInternal(vals[0]),0);
_1ba.setValue(scaleToInternal(vals[1]),1);
_19d.inSlideValues=[vals[0],vals[1]];
_19d.fire("ctslider:onSlide");
};
_19d.setValues();
}
}
},parseDomTree:function(_1bc){
_1bc=$(_1bc||document.body);
var _1bd=ct.controls;
_1bc.getElementsBySelector("input.datePicker").each(function(_1be){
new _1bd.Calendar(_1be);
});
_1bc.getElementsBySelector("select.airportsDropdown").each(function(_1bf){
new _1bd.AirportsDropdown(_1bf);
});
_1bc.getElementsBySelector("input.autocomplete").each(function(_1c0){
new _1bd.AutoCompleteTextbox(_1c0);
});
if(window.Control&&Control.Slider){
var _1c1=new Date();
_1bc.select(".slider").each(function(_1c2){
new _1bd.Slider(_1c2);
});
console.log("Slider creation total time: ",new Date()-_1c1);
}
}},ajaxTimeoutHandler:{onCreate:function(_1c3){
_1c3.timeoutId=window.setTimeout(function(){
if($A([1,2,3]).indexOf(parseInt(_1c3.transport.readyState,10))!==-1){
_1c3.transport.abort();
alert("The server has taken too long to respond. This might be a problem with our servers, or your Internet connection.\n\nPlease try again later.");
if(_1c3.options.onFailure){
_1c3.options.onFailure(_1c3.transport,_1c3.json);
}
}
},90000);
},onComplete:function(_1c4){
window.clearTimeout(_1c4.timeoutId);
}}};
compareDates=ct.dates.compare;
toHomeForm=ct.helperFunctions.toHomeForm;
addRooms=ct.helperFunctions.addRooms;
alterChildren=ct.helperFunctions.alterChildren;
ct.genericBlocks.hotelForm.handleCitySelection=function(data){
$("country").value=data.c;
$("state").value=data.s;
};
ct.controls.Calendar._markupOutlineCache=null;
(function(){
function startupCode(){
ct.domIsLoaded=true;
ct.validator._initializeForms();
ct.selfLabels.parseDomTree();
ct.bubbles.parseDomTree();
ct.stickyBlocks.parseDomTree();
ct.genericBlocks.parseDomTree();
ct.controls.parseDomTree();
Event.observe(document,"click",function(){
if($("ct_bubbleNode")){
ct.dom.removeIEIframeFix($("ct_bubbleNode"));
$("ct_bubbleNode").remove();
}
});
setTimeout(ct.helperFunctions.prefetchResources,3000);
var _1c6=new Image();
var loc=window.location;
_1c6.src=loc.protocol+"//"+loc.host+"/images/elements/error_arrow.gif";
}
Event.observe(window,"load",startupCode);
Event.observe(window,"pageshow",function(evt){
if(evt.persisted){
startupCode();
}
});
})();
Ajax.Responders.register(ct.ajaxTimeoutHandler);

