var NO_OF_DAYS=0;
function checkAdvOpts(_1){
if(_1=="2"){
return;
}
var _2=readCookie("adv"+_1);
if(_2=="on"&&$("advanced_search"+_1).style.display!="block"){
toggle("advanced_search"+_1,$("adv_link"+_1));
}
}
function setAdvCookie(_3){
var _4=readCookie("adv"+_3);
if(_4==""||_4==null||_4=="off"){
eraseCookie("adv"+_3);
createCookie("adv"+_3,"on",365);
}else{
eraseCookie("adv"+_3);
createCookie("adv"+_3,"off",365);
}
}
function checkTab(){
var _5=readCookie("tab");
if(_5=="F"||_5==""||_5==null){
toggleTab(1,"tab","engine");
}else{
toggleTab(2,"tab","engine");
}
}
function toHomeForm(_6,_7){
eraseCookie("tab");
createCookie("tab",_6,365);
if(_7){
window.location.href="http://"+location.host+"/index.shtml";
}
return false;
}
function createCookie(_8,_9,_a){
if(_a){
var _b=new Date();
_b.setTime(_b.getTime()+(_a*24*60*60*1000));
var _c="; expires="+_b.toGMTString();
}else{
var _c="";
}
document.cookie=_8+"="+_9+_c+"; path=/";
}
function readCookie(_d){
var _e=_d+"=";
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(_e)==0){
return c.substring(_e.length,c.length);
}
}
return null;
}
function eraseCookie(_12){
createCookie(_12,"",-1);
}
function getvals(){
var _13;
_13=$("home_hotels").serialize();
createCookie("hotel_sr",_13);
}
function setformvals(){
if(readCookie("hotel_sr")){
var _14=readCookie("hotel_sr").toQueryParams("&");
formhotel=document.forms["home_hotels"];
formhotel.city.value=_14.city;
formhotel.dest_code.value=_14.dest_code;
formhotel.chk_in.value=_14.chk_in;
formhotel.chk_out.value=_14.chk_out;
$("rooms").value=_14.num_rooms;
addRooms(formhotel.num_rooms);
switch(_14.num_rooms){
case "1":
case "2":
case "3":
case "4":
$("adults1").value=_14.adults1;
$("children1").value=_14.children1;
if(_14.num_rooms=="1"){
break;
}
case "2":
case "3":
case "4":
$("adults2").value=_14.adults2;
$("children2").value=_14.children2;
if(_14.num_rooms=="2"){
break;
}
case "3":
case "4":
$("adults3").value=_14.adults3;
$("children3").value=_14.children3;
if(_14.num_rooms=="3"){
break;
}
case "4":
$("adults4").value=_14.adults4;
$("children4").value=_14.children4;
break;
}
}
}
function makeOneWay(){
$("rtn_date").setAttribute("disabled","disabled");
$("ret_time").setAttribute("disabled","disabled");
}
function makeRoundTrip(){
$("rtn_date").removeAttribute("disabled");
$("ret_time").removeAttribute("disabled");
}
function toggleTab(num,_16,_17){
var _18=$(_16+"_"+num).parentNode;
while(_18.nodeName!="UL"){
_18=_18.parentNode;
}
_18=_18.getElementsByTagName("li");
for(i=0;i<_18.length;i++){
if(i==eval(parseInt(num,10)-1)){
Element.addClassName(_18[i].getElementsByTagName("a")[0],"here");
if(_17!=""&&$(_17+"_"+eval(i+1))){
$(_17+"_"+num).style.display="block";
}
}else{
Element.removeClassName(_18[i].getElementsByTagName("a")[0],"here");
if(_17!=""&&$(_17+"_"+eval(i+1))){
Element.hide($(_17+"_"+eval(i+1)));
}
}
}
if(_17=="engine"){
if(num=="2"){
Element.hide("flights_right");
$("hotels_right").style.display="block";
createCookie("tab","H",365);
checkAdvOpts("2");
$("rooms").value="1";
$("dest_code").value="";
}else{
if(num=="1"){
Element.hide("hotels_right");
$("flights_right").style.display="block";
createCookie("tab","F",365);
checkAdvOpts("1");
}
}
unmarkFields($(_17+"_1").getElementsByTagName("form")[0]);
$("hotel_err").style.display="none";
unmarkFields($(_17+"_2").getElementsByTagName("form")[0]);
$("flt_err").style.display="none";
}
return false;
}
function toggle(_19,_1a){
if($(_19).style.display!="block"){
$(_19).style.display="block";
}else{
$(_19).style.display="none";
}
if(_1a){
var li=_1a;
while(li=li.parentNode){
if(Element.hasClassName(li,"open")){
Element.removeClassName(li,"open");
Element.addClassName(li,"closed");
break;
}else{
if(Element.hasClassName(li,"closed")){
Element.removeClassName(li,"closed");
Element.addClassName(li,"open");
break;
}
}
}
}
return false;
}
function validateFlightsForm(_1c,_1d,_1e){
unmarkFields(_1c);
$("flt_err").style.display="none";
var _1f="";
var _20=0;
if($F("from")==0||$F("from")=="null"){
highlight($("from"));
_1f+="<li>Please choose from the available origin locations</li>";
_20++;
}
if($F("to")==0||$F("to")=="null"){
highlight($("to"));
_1f+="<li>Please choose from the available destinations</li>";
_20++;
}
if(_20!=2&&($F("from")==$F("to"))){
highlight($("to"));
_1f+="<li>Please choose a destination that is different from your origin</li>";
_20++;
}
var _21=$F("dpt_date");
if((_21=="dd/mm/yyyy")||(_21=="")){
highlight($("dpt_date"));
_1f+="<li>Please choose an appropriate departure date (dd/mm/yyyy)</li>";
_20++;
}else{
if(_1d&&datePast(_21,_1d)){
highlight($("dpt_date"));
_1f+="<li>Your departure date is invalid. Flight bookings need to be made at least 6 hours before departure. Please choose a date on or after "+_1d+". (dd/mm/yyyy)</li>";
_20++;
}
}
if($F("rnd_trip")=="R"){
var _22=$F("rtn_date");
if((_22=="dd/mm/yyyy")||(_22=="")){
highlight($("rtn_date"));
_1f+="<li>Please choose an appropriate return date (dd/mm/yyyy)</li>";
_20++;
}else{
if(compareDates(stringToDate(_22),stringToDate(_21))==1){
highlight($("rtn_date"));
_1f+="<li>Please choose a return date after your chosen departure (dd/mm/yyyy)</li>";
_20++;
}
}
}
if($F("infants")>$F("adults")){
highlight($("infants"));
_1f+="<li>You cannot have more infants than adults travelling on a flight</li>";
_20++;
}
if(_20>0){
if(_20==1){
_1f="<span>There was "+_20+" error found in your form:</span><ol>"+_1f+"</ol>";
}else{
_1f="<span>There were "+_20+" errors found in your form:</span><ol>"+_1f+"</ol>";
}
$("flt_err").innerHTML=_1f;
$("flt_err").style.display="block";
return false;
}else{
return true;
}
return false;
}
function flights_nri(box){
if(box.checked){
$("offers_1").style.display="none";
$("air_nri_message").style.display="block";
}else{
$("air_nri_message").style.display="none";
$("offers_1").style.display="block";
}
}
function alterChildren(num){
var _25=$("children"+num);
var _26=_25.getElementsByTagName("option");
var _27=parseInt($F("adults"+num),10);
var _28=_26.length;
for(var q=0;q<_28;q++){
if(parseInt(_26[q].value,10)+_27>4){
_25.options[q]=null;
--_28;
--q;
}
}
var _2a;
if((q-1)<(_2a=4-_27)){
for(q;q<=_2a;q++){
_25.options[q]=new Option(q,q);
}
}
}
function isDestinationValid(){
var url="http://"+location.host+"/scripts/cc";
var _2c="city="+encodeURIComponent($F("city"));
var _2d=false;
var _2e=new Ajax.Request(url,{asynchronous:false,method:"get",parameters:_2c});
if(_2e.success()&&_2e.transport.responseText.indexOf("False")==-1){
eval(_2e.transport.responseText);
}else{
return false;
}
}
function validateHotelsForm(_2f,_30,_31){
unmarkFields(_2f);
$("hotel_err").style.display="none";
var _32="";
var _33=0;
var _34=$F("dest_code");
var _35=$F("city");
if(_34==""&&_35!=""){
isDestinationValid();
}
_34=$F("dest_code");
_35=$F("city");
if(_34==""||_35==""){
highlight($("city"));
_32+="<li>The city you have entered is invalid or does not exist in our system. Please pick from the suggested destinations that appear as you type</li>";
_33++;
}
var nri=$("NonResident2");
if(_34=="WCT"||nri.checked){
_2f.action="http://hotels.cleartrip.com/nexres/search/power_results.cgi";
}else{
_2f.action=location.protocol+"//"+location.host+"/hotels/search";
}
var _37=$F("checkin_date");
if(_37=="dd/mm/yyyy"||_37==""||!checkDateSyntax(_37)){
highlight($("checkin_date"));
_32+="<li>Please choose an appropriate check-in date (dd/mm/yyyy)</li>";
_33++;
}else{
if(_30&&datePast(_37,_30)){
highlight($("checkin_date"));
_32+="<li>You need to make a booking at least a day before you check-in. Please choose a check-in date on or after "+_30+" (dd/mm/yyyy)</li>";
_33++;
}
}
var _38=$F("checkout_date");
if(_38=="dd/mm/yyyy"||_38==""||!checkDateSyntax(_38)){
highlight($("checkout_date"));
_32+="<li>Please choose an appropriate check-out date (dd/mm/yyyy)</li>";
_33++;
}else{
if(compareDates(stringToDate(_38),stringToDate(_37))==1||compareDates(stringToDate(_38),stringToDate(_37))==0){
highlight($("checkout_date"));
_32+="<li>Please choose a check-out date after your chosen check-in date (dd/mm/yyyy)</li>";
_33++;
}
}
var _39=parseInt($F("rooms"),10);
for(var a=0;a<_39;a++){
if($("adults"+(a+1))==null||$("children"+(a+1))==null){
highlight($("rooms"));
_32+="<li>Please check the number of rooms you have chosen</li>";
_33++;
break;
}
if((parseInt($F("adults"+(a+1)),10)+parseInt($F("children"+(a+1)),10))>4){
highlight($("adults"+(a+1)));
highlight($("children"+(a+1)));
_32+="<li>You cannot have more than 4 people in a room. Please pick additional rooms if there&rsquo;s more people travelling with you</li>";
_33++;
break;
}
}
if(_33>0){
if(_33==1){
_32="<span>There was "+_33+" error found in your form:</span><ol>"+_32+"</ol>";
}else{
_32="<span>There were "+_33+" errors found in your form:</span><ol>"+_32+"</ol>";
}
$("hotel_err").innerHTML=_32;
$("hotel_err").style.display="block";
return false;
}else{
if(_34=="WCT"||nri.checked){
_37=_37.split("/");
$("doa_dd").value=_37[0];
$("doa_mm").value=_37[1];
$("doa_yy").value=_37[2];
_38=_38.split("/");
$("dod_dd").value=_38[0];
$("dod_mm").value=_38[1];
$("dod_yy").value=_38[2];
var _39=$F("rooms");
var _3b=0;
var _3c=0;
for(var a=0;a<parseInt(_39,10);a++){
_3b+=parseInt(_2f["adults"+(a+1)].value,10);
_3c+=parseInt(_2f["children"+(a+1)].value,10);
}
$("num_adults").value=Math.ceil(_3b/parseInt(_39,10));
$("num_children").value=Math.ceil(_3c/parseInt(_39,10));
}
return true;
}
return false;
}
function highlight(_3d,_3e){
try{
if(_3e){
new Insertion.Before(_3d,"<span class='err_disc'>"+_3e+"</span>");
}else{
new Insertion.Before(_3d,"<span class='err_arrow'>&nbsp;</span>");
}
}
catch(e){
}
}
function unmarkFields(_3f){
if(_3f){
var _40=document.getElementsByClassName("error",_3f);
var _41=document.getElementsByClassName("err_arrow",_3f);
var _42=document.getElementsByClassName("err_disc",_3f);
}else{
var _40=document.getElementsByClassName("error");
var _41=document.getElementsByClassName("err_arrow");
var _42=document.getElementsByClassName("err_disc");
}
var _43=new Array();
_43=_43.concat(_40,_41,_42);
for(i=0;i<_43.length;i++){
Element.remove(_43[i]);
}
}
function checkDateSyntax(_44){
var _45=/[0-9]+\/[0-9]+\/([0-9][0-9])+/;
var _46=_45.test(_44);
return _46;
}
function stringToDate(_47){
_47=new String(_47);
var day=_47.substring(0,_47.indexOf("/"));
var _49=_47.substring(_47.indexOf("/")+1,_47.indexOf("/",_47.indexOf("/")+1));
var _4a=_47.substring(_47.indexOf("/",_47.indexOf("/")+1)+1,_47.length);
if(_4a.length==2){
_4a="20"+_4a;
}
var _4b=new Date();
_4b.setFullYear(parseInt(_4a,10),parseInt(_49,10)-1,parseInt(day,10));
return _4b;
}
function datePast(_4c,_4d){
if(stringToDate(_4d)>stringToDate(_4c)){
return true;
}else{
return false;
}
}
var browser=navigator.appName;
function compareDates(_4e,_4f){
if(_4e.getYear()<_4f.getYear()){
return 1;
}else{
if((_4e.getYear()==_4f.getYear())&&(_4e.getMonth()<_4f.getMonth())){
return 1;
}else{
if((_4e.getYear()==_4f.getYear())&&(_4e.getMonth()==_4f.getMonth())&&(_4e.getDate()<_4f.getDate())){
return 1;
}else{
if(_4e.getDate()==_4f.getDate()&&_4e.getMonth()==_4f.getMonth()&&_4e.getYear()==_4f.getYear()){
return 0;
}else{
return -1;
}
}
}
}
}

function addRooms(_50,_51){
var num=parseInt($F(_50),10);
var _53=document.getElementById("dynamic_rooms");
var tr,td,_56,_57,_58;
var _59=document.getElementsByClassName("rm_info",_53);
var _5a=_59.length+1;
var _5b;
var _5c;
if(_51=="include"){
_5c=include_form_rooms_template;
}else{
_5c=main_form_rooms_template;
}
if(num>_5a){
for(var g=_5a+1;g<=num;g++){
_5b=_5c.evaluate({"num":g});
new Insertion.Bottom(_53,_5b);
}
}else{
if(num<_5a){
for(var h=_5a;h>num;h--){
Element.remove(_59[h-2]);
}
}
}
}
function toggleTableRow(_5f){
if($(_5f).style.display!="block"&&$(_5f).style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
$(_5f).style.display="block";
}else{
$(_5f).style.display="table-row";
}
}else{
if($(_5f).style.display=="block"||$(_5f).style.display=="table-row"){
$(_5f).style.display="none";
}
}
return false;
}
function hideLayer(_60,_61){
$(_60).style.display="none";
if(_61){
var lis=document.getElementsByClassName("open",$(_61));
}else{
var lis=document.getElementsByClassName("open");
}
Element.removeClassName(lis[0],"open");
Element.addClassName(lis[0],"closed");
return false;
}
function toggleRooms(_63,num){
var _65=document.getElementsByClassName("all_rates");
_65=_65[parseInt(num,10)-1];
if(_65&&_65.style.display!="block"&&_65.style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
_65.style.display="block";
}else{
_65.style.display="table-row";
}
var _66=_63.childNodes;
for(l=0;l<_66.length;l++){
if(_66[l].nodeName=="IMG"){
_66[l].setAttribute("src","../images/buttons/close_prices.gif");
break;
}
}
}else{
if(_65.style.display=="block"||_65.style.display=="table-row"){
_65.style.display="none";
var _66=_63.childNodes;
for(l=0;l<_66.length;l++){
if(_66[l].nodeName=="IMG"){
_66[l].setAttribute("src","../images/buttons/all_prices.gif");
break;
}
}
}
}
return false;
}
function toggleExtras(num){
var _68=document.getElementsByClassName("extras");
var _69=_68[parseInt(num,10)-1];
if(_69&&_69.style.display!="block"&&_69.style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
_69.style.display="block";
}else{
_69.style.display="table-row";
}
}else{
if(_69.style.display=="block"||_69.style.display=="table-row"){
_69.style.display="none";
}
}
return false;
}
function slide_image(_6a){
if(!(img_no+_6a==-1||img_no+_6a==(image_path.length-1))){
img_no+=parseInt(_6a,10);
var _6b=$("image1");
var _6c=$("image2");
_6b.src=image_path[img_no];
_6b.alt=image_desc[img_no];
_6c.src=image_path[img_no+1];
_6c.alt=image_desc[img_no+1];
}
return false;
}
function show_image(_6d){
var _6e=$("current_pic");
_6e.src=image_path[_6d];
_6e.alt=image_desc[_6d];
var _6f=$("pic_desc");
_6f.innerHTML=image_desc[_6d];
return false;
}
function includeHiddenFields(_70){
if(_70.name=="hotel_book"){
appendInputsFrom(_70,$("info_form"));
appendInputsFrom(_70,$("form_fields"));
}else{
appendInputsFrom(_70,$("form_fields"));
addLegsInfo(_70);
}
return true;
}
function appendInputsFrom(_71,_72){
var _73;
var _74=$(_72).getElementsByTagName("input");
var _75=$(_72).getElementsByTagName("select");
var _76=$(_71).elements;
var _77=_76.length;
var i;
for(var g=0;g<_74.length;g++){
_73=_74[g];
if(_73.type!="radio"||_73.checked){
i=0;
while(i<_77){
if(_76[i].name==_73.name){
break;
}
i++;
}
if(i==_77){
input=document.createElement("input");
input.name=_73.name;
input.type="hidden";
input.value=_73.value;
_71.appendChild(input);
}
}
}
for(var g=0;g<_75.length;g++){
_73=_75[g];
i=0;
while(i<_77){
if(_76[i].name==_73.name){
break;
}
i++;
}
if(i==_77){
input=document.createElement("input");
input.name=_73.name;
input.type="hidden";
input.value=_73.value;
_71.appendChild(input);
}
}
return true;
}
function bookHotel(_7a,_7b){
var _7c=$("book_form");
var _7d=document.createElement("input");
_7d.name="hotelRateId";
_7d.type="hidden";
_7d.value=_7a;
_7c.appendChild(_7d);
_7d=document.createElement("input");
_7d.name="isallocation";
_7d.type="hidden";
_7d.value=_7b;
_7c.appendChild(_7d);
_7c.submit();
return false;
}
var MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
function dmyToString(_7e){
_7e=_7e.split("/");
temp=parseInt(_7e[0],10)+" "+MONTHS[parseInt(_7e[1],10)-1];
return temp;
}
function getTimeStamp(){
var _7f=new Date();
var ts=""+_7f.getHours()+_7f.getMinutes()+_7f.getSeconds()+_7f.getMilliseconds();
return ts;
}
function pickImage(_81){
var src=_81.src;
document.getElementById("main_image").getElementsByTagName("img")[0].src="/SmallWorld/full/images/"+src.substring(src.lastIndexOf("/"));
}
function initThumbs(){
var _83=document.getElementById("thumbs_gallery").getElementsByTagName("img");
for(var i=0;i<_83.length;i++){
_83[i].onclick=function(){
pickImage(this);
};
}
}
function getRoomRates(_85){
var url=location.protocol+"//"+location.host+"/hotels/roomrates";
var _87=Form.serialize(_85);
_87+="&ts="+Math.random();
Form.disable(_85);
Element.show("wait_img");
var _88=new Ajax.Request(url,{method:"get",parameters:_87,onSuccess:showRoomRates,onFailure:roomRatesError});
return false;
}
function showRoomRates(_89){
Form.enable("fetch_rates");
Element.hide("wait_img");
if(_89.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>";
new Effect.Appear("RoomRatesTable");
}else{
Element.hide("fetch_rates");
$("RoomRatesTable").innerHTML=_89.responseText;
new Effect.Appear("RoomRatesTable");
}
}
function roomRatesError(_8a){
Form.enable("fetch_rates");
Element.hide("wait_img");
alert("Sorry, we weren't able to get room rates for this hotel at this time. Please try again later.");
}
function postToBook(_8b,_8c,_8d){
var _8e=$("form_fields");
var _8f=_8e.getElementsByTagName("input");
var _90=_8f.length;
var i=0;
var hid=true;
var rc=true;
while(i<_90){
if(_8f[i].name=="hotelid"){
hid=false;
_8f[i].value=_8b;
}
if(_8f[i].name=="roomtypecode"){
rc=false;
_8f[i].value=_8c;
}
i++;
}
if(hid){
var _94=document.createElement("input");
_94.name="hotelid";
_94.type="hidden";
_94.value=_8b;
_8e.appendChild(_94);
}
if(rc){
_94=document.createElement("input");
_94.name="roomtypecode";
_94.type="hidden";
_94.value=_8c;
_8e.appendChild(_94);
}
if(_8d){
_8e.action="/hotels/info/"+_8b;
}else{
_8e.action="https://"+location.host+"/hotels/book";
}
_8e.submit();
return false;
}
function bookRoom(_95,_96,_97){
appendInputsFrom($("form_fields"),$("fetch_rates"));
postToBook(_95,_96,_97);
return false;
}
