// JavaScript Document
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 makeOneWay(){
$("rtn_date").setAttribute("disabled","disabled");
$("ret_time").setAttribute("disabled","disabled");
}
function makeRoundTrip(){
$("rtn_date").removeAttribute("disabled");
$("ret_time").removeAttribute("disabled");
}
function toggleTab(num,_14,_15){
var _16=$(_14+"_"+num).parentNode;
while(_16.nodeName!="UL"){
_16=_16.parentNode;
}
_16=_16.getElementsByTagName("li");
for(i=0;i<_16.length;i++){
if(i==eval(parseInt(num,10)-1)){
Element.addClassName(_16[i].getElementsByTagName("a")[0],"here");
if(_15!=""&&$(_15+"_"+eval(i+1))){
$(_15+"_"+num).style.display="block";
}
}else{
Element.removeClassName(_16[i].getElementsByTagName("a")[0],"here");
if(_15!=""&&$(_15+"_"+eval(i+1))){
Element.hide($(_15+"_"+eval(i+1)));
}
}
}
if(_15=="engine"){
if(num=="2"){
Element.hide("flights_right");
$("hotels_right").style.display="block";
createCookie("tab","H",365);
checkAdvOpts("2");
}else{
if(num=="1"){
Element.hide("hotels_right");
$("flights_right").style.display="block";
createCookie("tab","F",365);
checkAdvOpts("1");
}
}
unmarkFields($(_15+"_1").getElementsByTagName("form")[0]);
$("hotel_err").style.display="none";
unmarkFields($(_15+"_2").getElementsByTagName("form")[0]);
$("flt_err").style.display="none";
}
return false;
}
function toggle(_17,_18){
if($(_17).style.display!="block"){
$(_17).style.display="block";
}else{
$(_17).style.display="none";
}
if(_18){
var li=_18;
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(_1a,_1b,_1c){
unmarkFields(_1a);
$("flt_err").style.display="none";
var _1d="";
var _1e=0;
if($F("from")==0||$F("from")=="null"){
highlight($("from"));
_1d+="<li>Please choose from the available origin locations</li>";
_1e++;
}
if($F("to")==0||$F("to")=="null"){
highlight($("to"));
_1d+="<li>Please choose from the available destinations</li>";
_1e++;
}
if(_1e!=2&&($F("from")==$F("to"))){
highlight($("to"));
_1d+="<li>Please choose a destination that is different from your origin</li>";
_1e++;
}
var _1f=$F("dpt_date");
if((_1f=="dd/mm/yyyy")||(_1f=="")){
highlight($("dpt_date"));
_1d+="<li>Please choose an appropriate departure date (dd/mm/yyyy)</li>";
_1e++;
}else{
if(datePast(_1f,_1b)){
highlight($("dpt_date"));
_1d+="<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 "+_1b+". (dd/mm/yyyy)</li>";
_1e++;
}
}
if($F("rnd_trip")=="R"){
var _20=$F("rtn_date");
if((_20=="dd/mm/yyyy")||(_20=="")){
highlight($("rtn_date"));
_1d+="<li>Please choose an appropriate return date (dd/mm/yyyy)</li>";
_1e++;
}else{
if(compareDates(stringToDate(_20),stringToDate(_1f))==1){
highlight($("rtn_date"));
_1d+="<li>Please choose a return date after your chosen departure (dd/mm/yyyy)</li>";
_1e++;
}
}
}
if($F("infants")>$F("adults")){
highlight($("infants"));
_1d+="<li>You cannot have more infants than adults travelling on a flight</li>";
_1e++;
}
if(_1e>0){
if(_1e==1){
_1d="<span>There was "+_1e+" error found in your form:</span><ol>"+_1d+"</ol>";
}else{
_1d="<span>There were "+_1e+" errors found in your form:</span><ol>"+_1d+"</ol>";
}
$("flt_err").innerHTML=_1d;
$("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 hotel_nri(box){
if(box.checked){
Form.disable("engine_2");
$("offers_2").style.display="none";
$("hotel_nri_message").style.display="block";
box.disabled=false;
box.onClick="hotel_nri(this)";
}else{
Form.enable("engine_2");
$("hotel_nri_message").style.display="none";
$("offers_2").style.display="block";
}
}
function alterChildren(num){
var _24=$("children"+num);
var _25=_24.getElementsByTagName("option");
if($F("adults"+num)=="3"){
for(var q=0;q<_25.length;q++){
if(_25[q].value=="2"){
_24.options[q]=null;
}
}
}else{
var _27=0;
for(var q=0;q<_25.length;q++){
if(_25[q].value=="2"){
_27=1;
}
}
if(_27==0){
_24.options[q]=new Option(2,2);
}
}
}
function isDestinationValid(){
var url="http://"+location.host+"/scripts/cc";
var _29="city="+encodeURIComponent($F("destination"));
var _2a=false;
var _2b=new Ajax.Request(url,{asynchronous:false,method:"get",parameters:_29});
if(_2b.responseIsSuccess()&&_2b.transport.responseText.indexOf("false")==-1){
var res=_2b.transport.responseText.split(";");
$("dest_code").value=res[0];
$("dest_name").value=res[1];
return true;
}else{
return false;
}
}
function validateHotelsForm(_2d,_2e,_2f){
unmarkFields(_2d);
$("hotel_err").style.display="none";
var _30="";
var _31=0;
if($F("city")==""){
highlight($("city"));
_30+="<li>You have entered an invalid city. You can pick from the suggested destinations that appear as you type</li>";
_31++;
}
var _32=$F("checkin_date");
if(_32=="dd/mm/yyyy"||_32==""||!checkDateSyntax(_32)){
highlight($("checkin_date"));
_30+="<li>Please choose an appropriate check-in date (dd/mm/yyyy)</li>";
_31++;
}else{
if(datePast(_32,_2e)){
highlight($("checkin_date"));
_30+="<li>You need to make a booking at least a day before you check-in. Please choose a check-in date on or after "+_2e+" (dd/mm/yyyy)</li>";
_31++;
}
}
var _33=$F("checkout_date");
if(_33=="dd/mm/yyyy"||_33==""||!checkDateSyntax(_33)){
highlight($("checkout_date"));
_30+="<li>Please choose an appropriate check-out date (dd/mm/yyyy)</li>";
_31++;
}else{
if(compareDates(stringToDate(_33),stringToDate(_32))==1||compareDates(stringToDate(_33),stringToDate(_32))==0){
highlight($("checkout_date"));
_30+="<li>Please choose a check-out date after your chosen check-in date (dd/mm/yyyy)</li>";
_31++;
}
}
if(_31>0){
if(_31==1){
_30="<span>There was "+_31+" error found in your form:</span><ol>"+_30+"</ol>";
}else{
_30="<span>There were "+_31+" errors found in your form:</span><ol>"+_30+"</ol>";
}
$("hotel_err").innerHTML=_30;
$("hotel_err").style.display="block";
return false;
}else{
_32=_32.split("/");
$("doa_dd").value=_32[0];
$("doa_mm").value=_32[1];
$("doa_yy").value=_32[2];
_33=_33.split("/");
$("dod_dd").value=_33[0];
$("dod_mm").value=_33[1];
$("dod_yy").value=_33[2];
return true;
}
return false;
}
function highlight(_34,_35){
try{
if(_35){
new Insertion.Before(_34,"<span class='err_disc'>"+_35+"</span>");
}else{
new Insertion.Before(_34,"<span class='err_arrow'>&nbsp;</span>");
}
}
catch(e){
}
}
function unmarkFields(_36){
if(_36){
var _37=document.getElementsByClassName("error",_36);
var _38=document.getElementsByClassName("err_arrow",_36);
var _39=document.getElementsByClassName("err_disc",_36);
}else{
var _37=document.getElementsByClassName("error");
var _38=document.getElementsByClassName("err_arrow");
var _39=document.getElementsByClassName("err_disc");
}
var _3a=new Array();
_3a=_3a.concat(_37,_38,_39);
for(i=0;i<_3a.length;i++){
Element.remove(_3a[i]);
}
}
function checkDateSyntax(_3b){
var _3c=/[0-9]+\/[0-9]+\/([0-9][0-9])+/;
var _3d=_3c.test(_3b);
return _3d;
}
function stringToDate(_3e){
_3e=new String(_3e);
var day=_3e.substring(0,_3e.indexOf("/"));
var _40=_3e.substring(_3e.indexOf("/")+1,_3e.indexOf("/",_3e.indexOf("/")+1));
var _41=_3e.substring(_3e.indexOf("/",_3e.indexOf("/")+1)+1,_3e.length);
if(_41.length==2){
_41="20"+_41;
}
var _42=new Date();
_42.setFullYear(parseInt(_41,10),parseInt(_40,10)-1,parseInt(day,10));
return _42;
}
function datePast(_43,_44){
if(stringToDate(_44)>stringToDate(_43)){
return true;
}else{
return false;
}
}
var browser=navigator.appName;
function compareDates(_45,_46){
if(_45.getYear()<_46.getYear()){
return 1;
}else{
if((_45.getYear()==_46.getYear())&&(_45.getMonth()<_46.getMonth())){
return 1;
}else{
if((_45.getYear()==_46.getYear())&&(_45.getMonth()==_46.getMonth())&&(_45.getDate()<_46.getDate())){
return 1;
}else{
if(_45.getDate()==_46.getDate()&&_45.getMonth()==_46.getMonth()&&_45.getYear()==_46.getYear()){
return 0;
}else{
return -1;
}
}
}
}
}
function addRooms(_47){
var num=parseInt($F(_47),10);
var tbl=document.getElementById("dynamic_rooms");
var tr,td,_4c,_4d,_4e;
var _4f=tbl.getElementsByTagName("tr").length+1;
if(num>_4f){
for(var g=_4f+1;g<=num;g++){
tr=tbl.insertRow(g-2);
td=tr.insertCell(0);
_4c=document.createTextNode("");
td.appendChild(_4c);
td=tr.insertCell(1);
_4c=document.createTextNode("Room "+g+":");
td.appendChild(_4c);
td.className="rm_num";
td=tr.insertCell(2);
_4d=document.createElement("select");
td.appendChild(_4d);
_4d.id="adults"+g;
_4d.name="NumAdults"+g;
for(var j=1;j<4;j++){
_4d.options[j-1]=new Option(j,j);
}
td=tr.insertCell(3);
_4e=document.createElement("select");
td.appendChild(_4e);
_4e.id="children"+g;
_4e.name="NumChildren"+g;
for(var j=0;j<3;j++){
_4e.options[j]=new Option(j,j);
}
}
}else{
if(num<_4f){
for(var h=_4f;h>num;h--){
tbl.deleteRow(h-2);
}
}
}
}
function toggleTableRow(_53){
if($(_53).style.display!="block"&&$(_53).style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
$(_53).style.display="block";
}else{
$(_53).style.display="table-row";
}
}else{
if($(_53).style.display=="block"||$(_53).style.display=="table-row"){
$(_53).style.display="none";
}
}
return false;
}
function hideLayer(_54,_55){
$(_54).style.display="none";
if(_55){
var lis=document.getElementsByClassName("open",$(_55));
}else{
var lis=document.getElementsByClassName("open");
}
Element.removeClassName(lis[0],"open");
Element.addClassName(lis[0],"closed");
return false;
}
function toggleRooms(_57,num){
var _59=document.getElementsByClassName("all_rates");
_59=_59[parseInt(num,10)-1];
if(_59&&_59.style.display!="block"&&_59.style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
_59.style.display="block";
}else{
_59.style.display="table-row";
}
var _5a=_57.childNodes;
for(l=0;l<_5a.length;l++){
if(_5a[l].nodeName=="IMG"){
_5a[l].setAttribute("src","../images/buttons/close_prices.gif");
break;
}
}
}else{
if(_59.style.display=="block"||_59.style.display=="table-row"){
_59.style.display="none";
var _5a=_57.childNodes;
for(l=0;l<_5a.length;l++){
if(_5a[l].nodeName=="IMG"){
_5a[l].setAttribute("src","../images/buttons/all_prices.gif");
break;
}
}
}
}
return false;
}
function toggleExtras(num){
var _5c=document.getElementsByClassName("extras");
var _5d=_5c[parseInt(num,10)-1];
if(_5d&&_5d.style.display!="block"&&_5d.style.display!="table-row"){
if(browser.indexOf("Microsoft")!=-1){
_5d.style.display="block";
}else{
_5d.style.display="table-row";
}
}else{
if(_5d.style.display=="block"||_5d.style.display=="table-row"){
_5d.style.display="none";
}
}
return false;
}
function slide_image(_5e){
if(!(img_no+_5e==-1||img_no+_5e==(image_path.length-1))){
img_no+=parseInt(_5e,10);
var _5f=$("image1");
var _60=$("image2");
_5f.src=image_path[img_no];
_5f.alt=image_desc[img_no];
_60.src=image_path[img_no+1];
_60.alt=image_desc[img_no+1];
}
return false;
}
function show_image(_61){
var _62=$("current_pic");
_62.src=image_path[_61];
_62.alt=image_desc[_61];
var _63=$("pic_desc");
_63.innerHTML=image_desc[_61];
return false;
}
function includeHiddenFields(_64){
if(_64.name=="hotel_book"){
appendInputsFrom(_64,$("info_form"));
appendInputsFrom(_64,$("form_fields"));
}else{
appendInputsFrom(_64,$("form_fields"));
addLegsInfo(_64);
}
return true;
}
function appendInputsFrom(_65,_66){
var _67;
var _68=$(_66).getElementsByTagName("input");
var _69=$(_66).getElementsByTagName("select");
var _6a=$(_65).elements;
var _6b=_6a.length;
var i;
for(var g=0;g<_68.length;g++){
_67=_68[g];
if(_67.type!="radio"||_67.checked){
i=0;
while(i<_6b){
if(_6a[i].name==_67.name){
break;
}
i++;
}
if(i==_6b){
input=document.createElement("input");
input.name=_67.name;
input.type="hidden";
input.value=_67.value;
_65.appendChild(input);
}
}
}
for(var g=0;g<_69.length;g++){
_67=_69[g];
i=0;
while(i<_6b){
if(_6a[i].name==_67.name){
break;
}
i++;
}
if(i==_6b){
input=document.createElement("input");
input.name=_67.name;
input.type="hidden";
input.value=_67.value;
_65.appendChild(input);
}
}
return true;
}
function bookHotel(_6e,_6f){
var _70=$("book_form");
var _71=document.createElement("input");
_71.name="hotelRateId";
_71.type="hidden";
_71.value=_6e;
_70.appendChild(_71);
_71=document.createElement("input");
_71.name="isallocation";
_71.type="hidden";
_71.value=_6f;
_70.appendChild(_71);
_70.submit();
return false;
}
var MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
function dmyToString(_72){
_72=_72.split("/");
temp=parseInt(_72[0],10)+" "+MONTHS[parseInt(_72[1],10)-1];
return temp;
}
function getTimeStamp(){
var _73=new Date();
var ts=""+_73.getHours()+_73.getMinutes()+_73.getSeconds()+_73.getMilliseconds();
return ts;
}
function pickImage(_75){
var src=_75.src;
document.getElementById("main_image").getElementsByTagName("img")[0].src="/SmallWorld/full/images/"+src.substring(src.lastIndexOf("/"));
}
function initThumbs(){
var _77=document.getElementById("thumbs_gallery").getElementsByTagName("img");
for(var i=0;i<_77.length;i++){
_77[i].onclick=function(){
pickImage(this);
};
}
}
