﻿$(window).load(function() {
    // any input type=text or textarea we'll filter non-latin characters
    $("input[type=text]:not([exclude])").each(function(o){$(this).keypress(validateOnKeyPress);$(this).change(validateOnChange);validateOnChange(null, this);});
    $("textarea").each(function(o){$(this).keypress(validateOnKeyPress);$(this).change(validateOnChange);validateOnChange(null, this);});
    // only do this if we have a we have the correct controls
    if($("#txtRefineSearchCheckIn").length > 0){if(isRestaurantBooking()){RefineSearchLoadRestaurantParty();}else{RefineSearchLoadParty(1);if(!isDayBooking()){RefineSearchLoadParty(2);RefineSearchLoadParty(3);RefineSearchLoadParty(4);}}var startDate = ReadCookieContents("StartDate");var endDate = ReadCookieContents("EndDate");populateInnerHTMLByID("txtRefineSearchCheckIn", dateFormat(startDate, ""));populateInnerHTMLByID("txtRefineSearchCheckOut", dateFormat(endDate, ""));RefineSearchDisplayHeader();if($.isFunction(ShowRefineSearchPanel)){if(ReadQueryString("rsb")=="o")ShowRefineSearchPanel();}SetPromotionID(true);}
    if($("#scrollablecontent").length > 0)$("#scrollablecontent").scrollable({size: 1}).circular().navigator().autoscroll({autoplay:true, interval:6000});
    if(isMAC()){handleMACSpecificIssues();}
    checkForCookiesEnabled();
    if ($("#BookNow_Table").length != 0)
        SetupStartupValues();
});
$(document.body).mousedown(function(event) {
    var $target = $(event.target);
    
	if($target.parents("#divBookNowChildren").length==0)HideBookNowChildren();
    if($target.parents("#divBookNowAddCode").length==0&&$target.context.id!="aAddCode"&&$target.parents("#aAddCode").length==0)HideBookNowAddCode();
});
$(window).resize(function() { 
    HideBookNowChildren();
    HideBookNowAddCode();      
});
//initialize Primary Nav (superfish plugin...menugenerator.css/.js)
jQuery(function(){jQuery('ul.sf-menu').superfish();});

function OneLink(sHostname){document.location.href=document.location.protocol+"//"+sHostname+"/default.aspx";} 
function getBookNowURL(){if(DEFAULT_SITEID=='')return '/booknow.aspx';else return '/booknow.aspx?SiteID='+DEFAULT_SITEID;}
function checkForCookiesEnabled(){if(cookiesDisabled())$('#nocookieserrormsgmainwrap').css('display','block');else $('#nocookieserrormsgmainwrap').css('display','none');}
function cookiesDisabled(){document.cookie="testcookie";if(document.cookie.indexOf("testcookie")==-1)return true;else return false;}
function isIE6(){if(navigator.userAgent.toLowerCase().indexOf('msie 6.0')!=-1&&navigator.appVersion.toLowerCase().indexOf('msie 6.0')!=-1)return true;else return false;}

function isMAC(){if(navigator.appVersion.toLowerCase().indexOf("mac")!=-1)return true;else return false;}
function handleMACSpecificIssues(){$("#searchcontrolswrap").attr("class","searchcontrolswrap searchcontrolswrap_mac");$("#searchboxnavigationrightimage").attr("class","searchboxnavigationrightimage searchboxnavigationrightimage_mac");}
function IsUserLoggedIn() {var loginStatus;loginStatus=ReadCookieContents('IsUserLoggedIn');if(loginStatus==1) return true;else return false;}
function docCenterLeft(obj){var wnd=$(window),doc=$(document),pLeft=doc.scrollLeft();pLeft+=(wnd.width()-obj.outerWidth())/2;return pLeft;}
function docCenterTop(obj){var wnd=$(window),doc=$(document),pTop=doc.scrollTop();pTop+=(wnd.height()-obj.outerHeight())/2;return pTop;}
function docHeight(){if(isIE6()){var scrollHeight=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var offsetHeight=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(scrollHeight<offsetHeight)return $(window).height()+'px';else return offsetHeight+'px';}else return $(document).height()+'px';}
function docWidth(){if(isIE6()){var scrollWidth=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var offsetWidth=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(scrollWidth<offsetWidth){return $(window).width()+'px';}else{return scrollWidth+'px';}}else{return $(document).width()+'px';}}
function ShowElement(elName){$('#'+elName).show();$('#'+elName).css("visibility","visible");}
function HideElement(elName){$('#'+elName).hide();}
function toggleElement(elName){$('#'+elName).toggle();}
var showMainAnimationCounter=0;
function ShowMainAnimation(){var waitDivObj=$('#waitDiv');var flashAnimDivObj=$('#flashWaitAnimation');if(isIE6()){var animObj=document.getElementById('loadAnimation');var topPosition;topPosition=((getMainDocumentOrBody().clientHeight/2)+getScrollTop())-(animObj.height/2);if(isNaN(topPosition)){topPosition=100;}flashAnimDivObj.css("top",topPosition+"px");}waitDivObj.css("height",docHeight());waitDivObj.show();showMainAnimationCounter++;}
function getMainDocumentOrBody(){return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body;}
function HideMainAnimation(forceHide){showMainAnimationCounter--;if(forceHide||showMainAnimationCounter<=0){showMainAnimationCounter=0;$('#waitDiv').hide();}}
// backwards compatibility
//  getting javascript errors everywhere because these two functions are missing
//these need to be removed!!!!!
function ShowSearchLogo(){ShowMainAnimation();}
function HideSearchLogo(){HideMainAnimation();}
/////////////////////////////////////////////////////////////////////////////////
function getScrollTop(){var y;if(self.pageYOffset){y=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){y=document.documentElement.scrollTop;}else if(document.body){y=document.body.scrollTop;}return y;}
function SearchSite(searchStr){if((searchStr!="بحث")&&searchStr.length>0){var domain;var language;var languageStr;var searchURI;searchStr=searchStr.replace(/\s+$/,"");languageStr="";domain=document.domain.split(".");language=domain[0];if(language!="WWW"){languageStr="&language="+language;}searchURI=encodeURI("/search.aspx?query="+searchStr+languageStr);window.location.href=searchURI;}return false;}
// Legend
//  1 = standard [88px] (booknow bar, bookingToolbar closed)
//  2 = large [170px] (bookingToolbar expanded)
function switchFooterSizeForBookingToolbarExpand(size){var mcwObj=$('#'+js_maincontentwrap_clientname);var fcwObj=$('#'+js_footerwrap_clientname);switch(size){case 1:mcwObj.attr('class','maincontentwrap_hiddenexpfooter maincontentwrap_bemaster');fcwObj.attr('class','footerwrap_hiddenexpfooter');break;case 2:mcwObj.attr('class','maincontentwrap_hiddenexpfooter_expbookbar maincontentwrap_bemaster');fcwObj.attr('class','footerwrap_hiddenexpfooter_expbookbar');break;}}
function writeBookNowCookieData(myDomain,siteID,cookieTimeout,promotionID,startDate,endDate,party1,party2,party3,party4,departure,arrival,departureTime,arrivalTime,preferTime,dayTrip,restaurantOnly){var cookieDate=new Date();if(myDomain==undefined||myDomain==null)myDomain=CURRENT_DOMAIN;if(isNaN(siteID))siteID=DEFAULT_SITEID;if(party1==undefined)party1="";if(party2==undefined)party2="";if(party3==undefined)party3="";if(party4==undefined)party4="";if(departure==undefined)departure="";if(arrival==undefined)arrival="";if(departureTime==undefined)departureTime="";if(arrivalTime==undefined)arrivalTime="";if(isNaN(cookieTimeout))cookieTimeout=CURRENT_COOKIETIMEOUT;if(isNaN(cookieTimeout))cookieTimeout=1;if(preferTime==null||preferTime==undefined)preferTime="";if(dayTrip!=true&&dayTrip!=false)dayTrip=false;if(restaurantOnly!=true&&restaurantOnly!=false)restaurantOnly=false;if(promotionID==null||promotionID==undefined)promotionID="";promotionID=promotionID.replace(/\"/g,"").replace(/\'/g,"");cookieDate.setTime(cookieDate.getTime()+(cookieTimeout*24*60*60*1000));var cookieExpires="; expires="+cookieDate.toGMTString();WriteCookieContents("SiteID",siteID,cookieDate,myDomain);WriteCookieContents("PromotionID",promotionID,cookieDate,myDomain);WriteCookieContents("Party1",party1,cookieDate,myDomain);WriteCookieContents("Party2",party2,cookieDate,myDomain);WriteCookieContents("Party3",party3,cookieDate,myDomain);WriteCookieContents("Party4",party4,cookieDate,myDomain);WriteCookieContents("Departure",departure,cookieDate,myDomain);WriteCookieContents("Arrival",arrival,cookieDate,myDomain);WriteCookieContents("DepartureTime",departureTime,cookieDate,myDomain);WriteCookieContents("ArrivalTime",arrivalTime,cookieDate,myDomain);WriteCookieContents("StartDate",cookieDateFormat(startDate),cookieDate,myDomain);WriteCookieContents("EndDate",cookieDateFormat(endDate),cookieDate,myDomain);WriteCookieContents("DayTrip",dayTrip,cookieDate,myDomain);WriteCookieContents("toolbarstate","",cookieDate,myDomain);if(preferTime!='')WriteCookieContents("preferredTime",preferTime,cookieDate,myDomain);}
function WriteCookieContents(name,value,cookieDate,domain,path){if(name==null||name==undefined||name.toString().length==0)return;if(value==null||value==undefined)value="";if(path==null||path==undefined)path="/";if(domain==null||domain==undefined)domain=CURRENT_DOMAIN;if(cookieDate==null||cookieDate==undefined||cookieDate.getMonth()==undefined){var cookieTimeout=CURRENT_COOKIETIMEOUT;if(isNaN(cookieTimeout))cookieTimeout=1;cookieDate=new Date();cookieDate.setTime(cookieDate.getTime()+(cookieTimeout*24*60*60*1000));}document.cookie=name+"="+value+"; path="+path+"; domain="+domain+"; expires="+cookieDate.toGMTString();}
function cookieDateFormat(dateValue){var d=getJSDate(dateValue,null);if(d==null||isNaN(d))return"";return d.getFullYear()+"-"+zeroPad(d.getMonth()+1)+"-"+zeroPad(d.getDate());}

function zeroPad(number){var value=new Number(number);if(value>9)return""+value;return"0"+value;}
function ReadCookieContents(n){var cookiecontent=new String();if(document.cookie.length>0){var cookiename=n+'=';var cookiebegin=document.cookie.indexOf(cookiename);var cookieend=0;if(cookiebegin>-1){cookiebegin+=cookiename.length;cookieend=document.cookie.indexOf(";",cookiebegin);if(cookieend<cookiebegin){cookieend=document.cookie.length;}cookiecontent=document.cookie.substring(cookiebegin,cookieend);}}return unescape(cookiecontent);}
function ReadQueryString(n){var value=new String();if(location.search!=""){var queryString=location.search.substring(1).split("&");for(var i=0;i<queryString.length;i++){var params=queryString[i].split("=");if(params.length==2&&params[0].toLowerCase()==n.toLowerCase()){return params[1];}}return null;}}
function populateInnerHTMLByID(name,value){var jQueryName=(name[0]=="#"?name:"#"+name);var elementID=(name[0]=="#"?name.subString(1):name);var selectElement=document.getElementById(elementID);if(selectElement!=undefined){if(document.all)selectElement.innerText=value;else selectElement.textContent=value;}else {$(jQueryName).text(value);}}
function populateSelectByID(name,value){var jQueryName=(name[0]=="#"?name:"#"+name);var elementID=(name[0]=="#"?name.subString(1):name);var selectElement=document.getElementById(elementID);if(selectElement!=undefined){for(var index=0;index<selectElement.options.length;index++){if(selectElement.options[index].selected)selectElement.options[index].selected=false;if(selectElement.options[index].value==value){selectElement.options[index].selected=true;break;}}}else {$(jQueryName).val(value);}}
function GetNumberOfRooms(){var party1=ReadCookieContents("Party1");var party2=ReadCookieContents("Party2");var party3=ReadCookieContents("Party3");var party4=ReadCookieContents("Party4");if(party4!="")return 4;if(party3!="")return 3;if(party2!="")return 2;return 1;}
function GetParty(index){var adults=new Array();var kids=new Array();var party=ReadCookieContents("Party"+index);var partyArray=party.split(",");for(var i=0;i<partyArray.length;i++){var age=new Number(partyArray[i]);if(!isNaN(age)&&age>0)if(age>17)adults[adults.length++]=age;else kids[kids.length++]=age;}return{adults:adults,kids:kids};}
function dateFormat(dateValue,defaultValue){if(defaultValue==undefined)defaultValue="";try{var dateObj=dateValue;if(isNaN(dateObj)||dateObj.getMonth==undefined){dateObj=getJSDate(dateValue,null,"yyyy/mm/dd");if(dateObj==null||isNaN(dateObj)){dateObj=getJSDate(dateValue,null);}if(dateObj==null||isNaN(dateObj)){dateObj=getJSDate(dateValue,null,"mm/dd/yyyy");}if(dateObj==null||isNaN(dateObj)){dateObj=new Date(dateValue);}}if(dateObj==null||isNaN(dateObj))return defaultValue;var month=(dateObj.getMonth()+1);var day=dateObj.getDate();var year=dateObj.getFullYear();return siteDateFormat(year,month,day);}catch(e){return defaultValue;}}
function getJSDate(dateValue,defaultValue,defaultDateFormat){var regExValue;var regExMonth,regExDay,regExYear;if(!isNaN(dateValue)&&dateValue.getMonth!=undefined)return dateValue;if(defaultValue==undefined)defaultValue=new Date("invalid date");if(defaultDateFormat==undefined||defaultDateFormat==null)defaultDateFormat=DEFAULT_DATEFORMAT;if(defaultDateFormat==undefined||defaultDateFormat==null)defaultDateFormat="mm/dd/yyyy";if(dateValue==null||dateValue==undefined)return defaultValue;if(defaultDateFormat.toLowerCase()=="dd/mm/yyyy"){regExValue=dateValue.toString().match(/(\d?\d)[- /.](\d?\d)[-/.](\d\d\d\d)/);}else if(defaultDateFormat.toLowerCase()=="yyyy/dd/mm"){regExValue=dateValue.toString().match(/(\d\d\d\d)[- /.](\d?\d)[-/.](\d?\d)/);}else if(defaultDateFormat.toLowerCase()=="yyyy/mm/dd"){regExValue=dateValue.toString().match(/(\d\d\d\d)[- /.](\d?\d)[-/.](\d?\d)/);}else if(defaultDateFormat.toLowerCase()!="mm/dd/yyyy"){alert("unsupported date format, please update siteDateFormat function");return defaultValue;}else{regExValue=dateValue.toString().match(/(\d?\d)[- /.](\d?\d)[-/.](\d\d\d\d)/);}if(regExValue==null){return defaultValue;}if(defaultDateFormat.toLowerCase()=="dd/mm/yyyy"){regExMonth=new Number(regExValue[2]);regExDay=new Number(regExValue[1]);regExYear=new Number(regExValue[3]);}else if(defaultDateFormat.toLowerCase()=="yyyy/dd/mm"){regExMonth=new Number(regExValue[3]);regExDay=new Number(regExValue[2]);regExYear=new Number(regExValue[1]);}else if(defaultDateFormat.toLowerCase()=="yyyy/mm/dd"){regExMonth=new Number(regExValue[2]);regExDay=new Number(regExValue[3]);regExYear=new Number(regExValue[1]);}else{regExMonth=new Number(regExValue[1]);regExDay=new Number(regExValue[2]);regExYear=new Number(regExValue[3]);}return new Date(regExYear,regExMonth-1,regExDay);}
function siteDateFormat(year,month,day,defaultDateFormat){if(defaultDateFormat==undefined||defaultDateFormat==null)defaultDateFormat=DEFAULT_DATEFORMAT;if(defaultDateFormat==undefined||defaultDateFormat==null)defaultDateFormat="mm/dd/yyyy";if(defaultDateFormat.toLowerCase()=="dd/mm/yyyy")return(day>9?day:"0"+day)+"/"+(month>9?month:"0"+month)+"/"+year;if(defaultDateFormat.toLowerCase()=="yyyy/dd/mm")return year+"/"+(day>9?day:"0"+day)+"/"+(month>9?month:"0"+month);if(defaultDateFormat.toLowerCase()=="yyyy/mm/dd")return year+"/"+(month>9?month:"0"+month)+"/"+(day>9?day:"0"+day);if(defaultDateFormat.toLowerCase()!="mm/dd/yyyy")alert("unsupported date format, please update siteDateFormat function");return(month>9?month:"0"+month)+"/"+(day>9?day:"0"+day)+"/"+year;}
// Reservations Ajax Scripts
function jAjax(reqURL,reqData,successHandler,errorHandler,isShowSearchLogo){if(isShowSearchLogo)ShowMainAnimation();$.ajax({type:'POST',contentType:'application/json; charset=utf-8',url:reqURL,dataType:'json',data:reqData,success:function(xhr){successHandler(xhr);ConvertCurrencyFromCookie();},error:function(xhr){if($.isFunction(errorHandler)){errorHandler(xhr);return;}if(xhr.responseText)ShowBookingMessage(xhr.responseText);else ShowBookingMessage('حدث خطأ في النظام.');HideMainAnimation();return false;}});}
function jAjaxReservationService(reqURL,reqData,successHandler,errorHandler,isShowSearchLogo){if(isShowSearchLogo)ShowMainAnimation();$.ajax({type:'POST',contentType:'application/json; charset=utf-8',url:'/reservations/ReservationService.asmx/'+reqURL,dataType:'json',data:reqData,success:function(xhr){successHandler(xhr);ConvertCurrencyFromCookie();},error:function(xhr){if($.isFunction(errorHandler)){errorHandler(xhr);return;}if(xhr.responseText)ShowBookingMessage(xhr.responseText);else ShowBookingMessage('حدث خطأ في النظام.');HideMainAnimation();return false;}});}
function ShowSessionOutMessage(url){HideMainAnimation();$("#sessionOutDialog").dialog({modal:true,width:400,close:function(){window.location.href=url;}});$("#sessionOutDialog").dialog('open');}
function HideSessionOutMessage(){$("#sessionOutDialog").dialog('close');return false;}
function ShowErrorMessage(msg){var obj=$('#divMainErrorMsg');obj.html('<span class="main_errorsubbarwrap">'+msg+'</span>');obj.show();window.scrollTo(0,0);}
function HideErrorMessage(){var obj=$('#divMainErrorMsg');obj.html('');obj.hide();}
function ShowInfoMessage(msg){var obj=$('#divMainInfoMsg');obj.html('<span class="main_messagesubbarwrap">'+msg+'</span>');obj.show('normal');window.scrollTo(0,0);}
function HideInfoMessage(){var obj=$('#divMainInfoMsg');obj.html('');obj.hide('normal');}
function ShowBookingMessage(msg){var obj=$('#divBookingErrorMsg');obj.html('<span class="rsv_errorsubbarwrap">'+msg+'</span>');obj.show('normal');window.scrollTo(0,0);}
function HideBookingMessage(){var obj=$('#divBookingErrorMsg');obj.html('');obj.hide('normal');}
function ShowBookingInfoMessage(msg){var obj=$('#divBookingInfoMsg');obj.html('<span class="rsv_messagesubbarwrap">'+msg+'</span>');obj.show('normal');window.scrollTo(0,0);}
function HideBookingInfoMessage(){var obj=$('#divBookingInfoMsg');obj.html('');obj.hide('normal');}
function ShowWaterMark(obj, objVal){$(obj).filter(function(){return $(this).val()==""}).val(objVal);}
function HideWaterMark(obj, objVal){$(obj).filter(function(){return $(this).val()==""||$(this).val()==objVal}).val('');}
function SuccessHandler(respAction,respData,errEvt,succEvt,NavEvt,ValEvt){this.ErrorEvt=errEvt;this.SuccessEvt=succEvt;this.NavigateEvt=NavEvt;this.ValidationEvt=ValEvt;this.responseAction=respAction;this.responseData=respData;this.SuccessAction=function(){switch(this.responseAction){case"1":if(!$.isFunction(this.ErrorEvt)){ShowBookingMessage(respData);HideMainAnimation();return;}this.ErrorEvt(this.responseData);HideMainAnimation();break;case"2":if(!$.isFunction(this.SuccessEvt)){HideMainAnimation();return;}this.SuccessEvt(this.responseData);HideBookingMessage(respData);HideMainAnimation();break;case"3":if(!$.isFunction(this.NavigateEvt)){location=respData;return;}this.NavigateEvt(this.responseData);break;case"4":if(!$.isFunction(this.ValidationEvt)){HideMainAnimation();return;}this.ValidationEvt(this.responseData);HideMainAnimation();break;case"5":ShowSessionOutMessage(respData);break;default:ShowBookingMessage("تم الكشف عن استجابة خاطئة: "+this.responseAction);HideMainAnimation();break;}}}
function JoinValues(JoinTo,value,separator){if($.trim(JoinTo)=='')JoinTo=value;else JoinTo+=separator+value;return JoinTo;}
// END Reservations Ajax Scripts
// Booking Toolbar Ajax Scripts
function RefreshToolbar(divName,Type){var divBT=$(divName);if(divBT.length>0){ShowMainAnimation();$.ajax({type:'POST',contentType:'application/json; charset=utf-8',url:'/_services/BookingToolbar.asmx/'+Type,dataType:'html',data:'',success:function(data){$(divName).html(data);if(divName=="#divBookingToolbarCustomize"){$(divName).parent().css("display","");$(divName).parent().next().css("display","none");}else if(divName=="#divBookingToolbarViewPriceSummaryDetails"){$("#spanBookingToolbarRemaingTripCost").html($("#tdBookingToolbarRemaingTripCost").html());$("#spanBookingToolbarTotal").html($("#tdBookingToolbarRemaingTripCost").html());}ConvertCurrencyFromCookie();HideMainAnimation();},error:function(xhr){if(xhr.responseText)ShowBookingMessage(xhr.responseText);else ShowBookingMessage('Refresh: حدث خطأ في النظام.');HideMainAnimation();return false;}});}}
function RefreshBookingToolbarTravelInfo(){RefreshToolbar("#divBookingToolbarTravelInfo",'GetTravelInfoHTML');}
function RefreshBookingToolbarTravelInfoPopup(){RefreshToolbar("#divBookingToolbarTravelInfoPopup",'GetTravelInfoPopupHTML');}
function RefreshBookingToolbarAccommodations(){RefreshToolbar("#divBookingToolbarAccommodations",'GetAccommodationsHTML');}
function RefreshBookingToolbarAccommodationsPopup(){RefreshToolbar("#divBookingToolbarAccommodationsPopup",'GetAccommodationsPopupHTML');}
function RefreshBookingToolbarCustomize(){RefreshToolbar("#divBookingToolbarCustomize",'GetCustomizeHTML');}
function RefreshBookingToolbarViewPriceSummary(){RefreshToolbar("#divBookingToolbarViewPriceSummaryDetails",'GetViewPriceSummaryHTML');}
// END Booking Toolbar Ajax Scripts
// START MY PLAN Scripts
function TermsAndConditions(){var myhost=window.location.host;var url="http://"+myhost+"/reservations/termsandconditions.aspx";window.open(url);return false;}
function RebateForm(){window.open("http://www.atlantis.com/rebate.aspx");return false;}
// END MY PLAN Scripts
function ShowManageYourStayBottom(){if(IsUserLoggedIn()){window.location.href='/reservations/Secure/MyPlan.aspx';}else{window.scrollTo(0,0);HideElement('stouchdlg');HideElement('fgtpwddlg');ShowElement('logindialogmainwrap');document.getElementById('txtLoginEmail').focus();}}
function ShowStayInTouchBottom(){if(IsUserLoggedIn()){location="/reservations/secure/myaccount.aspx";}else{window.scrollTo(0,0);HideElement('logindialogmainwrap');HideElement('fgtpwddlg');ShowElement('stouchdlg');document.getElementById('txtStayFirstName').focus();}return false;}
// Book Now Already Booked Login User Control 
function ValidateLoginControl(){var objEmail=$("input[cID='loginEmail']");var objPassword=$("input[cID='loginPassword']");var objErr=$("div[cID='LoginControlErrorMsg']");if(objEmail.val()==""||objPassword.val()==""){if(objEmail.val()==""||objEmail.val()=='البريد الإلكتروني'){objEmail.addClass('error');}else{objEmail.removeClass('error');}if(objPassword.val()==""){objPassword.addClass('error');}else{objPassword.removeClass('error');}objErr.html('البريد الإلكتروني/كلمة المرور غير صالحة.');return false;}else{objEmail.removeClass('error');objPassword.removeClass('error');objErr.html('');var emailAddress=objEmail.val();if(ValidateEmail(emailAddress)){objErr.html('');}else{objErr.html('يرجى تقديم عنوان بريد إلكتروني صالح.');objEmail.addClass('error');return false;}}}
function ValidateEmail(emailAddress){var emailPattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;if(emailPattern.test(emailAddress)){return true;}else{return false;}}
// End Book Now Already Login User Control 
// Weather Page //
function UpdateWeatherType(weatherType){if(weatherType=='fahrenheit'){ShowElement('ctl00_ContentPlaceHolder_Main_divweather0Fahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_divweather1Fahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_divweather2Fahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_divweather3Fahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_divweather4Fahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_tableAveragesFahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_divweather0Celsius');HideElement('ctl00_ContentPlaceHolder_Main_divweather1Celsius');HideElement('ctl00_ContentPlaceHolder_Main_divweather2Celsius');HideElement('ctl00_ContentPlaceHolder_Main_divweather3Celsius');HideElement('ctl00_ContentPlaceHolder_Main_divweather4Celsius');HideElement('ctl00_ContentPlaceHolder_Main_tableAveragesCelsius');}else{HideElement('ctl00_ContentPlaceHolder_Main_divweather0Fahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_divweather1Fahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_divweather2Fahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_divweather3Fahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_divweather4Fahrenheit');HideElement('ctl00_ContentPlaceHolder_Main_tableAveragesFahrenheit');ShowElement('ctl00_ContentPlaceHolder_Main_divweather0Celsius');ShowElement('ctl00_ContentPlaceHolder_Main_divweather1Celsius');ShowElement('ctl00_ContentPlaceHolder_Main_divweather2Celsius');ShowElement('ctl00_ContentPlaceHolder_Main_divweather3Celsius');ShowElement('ctl00_ContentPlaceHolder_Main_divweather4Celsius');ShowElement('ctl00_ContentPlaceHolder_Main_tableAveragesCelsius');}return false;}
// End Weather Page
function BookNowCustomSearch(SiteID,StartDate,EndDate,PromoID){var party1=ReadCookieContents("Party1");var party2=ReadCookieContents("Party2");var party3=ReadCookieContents("Party3");var party4=ReadCookieContents("Party4");var startDate=dateFormat(StartDate,"");var endDate=dateFormat(EndDate,"");ShowMainAnimation();writeBookNowCookieData(CURRENT_DOMAIN,SiteID,CURRENT_COOKIETIMEOUT,PromoID,startDate,endDate,party1,party2,party3,party4);location="/reservations/searchresults.aspx?action=rs";}
function ValidateCheckInDate(checkIn,searchType,errorFunction,navigationFunction){var CheckInDate=getJSDate(checkIn);if(searchType!="1"&&searchType!="2"&&searchType!="3")searchType="1";if(!$.isFunction(errorFunction))errorFunction=function(data){HideMainAnimation();ShowErrorMessage(data);};if(!$.isFunction(navigationFunction))navigationFunction=function(data){location=data;};jAjaxReservationService('AreDatesValid','{"CheckInDate":"'+dateFormat(CheckInDate)+'","SearchType":"'+searchType+'"}',function(obj){if(obj.d==null)return;var arr=obj.d.split('~');if(arr.length<2)return;var obj=new SuccessHandler(arr[0],arr[1],errorFunction,null,navigationFunction,null).SuccessAction();},null,true);}
function ClearItemCookies(){document.cookie="ItemCount=0; path=/"+"; domain="+CURRENT_DOMAIN;}
function GotoURL(url){ShowMainAnimation();location=url;}
/* Refine Search Scripts */
var refineSearchMinimumNoOfNights = 1;
var refineSearchIe6MarginTop = null;
function isDayBooking(){return($("#txtRefineSearchCheckOut").parent().css("display")=="none" && $("#tblRestaurant").css("display")=="none");}
function isRestaurantBooking(){return($("#tblRestaurant").css("display")!="none");}
function validateOnKeyPress(e){hide_tooltip(this);if(e.which>=0&&e.which<=255)return(true);show_tooltip("Forms are available in English only.",this);return(false);}
function validateOnChange(e,obj){var showError=false;if(obj==undefined){obj=this;showError=true;}var value=$(obj).val();var replacedValue=value.replace(/([^\u0000-\u00FF])/g,'');if(value!=replacedValue&&showError)show_tooltip("Forms are available in English only.",obj);else hide_tooltip(obj);$(obj).val(replacedValue);return true;}
function RefineSearchLoadRestaurantParty(){var party=GetParty(1);var adults=party.adults.length;var kids=party.kids.length;var ages=party.kids;var youngest=17;for(var i=0;i<ages.length;i++){if(ages[i]<youngest)youngest=ages[i];}populateSelectByID("selAdultsRestaurant",(adults==0?2:adults));populateSelectByID("selChildrenRestaurant",kids);populateSelectByID("selYoungestChildRestaurant",youngest);}
function RefineSearchLoadParty(index){var party=GetParty(index);var adults=party.adults.length;var kids=party.kids.length;var ages=party.kids;for(var i=0;i<ages.length;i++){populateSelectByID("ddlChildrenDD"+index+(i+1),ages[i]);$("#tdChildrenDD"+index+(i+1)).show();}populateSelectByID("ddlRoom"+index,(adults==0?2:adults));populateSelectByID("ddlRoomChildren"+index,kids);if(adults>0&&index!=1)RefineSearchAddRoom(index);}
function ShowRefineSearchPanel(){if(cookiesDisabled()){try{var cookieMsg=($("#ctl00_ctl00_nocookiesmsgwrap").text());alert(cookieMsg);}catch(err){}}else{$("#tblRefineSearch").css("left","");if(isIE6()){if(refineSearchIe6MarginTop!=null){refineSearchIe6MarginTop=$("#tblRefineSearch").position().top;$("#tblRefineSearch").css("margin-top",refineSearchIe6MarginTop+"px");$("#tblRefineSearch").css("top","");}}else{$("#tblRefineSearch").css("top","")}$("#divRefineSearchButton").css("visibility","hidden");$("#tblRefineSearch").show();}}
function HideRefineSearchPanel(){$("#tblRefineSearch").hide();$("#divRefineSearchButton").css("visibility","visible");hide_tooltip();}
function RefineSearchShowCalendarCheckIn(){var minDate=getTimezoneDate();var maxDate=new Date();var control=$("#txtRefineSearchCheckIn");var curX=control.offset().left-92+40;var curY=control.offset().top-getDatePickerHeight();hide_tooltip();minDate.setDate(minDate.getDate()+DEFAULT_ADVANCEDAYSFORCHECKIN);maxDate.setFullYear(maxDate.getFullYear()+3,maxDate.getMonth(),maxDate.getDate());datePickerShowCalendar("#txtRefineSearchCheckIn",minDate,maxDate,curX,curY,"absolute","datepicker_top_dialog",RefineSearchShowCalendarCheckInChange);if(curY!=control.offset().top-getDatePickerHeight()){datePickerResetY(control.offset().top-getDatePickerHeight());}}
function RefineSearchShowCalendarCheckInChange(dateText){var checkInDate=getJSDate($("#txtRefineSearchCheckIn").text());var checkOutDate=getJSDate($("#txtRefineSearchCheckOut").text());var newCheckInDate=getJSDate(dateText,getTimezoneDate());var daysBooked=(checkOutDate.getTime()-checkInDate.getTime());if(!isNaN(daysBooked)){daysBooked=daysBooked/24/60/60/1000;if(daysBooked<refineSearchMinimumNoOfNights)daysBooked=refineSearchMinimumNoOfNights;checkOutDate.setFullYear(newCheckInDate.getFullYear(),newCheckInDate.getMonth(),newCheckInDate.getDate()+daysBooked);$("#txtRefineSearchCheckOut").text(dateFormat(checkOutDate,"تاريخ تسجيل الخروج"));}$("#txtRefineSearchCheckIn").text(dateText);}
function RefineSearchShowCalendarCheckOut(){var maxDate=new Date();var minDate=getJSDate($("#txtRefineSearchCheckIn").text());var control=$("#txtRefineSearchCheckOut");var curX=control.offset().left-92+40;var curY=control.offset().top-getDatePickerHeight();hide_tooltip();maxDate.setFullYear(maxDate.getFullYear()+3,maxDate.getMonth(),maxDate.getDate());if(isNaN(minDate)){minDate=getTimezoneDate();minDate.setDate(minDate.getDate()+DEFAULT_ADVANCEDAYSFORCHECKIN);}minDate.setFullYear(minDate.getFullYear(),minDate.getMonth(),minDate.getDate()+refineSearchMinimumNoOfNights);datePickerShowCalendar("#txtRefineSearchCheckOut",minDate,maxDate,curX,curY,"absolute","datepicker_top_dialog");if(curY!=control.offset().top-getDatePickerHeight()){datePickerResetY(control.offset().top-getDatePickerHeight());}}
function RefineSearchAddRoom(rooms){if(rooms==undefined){if($("#trRoom2").is(":hidden"))rooms=2;else if($("#trRoom3").is(":hidden"))rooms=3;else rooms=4;}$("#trRoom2").hide();$("#trRoom3").hide();$("#imgRemoveRoom2").show();$("#trRoom4").hide();$("#imgRemoveRoom3").show();$("#aAddRoom").show();if(rooms>1){$("#trRoom2").show();}if(rooms>2){$("#trRoom3").show();$("#imgRemoveRoom2").hide();}if(rooms>3){$("#trRoom4").show();$("#imgRemoveRoom3").hide();$("#aAddRoom").hide();}RefineSearchDisplayHeader();}
function RefineSearchHideRoom(index){if(index!=2)$("#imgRemoveRoom"+(index-1)).show();$("#trRoom"+index).hide();$("#trKids"+index).hide();$("#aAddRoom").show();RefineSearchDisplayHeader();}
function RefineSearchDisplayHeader(){if($("#selChildrenRestaurant").val()>0){$("#selYoungestChildRestaurant").css("visibility","visible");$("#trRestaurantHeader").css("visibility","visible");}else{$("#trRestaurantHeader").css("visibility","hidden");$("#selYoungestChildRestaurant").css("visibility","hidden");}for(var index=1;index<=4;index++){if($("#trRoom"+index).css("display")!="none")if($("#ddlRoomChildren"+index).val()>0){$("#trHeader").css("visibility","visible");return;}}$("#trHeader").css("visibility","hidden");}
function RefineSearchNumberOfChilren(index,value){hide_tooltip();if(!isNaN(index)&&!isNaN(value)){for(var kidIndex=1;kidIndex<=6;kidIndex++){if(kidIndex<=value)$("#tdChildrenDD"+index+kidIndex).show();else $("#tdChildrenDD"+index+kidIndex).hide();}}RefineSearchDisplayHeader();}
function validChildAgesInPlanSearchDates(){var roomNumMax=4;var numOfChildren=0;for(n=1;n<=roomNumMax;n++){if($("#trRoom"+n).css("display")=="none")break;numOfChildren=$("#ddlRoomChildren"+n).val();for(i=1;i<=numOfChildren;i++){if($("#ddlChildrenDD"+n+i.toString()).val()<=0){show_tooltip('<span class=\"booknow_error\">الرجاء تحديد عمر كل طفل.</span>',"#ddlChildrenDD"+n+i,0,0);return false;}}}return true;}
function RefineSearchUpdateSearch(){var checkIn=getJSDate($("#txtRefineSearchCheckIn").text());var checkOut=getJSDate($("#txtRefineSearchCheckOut").text());var searchType="2";var minCheckIn=getTimezoneDate();minCheckIn.setFullYear(minCheckIn.getFullYear(),minCheckIn.getMonth(),minCheckIn.getDate()+DEFAULT_ADVANCEDAYSFORCHECKIN);minCheckIn.setHours(0,0,0,0);if(isNaN(checkIn)||checkIn.getTime()<minCheckIn.getTime()){if($("#txtRefineSearchCheckIn").is(":hidden"))CalendarWarning('Please select a date before searching.');else show_tooltip('<span class=\"refinesearch_error\">تم تحديد تاريخ غير صالح</span>',"#txtRefineSearchCheckIn",0);return;}else if(!isDayBooking() && !isRestaurantBooking()){searchType="1";if(isNaN(checkOut)){if($("#txtRefineSearchCheckOut").is(":hidden"))CalendarWarning('Error with checkout date.');else show_tooltip('<span class=\"refinesearch_error\">تم تحديد تاريخ غير صالح</span>',"#txtRefineSearchCheckOut",0);return;}else if(checkOut.getTime()-checkIn.getTime()<(refineSearchMinimumNoOfNights*24*60*60*1000)){show_tooltip('<span class=\"refinesearch_error\">'+refineSearchMinimumNoOfNights+'</span>',"#txtRefineSearchCheckOut",0);return;}}else if(isRestaurantBooking()){searchType="3";}if(!validChildAgesInPlanSearchDates()){return;}ValidateCheckInDate(checkIn,searchType,function(data){HideMainAnimation();ShowElement('ServerSideDateError');$('#ServerSideDateError').html(data);},function(data){$('#ServerSideDateError').html('');HideElement('ServerSideDateError');SaveRefineSearchData();location=data;});}
function SaveRefineSearchData(){var siteID=DEFAULT_SITEID;var promoID=ReadCookieContents("PromotionID");var party1=RefineSearchReadParty(1);var party2=RefineSearchReadParty(2);var party3=RefineSearchReadParty(3);var party4=RefineSearchReadParty(4);var startDate=$("#txtRefineSearchCheckIn").text();var endDate=$("#txtRefineSearchCheckOut").text();var prefTime=$("#ddlPreferTime").val();ClearItemCookies();if(isDayBooking()){var sDate=getJSDate(startDate);var eDate=new Date();eDate.setFullYear(sDate.getFullYear(),sDate.getMonth(),sDate.getDate()+4);endDate=dateFormat(eDate,startDate);siteID=DAY_SITEID;}else if(isRestaurantBooking()){var sDate=getJSDate(startDate);var eDate=new Date();eDate.setFullYear(sDate.getFullYear(),sDate.getMonth(),sDate.getDate()+4);endDate=dateFormat(eDate,startDate);siteID=RESTAURANTONLY_SITEID;party1=RefineSearchReadRestaurantParty();}if ($("#txtGroupCode").length!=0){promoID=$("#txtGroupCode").val();if(bookNowAddCodeSiteID!=null)siteID=bookNowAddCodeSiteID;}writeBookNowCookieData(CURRENT_DOMAIN,siteID,CURRENT_COOKIETIMEOUT,promoID,startDate,endDate,party1,party2,party3,party4,"","","","",prefTime,isDayBooking(),isRestaurantBooking());}
function RefineSearchReadRestaurantParty(){var retVal="";var adults=new Number($("#selAdultsRestaurant").val());var kids=new Number($("#selChildrenRestaurant").val());var youngest=new Number($("#selYoungestChildRestaurant").val());if(!isNaN(adults)){for(var adultIndex=1;adultIndex<=adults;adultIndex++){if(retVal=="")retVal="35";else retVal+=",35";}}if(!isNaN(kids)&&!isNaN(youngest)){for(var kidIndex=1;kidIndex<=kids;kidIndex++){retVal+=","+youngest;}}return retVal;}
function RefineSearchReadParty(index){var retVal="";var adults=new Number($("#ddlRoom"+index).val());var kids=new Number($("#ddlRoomChildren"+index).val());if($("#trRoom"+index).css("display")=="none")return retVal;if(!isNaN(adults)){for(var adultIndex=1;adultIndex<=adults;adultIndex++){if(retVal=="")retVal="35";else retVal+=",35";}}if(!isNaN(kids)){for(var kidIndex=1;kidIndex<=kids;kidIndex++){retVal+=","+$("#ddlChildrenDD"+index+kidIndex).val();}}return retVal;}
/* END Refine Search Scripts */
/* JS to recalc timezone */
function getTimezoneDate(dateValue,offset){var d=getJSDate(dateValue,new Date());if(offset==undefined||isNaN(offset))offset=CURRENT_TIMEZONEOFFSET;var utc=d.getTime()+(d.getTimezoneOffset()*60000);var nd=new Date(utc+(3600000*offset));return nd;}
/* END JS to recalc timezone */
function IsControlValid(errorMessage,controlName,defaultValue){var control=$(controlName);if(defaultValue==undefined||defaultValue==null)defaultValue="";if(control.val()==defaultValue&&!control.is(":disabled")&&!control.is(":hidden")){show_tooltip('<span class=errormsg>'+errorMessage+'</span>',controlName);window.scrollTo(control.offset().left,control.offset().top-50);control.focus();return false;}return true;}
function ShowLanguageNavigation(){ShowElement('languagenavigation');return false;}
function HideLanguageNavigation(){HideElement('languagenavigation');return false;}
/* Currency Conversion */
var ToCurrencyArray = undefined;
function ConvertCurrencyFromCookie(){try{var currency=ReadCookieContents("Currency");if(currency!=null&&currency!=undefined&&currency!=""){ConvertCurrencyTo(currency,false);}}catch(e){}}
function stripNumeric(val){var num="";if(val==null||val==undefined)return 0;for(var i=0;i<val.length;i++){var c=val.toString().charAt(i);if((num==""&&c=="-")||c=="."||charIsNumeric(c))num+=c;}if(isNaN(num))return 0;return num;}
function charIsNumeric(character){switch(character){case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':return true;}return false;}
function formatCurrency(num,symbol,afterText,beforeText,symbolIsBeforeNumber,decimalPlaces){var c=0;if(afterText==undefined)afterText="";if(beforeText==undefined)beforeText="";if(isNaN(decimalPlaces))decimalPlaces=0;if(symbol==undefined)symbol="";if(symbolIsBeforeNumber!=true&&symbolIsBeforeNumber!=false)symbolIsBeforeNumber=true;num=num.toString().replace(/\$|\,/g,'');if(isNaN(num))num="0";var sign=(num==(num=Math.abs(num)));var divideBy=(10^decimalPlaces);if(divideBy>0)num=num*divideBy;num=Math.floor(num+0.50000000001);if(divideBy>0){c=num%divideBy;num=Math.floor(num/divideBy).toString();}var cents="";for(var i=c.toString().length;i<decimalPlaces;i++)cents+="0";cents+=c;var amount=new Number(num+='.'+cents);num=amount.toFixed(decimalPlaces)+"";cents=(decimalPlaces==0)?"":num.substring(num.indexOf(".")+1);num=(decimalPlaces==0)?num:num.substring(0,num.indexOf("."));for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));if(decimalPlaces>0)num+="."+cents;var beforeSymbol="";var afterSymbol="";if(symbolIsBeforeNumber)beforeSymbol=symbol;else afterSymbol=symbol;if(!sign)beforeSymbol+='-';return(beforeText+beforeSymbol+num+afterSymbol+afterText);}
function ConvertCurrencyTo(toValue,showError){var divCurrencySelector=$("#divCurrencySelector");var fromValue=DEFAULT_CURRENCY;var elements=$("[amount]");var currency=null;$("[currency]").removeClass("highlight");$("[currency='"+toValue+"']").addClass("highlight");WriteCookieContents("Currency",toValue);try{if(ToCurrencyArray==undefined){divCurrencySelector.hide();return;}}catch(e){divCurrencySelector.hide();return;}if(showError)HideBookingMessage();ShowMainAnimation();for(var iCur=0;iCur<ToCurrencyArray.length;iCur++){if(ToCurrencyArray[iCur][0]==toValue){currency=ToCurrencyArray[iCur];break;}}if(currency==null||currency[1]<=0){elements.each(function(i){$(this).css("display","none");});divCurrencySelector.hide();HideMainAnimation();return;}try{elements.each(function(i){var el=$(this);var amount=new Number(stripNumeric(el.attr("amount")));var beforeText=el.attr("beforeText");var afterText=el.attr("afterText");var decimalPlaces=currency[4];var symbol=(el.attr("symbol")==null||el.attr("symbol").toLowerCase()!='false')?currency[0]+" ":"";var symbolIsBeforeNumber=true;var txt=el.text();if(!isNaN(amount)){if(currency[1]==1){el.css("display","none");}else{var newVal=amount*currency[1];if(el.attr("cents")!=null&&el.attr("cents").toLowerCase()=='false')decimalPlaces=0;el.text("(مقدرًا "+formatCurrency(newVal,symbol,afterText,beforeText,symbolIsBeforeNumber,decimalPlaces)+")");el.css("display","");}}});}catch(e){}if(currency[1]==1){$("[cID='divNightlyRates']").each(function(i){$(this).show();});$("[cID='divNightlyRatesWithEstimate']").each(function(i){$(this).hide();});}else{$("[cID='divNightlyRates']").each(function(i){$(this).hide();});$("[cID='divNightlyRatesWithEstimate']").each(function(i){$(this).show();});}divCurrencySelector.hide();HideMainAnimation();}
/* END Currency Conversion */
function ShowNightlyRates(div){var d=$("#"+div);d.show();var top=Math.floor(d.parent().offset().top+d.parent().height()+19);var left=Math.floor(d.parent().offset().left+(d.parent().outerWidth()/2)-(d.outerWidth()/2));if(isIE6()){top-=143;}d.css("top",top+"px");d.css("left",left+"px");}
function HideNightlyRates(div){var d=$("#"+div);d.hide();}
/* ATP Order Form */
// default before message
var ATPOrderFormEmailBeforeOrder="<"+"html"+">"+"<"+"head"+">"+"<"+"style"+">"+".orderformtable{border:solid 2px black;width:500px;}.orderformtable td{border-bottom:solid 1px black;border-left:solid 1px black;padding:6px;white-space:nowrap;}.orderform_important{font-weight:bold;}"+"<"+"/style"+">"+"<"+"/head"+">"+"<"+"body"+">"+"تم تسليم طلبك للبنود التالية:"+"<"+"BR/"+">"+"<"+"BR/"+">";
// default after message
var ATPOrderFormEmailAfterOrder = "<"+"BR/"+">"+"<"+"BR/"+">"+"لم يتم فرض أية رسوم عليك. سوف نتصل بك لتأكيد طلبك وإبلاغك بتفاصيل التحصيل."+"<"+"BR/"+">"+"<"+"BR/"+">"+"<"+"div class='orderform_important'>PLEASE NOTE THAT ALL ORDERS MUST BE PLACED AT LEAST 72 HOURS PRIOR TO REQUESTED COLLECTION DATE."+"<"+"/div"+">"+"<"+"/body"+">"+"<"+"/html"+">";
// default kerzner address
var ATPOrderFormEmailKerzner = "restaurantreservations@atlantisthepalm.com";
var ATPOrderFormOrderID = "0";
function ATPOrderFormSubmit(){if($("#btnOrderFormSubmit").attr("value")=="تأكيد")ATPOrderFormConfirm();else ATPOrderFormCreate();}
function ATPOrderFormConfirm(){var OrderId=ATPOrderFormOrderID;var Email=$("#OrderFormEmail").val();var OrderEmail=ATPOrderFormGetOrderEmail();jAjax('/_services/BrochureRequest.asmx/ConfirmOrderForm','{"OrderId":"'+OrderId+'","KerznerEmailAddress":"'+ATPOrderFormEmailKerzner+'","CustomerEmailAddress":"'+Email+'","OrderEmailContent":"'+OrderEmail+'"}',function(obj){if(obj.d==null)return;var arr=obj.d.split('~');if(arr.length<2)return;var obj=new SuccessHandler(arr[0],arr[1],function(data){ShowErrorMessage(data);},function(data){ATPOrderFormSetupThankYou();},null,null).SuccessAction();HideMainAnimation();},function(obj){ShowErrorMessage("Error completing order form data.");HideMainAnimation();},true);}
function ATPOrderFormGetOrderEmail(){var value="<div>الاسم: "+$("#OrderFormCustomerName").val()+"</div><br/><div>رقم الهاتف: "+$("#OrderFormPhoneNumber").val()+"</div><br/><div>البريد الإلكتروني: "+$("#OrderFormEmail").val()+"</div><br/><div>تاريخ التحصيل المطلوب: "+$("#OrderFormCollectionDate").val()+"</div><br/><br/>";value+="<table><tr id='trOrderFormReviewHeader' style='background: #66aaff; color: black'><td style='min-width: 380px'>Description:</td><td style='width: 70px'>Price</td><td style='width: 50px'>Qty</td></tr>";$("tr[orderformrow][total!=0]").each(function(o){var quanity=parseInt($("input",this).val());var displayAmount=$("span[amount='']",this).parent().text();var description=$("td[description='']",this).text();value+="<tr><td>"+description+"</td><td>"+displayAmount+"</td><td>"+quanity+"</td></tr>";});value+="</table>";return ATPOrderFormEmailBeforeOrder+value+ATPOrderFormEmailAfterOrder;}
function ATPOrderFormGetOrderDelimited(){var value="";$("tr[orderformrow][total!=0]").each(function(o){var quanity=parseInt($("input",this).val());var amount=parseInt($("span[amount='']",this).text());var description=$("td[description='']",this).text();if(value.length>0)value+="|";value+=description+"~"+amount+"~"+quanity;});return value;}
function ATPOrderFormCreate(){var CustomerName=$("#OrderFormCustomerName").val();var PhoneNumber=$("#OrderFormPhoneNumber").val();var Email=$("#OrderFormEmail").val();var CollectionDate=getJSDate($("#OrderFormCollectionDate").val());var OrderEmail=ATPOrderFormGetOrderEmail();var orderDelimitedDetails=ATPOrderFormGetOrderDelimited();var PageName=location.pathname;HideErrorMessage();if(CustomerName==null||CustomerName.length==0){ShowErrorMessage("الرجاء إدخال اسمك:");return;}else if(PhoneNumber==null||PhoneNumber.length==0){ShowErrorMessage("الرجاء إدخال رقم هاتفك:");return;}else if(Email==null||Email.length==0){ShowErrorMessage("الرجاء إدخال عنوان بريدك الإلكتروني .");return;}else if(!ValidateEmail(Email)){ShowErrorMessage("الرجاء إدخال عنوان بريد إلكتروني صالح.");return;}else if(isNaN(CollectionDate)){ShowErrorMessage("الرجاء إدخال تاريخ التحصيل الذي ترغب به.");return;}else if($("tr[orderformrow][total!=0]").length==0){ShowErrorMessage("الرجاء اختيار منتج.");return;}var colDate=siteDateFormat(CollectionDate.getFullYear(),CollectionDate.getMonth()+1,CollectionDate.getDate(),"MM/dd/yyyy");jAjax('/_services/BrochureRequest.asmx/ReviewOrderForm','{"customerName":"'+CustomerName+'","phoneNumber":"'+PhoneNumber+'","emailAddress":"'+Email+'","pageName":"'+PageName+'","requestedCollectionDate":"'+colDate+'","orderEmailContent":"'+OrderEmail+'","orderDelimitedDetails":"'+orderDelimitedDetails+'"}',function(obj){if(obj.d==null)return;var arr=obj.d.split('~');if(arr.length<2)return;var obj=new SuccessHandler(arr[0],arr[1],function(data){ShowErrorMessage(data);},function(data){ATPOrderFormOrderID=data;ATPOrderFormSetupReview();},null,null).SuccessAction();HideMainAnimation();},function(obj){ShowErrorMessage("خطأ في معالجة بيانات نموذج الطلب.");HideMainAnimation();},true);}
function ATPUpdateTotal(tableRow){var total=0;$("tr[orderformrow]").each(function(o){var quanity=parseInt($("input",this).val());var amount=parseInt($("span[amount='']",this).text());if(isNaN(amount))amount=0;if(isNaN(quanity))quanity=0;if(quanity>0)total+=(amount*quanity);});var value=$("input",tableRow).val();$("span[quantity='']",tableRow).text(value);$(tableRow).attr("total",value);$("#OrderFormTotal").text(formatCurrency(total));}
function ATPOrderFormSetupReview(){HideErrorMessage();HideInfoMessage();$("tr[orderformrow][total=0]").hide();$("#trOrderFormReviewHeader").show();$("input","tr[orderformrow]").hide();$("span[quantity='']","tr[orderformrow]").show();$("#btnOrderFormBack").parents("table").show();$("#btnOrderFormSubmit").attr("value","تأكيد");$("#divOrderFormCustomerName").text($("#OrderFormCustomerName").val());$("#divOrderFormPhoneNumber").text($("#OrderFormPhoneNumber").val());$("#divOrderFormEmail").text($("#OrderFormEmail").val());$("#divOrderFormCollectionDate").text($("#OrderFormCollectionDate").val());$("#OrderFormCustomerName").hide();$("#OrderFormPhoneNumber").hide();$("#OrderFormEmail").hide();$("#OrderFormCollectionDate").hide();$("#divOrderFormCustomerName").show();$("#divOrderFormPhoneNumber").show();$("#divOrderFormEmail").show();$("#divOrderFormCollectionDate").show();$("#imgOrderFormCollectionDate").hide();}
function ATPOrderFormReset(){HideErrorMessage();HideInfoMessage();$("#btnOrderFormBack").attr("value","رجوع");$("span[quantity='']","tr[orderformrow]").hide();$("#trOrderFormReviewHeader").hide();$("input","tr[orderformrow]").show();$("tr[orderformrow]").show();$("#btnOrderFormBack").parents("table:first").hide();$("#btnOrderFormSubmit").attr("value","متابعة");$("#btnOrderFormSubmit").parents("table").show();$("#divOrderFormCustomerName").hide();$("#divOrderFormPhoneNumber").hide();$("#divOrderFormEmail").hide();$("#divOrderFormCollectionDate").hide();$("#OrderFormCustomerName").show();$("#OrderFormPhoneNumber").show();$("#OrderFormEmail").show();$("#OrderFormCollectionDate").show();$("#imgOrderFormCollectionDate").show();}
function ATPOrderFormSetupThankYou(){HideErrorMessage();HideInfoMessage();$("tr[orderformrow][total!=0]").each(function(o){$(this).attr("total",0);$("input",this).val(0);});$("#OrderFormCustomerName").val("");$("#OrderFormPhoneNumber").val("");$("#OrderFormEmail").val("");$("#OrderFormCollectionDate").val("");$("#btnOrderFormSubmit").parents("table:first").hide();$("#btnOrderFormBack").attr("value","تقديم طلب جديد");ShowInfoMessage("شكرا لك، سوف نتصل بك لتأكيد طلبك وإبلاغك بتفاصيل التحصيل.");}
function ATPOrderFormSetupPopupDate(obj){var minDate=getTimezoneDate();var maxDate=new Date();var control=$(obj);var curX=control.offset().left-92+40;var curY=control.offset().top-getDatePickerHeight();hide_tooltip();maxDate.setFullYear(maxDate.getFullYear()+3,maxDate.getMonth(),maxDate.getDate());datePickerShowCalendar(obj,minDate,maxDate,curX,curY,"absolute","datepicker_top_dialog");datePickerResetY(control.offset().top-getDatePickerHeight());}
/* END ATP Order Form */
function isValidChildAge(age){if(age>0){return true;}else{return false;}}
/* Book Now Toolbar */
function BookNowTripType(vacation){hide_tooltip();if(vacation){ChangeCssClass(".booknow_vacation_unselected","booknow_vacation_selected");ChangeCssClass(".booknow_daytrip_selected","booknow_daytrip_unselected");if($("#txtBookNowCheckIn").text()=="Date")$("#txtBookNowCheckIn").text("تاريخ تسجيل الدخول");$("#txtBookNowCheckOut").parent().show();$("#txtBookNowCheckOut").parent().next().show();$("#liParty1").removeClass("booknow_selectspacer");$("#liSearchSpacer").removeClass("booknow_seperatorline_daybooking").removeClass("booknow_seperatorline_daybooking_withedit");if(GetNumberOfRooms()>1){$("#liParty1").hide();$("#liMultiParty").show();$("#liAddARoom").hide();}else{$("#liAddARoom").removeClass("booknow_addaroom_daybooking");$("#liAddARoom").show();}}else{ChangeCssClass(".booknow_vacation_selected", "booknow_vacation_unselected");ChangeCssClass(".booknow_daytrip_unselected", "booknow_daytrip_selected");if($("#txtBookNowCheckIn").text()=="تاريخ تسجيل الدخول")$("#txtBookNowCheckIn").text("Date");$("#txtBookNowCheckOut").parent().hide();$("#txtBookNowCheckOut").parent().next().hide();$("#liAddARoom").addClass("booknow_addaroom_daybooking");$("#liParty1").addClass("booknow_selectspacer");$("#liParty1").show();$("#liMultiParty").hide();if($("#aBookNowEditChildren").is(":hidden"))$("#liSearchSpacer").addClass("booknow_seperatorline_daybooking");else{$("#liSearchSpacer").addClass("booknow_seperatorline_daybooking_withedit");}}ResizeForBookNowChildren();}
function ChangeCssClass(obj,className){if($(obj).attr("class")!=className)$(obj).attr("class",className);}
var bookNowSearchClicked = false;
var bookNowAddCodeService = false;
var bookNowAddCodeSiteID = null;
var fixedBottomHeight = 50;
function LoadBookNow(){ShowMainAnimation();SaveBookNowData();location = "/booknow.aspx";}
function BookNowSearch(){try{if(cookiesDisabled()){try{var cookieMsg=($("#ctl00_nocookiesmsgwrap").text());alert(cookieMsg);}catch(err){}}else if(bookNowAddCodeService){bookNowSearchClicked = true;}else{var checkIn=getJSDate($("#txtBookNowCheckIn").text());var checkOut=getJSDate($("#txtBookNowCheckOut").text());var searchType="2";var minCheckIn=getTimezoneDate();minCheckIn.setFullYear(minCheckIn.getFullYear(),minCheckIn.getMonth(),minCheckIn.getDate()+bookNowAdvanceDaysForCheckIn);minCheckIn.setHours(0,0,0,0);hide_tooltip();if(isNaN(checkIn)||checkIn.getTime() < minCheckIn.getTime()){show_tooltip('<span class=\"booknow_error\">تم تحديد تاريخ غير صالح</span>', "#txtBookNowCheckIn", 0);return;}else if(!isBookNowDayBooking()){searchType="1";if(isNaN(checkOut)){show_tooltip('<span class=\"booknow_error\">تم تحديد تاريخ غير صالح</span>', "#txtBookNowCheckOut", 0);return;}else if(checkOut.getTime()-checkIn.getTime()<(bookNowMinimumNoOfNights*24*60*60*1000)){show_tooltip('<span class=\"booknow_error\">'+bookNowMinimumNoOfNights+'</span>',"#txtBookNowCheckOut",0);return;}}if(!validChildAgesInBookNowToolbar()){show_tooltip('<span class=\"booknow_error\">الرجاء تحديد عمر كل طفل.</span>',"#selBookNowChildren",0,50);return;}ValidateCheckInDate(checkIn,searchType,function(data){HideMainAnimation();show_tooltip('<span class="booknow_error">'+data+'</span>',"#txtBookNowCheckIn",0);},function(data){SaveBookNowData();location=data;});}}catch(e){}}
var bookNowAdvanceDaysForCheckIn = 1;
var bookNowMinimumNoOfNights = 1;
function SetupStartupValues(){var rooms=GetNumberOfRooms();var party1=GetParty(1);var party2=GetParty(2);var party3=GetParty(3);var party4=GetParty(4);var adults=party1.adults.length;var children=party1.kids;var totalAdults=party1.adults.length;if(rooms>1&&!isNaN(party2.adults.length))totalAdults+=party2.adults.length;if(rooms>2&&!isNaN(party3.adults.length))totalAdults+=party3.adults.length;if(rooms>3&&!isNaN(party4.adults.length))totalAdults+=party4.adults.length;var totalChildren=party1.kids.length;if(rooms>1&&!isNaN(party2.kids.length))totalChildren+=party2.kids.length;if(rooms>2&&!isNaN(party3.kids.length))totalChildren+=party3.kids.length;if(rooms>3&&!isNaN(party4.kids.length))totalChildren+=party4.kids.length;var checkIn=ReadQueryString("StartDate");if(checkIn==null){if(bookNowOverrideStartDate!="")checkIn=bookNowOverrideStartDate;else checkIn=ReadCookieContents("StartDate");}var checkOut=ReadQueryString("EndDate");if(checkOut==null){if(bookNowOverrideEndDate!="")checkOut=bookNowOverrideEndDate;else checkOut=ReadCookieContents("EndDate");}var promoID=ReadQueryString("PromotionID");if(promoID==null){if(bookNowOverridePromotionID!="")promoID=bookNowOverridePromotionID;else promoID=ReadCookieContents("PromotionID");}if(!isNaN(rooms)&&rooms > 1){$("#liAddARoom").hide();$("#liParty1").hide();$("#liMultiParty").show();$("#spanBookNowTotalRooms").text(rooms.toString());$("#spanBookNowTotalParty").text(totalAdults+" Adults"+(totalChildren==0?"":" / Kids "+totalChildren));}populateInnerHTMLByID("txtBookNowCheckIn",dateFormat(checkIn,"تاريخ تسجيل الدخول"));populateInnerHTMLByID("txtBookNowCheckOut",dateFormat(checkOut,"تاريخ تسجيل الخروج"));if(ReadCookieContents("DayTrip")=='true' && !$(".booknow_triptype", "#divBookNow").is(":hidden")){BookNowTripType(false);}$("#txtBookNowAddCode").val(promoID);populateSelectByID("selBookNowAdults",(adults==0?'2':adults));if(children.length==1&&children[0]=='')populateSelectByID("selBookNowChildren", "0");else{populateSelectByID("selBookNowChildren", children.length);}for(var i=0;i<children.length;i++){if(children[i]=='')populateSelectByID("selBookNowChild"+(i+1), "1");else populateSelectByID("selBookNowChild"+(i+1), children[i]);}ResizeForBookNowChildren();bookNowAdvanceDaysForCheckIn=new Number(DEFAULT_ADVANCEDAYSFORCHECKIN);if($("#txtBookNowAddCode").val().length>0){ResetGreenCheckImage();}}
function SaveBookNowData(){var siteId=DEFAULT_SITEID;var daySiteId=DAY_SITEID;var promoID="";var party1=ReadCookieContents("Party1");var party2=ReadCookieContents("Party2");var party3=ReadCookieContents("Party3");var party4=ReadCookieContents("Party4");var startDate=$("#txtBookNowCheckIn").text();var endDate=$("#txtBookNowCheckOut").text();var cookieTimeout=new Number(CURRENT_COOKIETIMEOUT);ClearItemCookies();if(isBookNowDayBooking()) {var sDate=getJSDate(startDate);var eDate=new Date();eDate.setFullYear(sDate.getFullYear(), sDate.getMonth(), sDate.getDate()+4);endDate=dateFormat(eDate, startDate);siteId=daySiteId;}if($("#imgBookNowGreenCheck").css("visibility")!="hidden"&&$("#imgBookNowGreenCheck").attr("class")=="booknow_greencheck"){promoID=$("#txtBookNowAddCode").val();siteId=bookNowAddCodeSiteID;}if($("#liParty1").css("display")!="none"){party1="";party2="";party3="";party4="";var adults=new Number($("#selBookNowAdults").val());if(!isNaN(adults)){for (var i=1; i<=adults; i++){if(party1!="") party1+=",";party1+="35";}var children=new Number($("#selBookNowChildren").val());if(!isNaN(children)){for(var i=1;i<=children;i++){party1+=","+$("#selBookNowChild"+i).val();}}}}writeBookNowCookieData(CURRENT_DOMAIN, siteId, cookieTimeout, promoID, startDate, endDate, party1, party2, party3, party4, "", "", "", "", "", isBookNowDayBooking());}
function BookNowShowCalendarCheckIn(){try{var minDate=getTimezoneDate();var maxDate=new Date();var control=$("#txtBookNowCheckIn");var curX=control.offset().left-92+40;var curY=fixedBottomHeight; var position=$("#BookNow_Table").css("position");hide_tooltip();if(position=="undefined")position="fixed";else if(position!="fixed"){position="absolute";curY=control.offset().top-getDatePickerHeight();}minDate.setDate(minDate.getDate()+bookNowAdvanceDaysForCheckIn);maxDate.setFullYear(maxDate.getFullYear()+3, maxDate.getMonth(), maxDate.getDate());HideBookNowAddCode();HideBookNowChildren();datePickerShowCalendar("#txtBookNowCheckIn", minDate, maxDate, curX, curY, position, "datepicker_top_dialog", BookNowShowCalendarCheckInChange);if(position!="fixed"&&curY!= control.offset().top-getDatePickerHeight()){datePickerResetY(control.offset().top-getDatePickerHeight());}}catch(e){}}
function isBookNowDayBooking(){return $("#txtBookNowCheckOut").is(":hidden");}
function BookNowShowCalendarCheckInChange(dateText){var checkInDate=getJSDate($("#txtBookNowCheckIn").text());var checkOutDate=getJSDate($("#txtBookNowCheckOut").text());var newCheckInDate=getJSDate(dateText);var daysBooked=(checkOutDate.getTime()-checkInDate.getTime());if(!isNaN(daysBooked)){daysBooked=daysBooked/24/60/60/1000;if(daysBooked < bookNowMinimumNoOfNights) daysBooked=bookNowMinimumNoOfNights;checkOutDate.setFullYear(newCheckInDate.getFullYear(), newCheckInDate.getMonth(), newCheckInDate.getDate()+daysBooked);$("#txtBookNowCheckOut").text(dateFormat(checkOutDate, "تاريخ تسجيل الخروج"));}$("#txtBookNowCheckIn").text(dateText);}
function BookNowShowCalendarCheckOut(){try{var maxDate=new Date();var minDate=getJSDate($("#txtBookNowCheckIn").text());var control=$("#txtBookNowCheckOut");var curX=control.offset().left-92+40;var curY=fixedBottomHeight;var position=$("#BookNow_Table").css("position");hide_tooltip();if(position=="undefined")position="fixed";else if(position!="fixed"){position="absolute";curY=control.offset().top-getDatePickerHeight();}maxDate.setFullYear(maxDate.getFullYear()+3, maxDate.getMonth(), maxDate.getDate());if(isNaN(minDate)){minDate=getTimezoneDate();minDate.setDate(minDate.getDate()+bookNowAdvanceDaysForCheckIn);}minDate.setFullYear(minDate.getFullYear(), minDate.getMonth(), minDate.getDate()+bookNowMinimumNoOfNights);HideBookNowAddCode();HideBookNowChildren();datePickerShowCalendar("#txtBookNowCheckOut", minDate, maxDate, curX, curY, position, "datepicker_top_dialog"); if(position!="fixed"&&curY!= control.offset().top-getDatePickerHeight()){datePickerResetY(control.offset().top-getDatePickerHeight());}}catch (e){}}
function ResizeForBookNowChildren(){var fullWidth=$("#selBookNowAdults").outerWidth();if(document.all) fullWidth=$("#selBookNowAdults").width();if($("#selBookNowChildren").val()=="0"){if(isBookNowDayBooking()){if($("#liSearchSpacer").hasClass("booknow_seperatorline_daybooking_withedit")){$("#liSearchSpacer").removeClass("booknow_seperatorline_daybooking_withedit").addClass("booknow_seperatorline_daybooking");}}$("#selBookNowChildren").width(fullWidth+"px");$("#aBookNowEditChildren").hide();}else{if(isBookNowDayBooking()){if($("#liSearchSpacer").hasClass("booknow_seperatorline_daybooking")){$("#liSearchSpacer").removeClass("booknow_seperatorline_daybooking").addClass("booknow_seperatorline_daybooking_withedit");}$("#selBookNowChildren").width(fullWidth+"px");}else{$("#selBookNowChildren").width((fullWidth-29)+"px");}$("#aBookNowEditChildren").show();}}
function HideBookNowChildren(){ResizeForBookNowChildren();HideElement("divBookNowChildren");}
function ShowBookNowChildren(){hide_tooltip();var selBookNowAdults=$("#selBookNowAdults");var selBookNowChildren=$("#selBookNowChildren");var divBookNowChildren=$("#divBookNowChildren");var children=new Number(selBookNowChildren.val());if(children==0){HideBookNowChildren();return;}divBookNowChildren.hide();for(var i=1;i<=6;i++){if(children>=i){$("#selBookNowChild"+i).show();}else{$("#selBookNowChild"+i).hide();}}if($("#BookNow_Table").css("position")!="fixed"){divBookNowChildren.css("position", "absolute");divBookNowChildren.css("top", selBookNowChildren.offset().top-divBookNowChildren.height()-13);}else{divBookNowChildren.css("position", "fixed");divBookNowChildren.css("bottom", fixedBottomHeight);}divBookNowChildren.css("left", selBookNowChildren.offset().left-(divBookNowChildren.width() / 2)+(selBookNowChildren.width() / 2));if(isIE6()){$("#divBookNowChildren").children(".booknow_arrowdownoverlay").css("background", "url(none)");}ResizeForBookNowChildren();ShowElement("divBookNowChildren");}
function HideBookNowAddCode(){if($("#aAddCode").attr("class")!="booknow_addcodeclosed"){$("#aAddCode").attr("class", "booknow_addcodeclosed");HideElement("divBookNowAddCode");ResetGreenCheckImage();}}
function ShowHideBookNowAddCode(){var aAddCode=$("#aAddCode");if(aAddCode.attr("class")=="booknow_addcodeopen"){HideBookNowAddCode();}else{aAddCode.attr("class", "booknow_addcodeopen");if($("#BookNow_Table").css("position")!="fixed"){$("#divBookNowAddCode").css("position", "absolute");$("#divBookNowAddCode").css("top", aAddCode.offset().top-40-13);}else{$("#divBookNowAddCode").css("position", "fixed");$("#divBookNowAddCode").css("bottom", fixedBottomHeight);}$("#divBookNowAddCode").css("left", aAddCode.offset().left-($("#divBookNowAddCode").width() / 2)+($(aAddCode).width() / 2));if(isIE6()){$("#divBookNowAddCode").children(".booknow_arrowdownoverlay").css("background", "url(none)");}ShowElement("divBookNowAddCode");}}
function ResetGreenCheckImage(){var promotionID=$("#txtBookNowAddCode").val();if(promotionID==undefined)return;promotionID=promotionID.replace(/\"/g, "").replace(/\'/g, "");$("#txtBookNowAddCode").val(promotionID);$("#imgBookNowGreenCheck").css("visibility", "hidden");bookNowAddCodeSiteID=null;if(promotionID!=null&&promotionID.length > 0){bookNowAddCodeService=true;jAjaxReservationService('GetSiteIDByPromotionCode','{"promotionCode":"'+promotionID+'","returnSiteID":"true"}',function(obj){if(obj.d==null)return;var arr=obj.d.split('~');if(arr.length < 2) return;var obj=new SuccessHandler(arr[0], arr[1],function(data){$("#imgBookNowGreenCheck").attr("class", "booknow_redx");$("#imgBookNowGreenCheck").css("visibility", "visible");$("#imgBookNowGreenCheck").attr("title", data);bookNowAddCodeService=false;if(bookNowSearchClicked) BookNowSearch();},function(data){ $("#imgBookNowGreenCheck").attr("class", "booknow_greencheck");$("#imgBookNowGreenCheck").css("visibility", "visible");$("#imgBookNowGreenCheck").attr("title", "Valid Code");bookNowAddCodeService=false;bookNowAddCodeSiteID=data;if(bookNowSearchClicked) BookNowSearch();}, null, null).SuccessAction();HideMainAnimation();}, null, true);}}
function validChildAgesInBookNowToolbar(){var agesValid=true;var numOfChildren=$("#selBookNowChildren").val();for(i=1;i<=numOfChildren;i++){if($("#selBookNowChild"+i.toString()).val()<=0){agesValid=false}}return agesValid;}
/* END Book Now Toolbar */
function DefaultSiteIDSearch(siteID){ShowMainAnimation();WriteCookieContents("SiteID",siteID);location="/reservations/searchresults.aspx?action=rs";}
/* Book Day Trip */
function BookNowDayTripCalendar(txtBox)
{
    var minDate = getTimezoneDate();
    var maxDate = new Date();
    var control = $("#" + txtBox);
    var curX=control.offset().left - 92 + 30;
    var curY=control.offset().top - getDatePickerHeight();
    
    hide_tooltip();
    
    minDate.setDate(minDate.getDate() + DEFAULT_ADVANCEDAYSFORCHECKIN);
    // 3 years from now is more than enough, most bookings are within 3 months, max 6 months
    maxDate.setFullYear(maxDate.getFullYear() + 3, maxDate.getMonth(), maxDate.getDate());
    
    datePickerShowCalendar("#" + txtBox, minDate, maxDate, curX, curY, "absolute", "datepicker_top_dialog");
    if (curY !=  control.offset().top - getDatePickerHeight())
    {
        datePickerResetY(control.offset().top - getDatePickerHeight());
    }
}
function BookNowDayTripShowKids(presenterName)
{
  var selKid = "#selKids" + presenterName
  var selKids = $(selKid);
  var divKids = $("#divKids" + presenterName);
  var editKids = $("#aEditKids" + presenterName);
  

  var children = new Number(selKids.val());

  divKids.hide();
  editKids.css("visibility", "hidden");

  if (children == 0) 
      return;

  editKids.css("visibility", "visible");

  for (var i = children + 1; i != 7; i++)
    $(selKid + '_' + i).hide();

  for (var i = 1; i != children + 1; i++)
    $(selKid + '_' + i).show();
  
  divKids.css("position", "absolute");
  divKids.css("top", selKids.position().top - divKids.height() - 13);
  divKids.css("left", selKids.position().left - (divKids.width() / 2) + (selKids.width() / 2));
  if (isIE6())
  {
      divKids.children(".booknow_arrowdownoverlay").css("background", "url(none)");
  }
  ShowElement("divKids" + presenterName);
}
function BookNowDayTripSearch(presenterName)
{
  var searchType = "2"; // 2 = daybooking
  var minCheckIn = getTimezoneDate();
  var txtDate = "#txtDate" + presenterName;
  var checkIn = $(txtDate).text();
  var checkInDate = getJSDate(checkIn);
    
  minCheckIn.setFullYear(minCheckIn.getFullYear(), minCheckIn.getMonth(), minCheckIn.getDate() + DEFAULT_ADVANCEDAYSFORCHECKIN);
  minCheckIn.setHours(0, 0, 0, 0);
    
  if (isNaN(checkInDate))
  {
      show_tooltip_error('Invalid Date Specified', txtDate);
      return;
  }
  
  ShowMainAnimation();

  // Do a server side call to verify the checkin date
  ValidateCheckInDate
  (
      checkInDate, 
      searchType,
      function(data) {
          HideMainAnimation();
          ShowElement('ServerSideDateError');
          $('#ServerSideDateError').html(data);
      },
      function(data) { 
          $('#ServerSideDateError').html('');
          HideElement('ServerSideDateError');
          SaveBookDayTrip(presenterName);
          location = data;
      }
  );
}      
function SaveBookDayTrip(presenterName)
{
    var siteID = DAY_SITEID;
    var promoID = ReadCookieContents("PromotionID");
    var party1 = "";
    var party2 = "";
    var party3 = "";
    var party4 = "";
    var startDate = $("#txtDate" + presenterName).text();
    var endDate = startDate;
    var selKid = "#selKids" + presenterName
    var adults = $("#selAdults" + presenterName).val();
    var kids = $(selKid).val();
    var party1 = "";
    var sDate = getJSDate(startDate);
    var eDate = new Date();
    
    eDate.setFullYear(sDate.getFullYear(), sDate.getMonth(), sDate.getDate() + 4);
    // if we dont get a valid date we'll use the start date
    endDate=dateFormat(eDate, startDate);
    
    ClearItemCookies();
    
    for (var i=0; i != adults; i++)
    {
        if (party1.length != 0) party1+=",";
        party1 += "35";
    }
    for (var i=0; i != kids; i++)
    {
        if (party1.length != 0) party1+=",";
        party1 += $(selKid + '_' + (i+1)).val();
    }

    writeBookNowCookieData(CURRENT_DOMAIN, siteID, CURRENT_COOKIETIMEOUT, promoID, startDate, endDate, party1, party2, party3, party4, "", "", "", "", "", true, false);
}

function GetStartDate()
{
    var checkIn = ReadQueryString("StartDate");
    if (checkIn == null) 
    {
        if (bookNowOverrideStartDate != undefined && bookNowOverrideStartDate != "")
            checkIn = bookNowOverrideStartDate;
        else
            checkIn = ReadCookieContents("StartDate");
    }       
    return checkIn;
}
function GetEndDate()
{
    var checkOut = ReadQueryString("EndDate");
    if (checkOut == null) 
    {
        if (bookNowOverrideEndDate != undefined && bookNowOverrideEndDate != "")
            checkOut = bookNowOverrideEndDate;
        else
            checkOut = ReadCookieContents("EndDate");
    }   
    return checkOut; 
}
/* END Book Day Trip */

function isSafariMobile()
{
    //alert(navigator.userAgent);
    if((navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1) || (navigator.userAgent.indexOf('iPad') != -1))
    return true;
    else return false;
}

function GlobalShowCallBack()
{
    HideElement('fgtpwddlg');
    HideElement('logindialogmainwrap');
    HideElement('stouchdlg');
    ShowElement('callBackDialog');
}
     
function ValidateCallBack() {
    if ($('#txtCBName').val() == "" || $('#txtCBPhoneNumber').val() == "" || $('#txtCBEmail').val() == "" || $('#txtCBCheckIn').val() == "" || $('#txtCBCheckOut').val() == "") {
        if (jQuery.trim($('#txtCBName').val()) == "") { DoBorderColorRed("txtCBName"); } else { ClearBorderColor("txtCBName"); }
        if (jQuery.trim($('#txtCBPhoneNumber').val()) == "") { DoBorderColorRed("txtCBPhoneNumber"); } else { ClearBorderColor("txtCBPhoneNumber"); }
        if ($('#txtCBEmail').val() == "") { DoBorderColorRed("txtCBEmail"); } else { if (ValidateEmail($('#txtCBEmail').val())) { ClearBorderColor("txtCBEmail"); } }
        if (jQuery.trim($('#ddlCBTime option:selected').text()) == "") { DoBorderColorRed("ddlCBTime"); } else { ClearBorderColor("ddlCBTime"); }
        if (jQuery.trim($('#txtCBCheckIn').val()) == "") { DoBorderColorRed("txtCBCheckIn"); } else { ClearBorderColor("txtCBCheckIn"); }
        if (jQuery.trim($('#txtCBCheckOut').val()) == "") { DoBorderColorRed("txtCBCheckOut"); } else { ClearBorderColor("txtCBCheckOut"); }
        $('#CBErrorMsg').html(' الرجاء تزويدنا بكافة المعلومات المطلوبة.');
        return false;
    } else {
        $('#CBErrorMsg').html('');
        var emailAddress = $('#txtCBEmail').val();
        if (ValidateEmail(emailAddress)) {
            $('#CBErrorMsg').html('');
            ClearBorderColor("txtCBName");
            ClearBorderColor("txtCBPhoneNumber");
            ClearBorderColor("txtCBEmail");
            ClearBorderColor("ddlCBTime");
            ClearBorderColor("txtCBCheckIn");
            ClearBorderColor("txtCBCheckOut");
            SubmitCallBack();            
        } else {
        $('#CBErrorMsg').html(' الرجاء تزويدنا بعنوان بريد إلكتروني صالح.');
            DoBorderColorRed("txtCBEmail");
            return false;
        }
    }
}

function SubmitCallBack() {
    var objFrm = document.getElementById("frmCallBack");
    if (!objFrm) return;
    objFrm.action = 'https://' + window.location.host + '/callback.aspx';
    
    $('#hdCBName').val($('#txtCBName').val());
    $('#hdCBPhoneNumber').val($('#txtCBPhoneNumber').val());
    $('#hdCBEmail').val($('#txtCBEmail').val());
    $('#hdCBTime').val($('#ddlCBTime option:selected').text());
    $('#hdCBCheckIn').val($('#txtCBCheckIn').val());
    $('#hdCBCheckOut').val($('#txtCBCheckOut').val());    
    $('#hdCBReturnURL').val($("input[cID='hdCallBackReturnURL']").val());
    objFrm.submit();
}

function ShowCallBackMessage() {
    HideMainAnimation();
    $("#callBackSuccessDialog").dialog({ modal: true, width: 400 });
    $("#callBackSuccessDialog").dialog('open');
}
function HideCallBackMessage() {
    $("#callBackSuccessDialog").dialog('close');
    return false;
}

// * Start JS from BookYourStaySearch.ascx */
function SetPromotionID(loading)
{
    if (loading!=true) 
        loading=false;

    var promotionID =  $('#txtGroupCode').val();
    if (loading)
    {
        promotionID=ReadCookieContents("PromotionID");
        if (promotionID != null && promotionID.length > 0)
            ToggleOptionalArea();
    }
    promotionID = jQuery.trim(promotionID).replace(/\"/g, "").replace(/\'/g, "");
    $('#txtGroupCode').val(promotionID);
    
    HideErrorMessage();      
    
    if($('#btnAddCode').val() == 'إزالة')
    {
        $('#btnAddCode').val("تطبيق");
        if (!loading) $('#GroupCodeError').html("تمت إزالة الرمز");
        $('#txtGroupCode').val('');
        bookNowAddCodeSiteID=null;
        if (typeof promoSiteIDChanged == 'function')promoSiteIDChanged(bookNowAddCodeSiteID);
        return false;   
    }
      
    if(promotionID.length == 0){
        if (!loading) $("#txtGroupCode").addClass("error");
        if (!loading) $('#GroupCodeError').html("هذا الرمز غير صالح.");
        if (!loading) ShowErrorMessage("الرمز الذي أدخلته غير صالح. أعد المحاولة.");
        return false;
    }
    else
    {
        $('#GroupCodeError').html("");
        
        jAjaxReservationService('GetSiteIDByPromoCode',
        '{"promotionCode":"' + promotionID + '","returnSiteID":"true"}',
        function(obj) {
            if (obj.d == null) return;

            var arr = obj.d.split('~');
            if (arr.length < 2) return;
            var obj = new SuccessHandler(arr[0], arr[1], 
                function (data) 
                { 
                    if (!loading) $("#txtGroupCode").addClass("error");
                    if (!loading) $('#GroupCodeError').html(data); 
                    bookNowAddCodeSiteID=null;
                    if (typeof promoSiteIDChanged == 'function')promoSiteIDChanged(bookNowAddCodeSiteID);
                    if (!loading) ShowErrorMessage(data);
                }, 
                function (data) { 
                    $("#txtGroupCode").removeClass("error");
                    if (!loading) $('#GroupCodeError').html("Your Promo Code is applied successfuly. Please continue with the search."); 
                    bookNowAddCodeSiteID=data;
                    if (typeof promoSiteIDChanged == 'function')promoSiteIDChanged(bookNowAddCodeSiteID);
                    $('#btnAddCode').val("إزالة");
                }, null, null).SuccessAction();
            HideMainAnimation();
        }, null, true);
      
    }
    
    return true;
}

function ElementPosition(toElement, fromElement)
{
    $("#" + toElement).css("position", "absolute");
    $("#" + toElement).css("left", $("#" + fromElement).offset().left);
    $("#" + toElement).css("top", $("#" + fromElement).offset().top);
    $("#" + fromElement).css("visibility", "hidden");
    $("#" + toElement).show();
}    
function ToggleOptionalArea() {
    var elem = document.getElementById("optionsDiv");

    if (elem != null) {
        if (elem.className == "rsv_gray_arrow_up") {
            elem.className = "rsv_gray_arrow_down";
            document.getElementById("divOptionalArea").style.display = "";
        } else {
            elem.className = "rsv_gray_arrow_up";
            document.getElementById("divOptionalArea").style.display = "none";
        }
    } else {
        document.getElementById("divOptionalArea").style.display = "none";
    }
}

function ValidateEmail(emailAddress) {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    if (emailPattern.test(emailAddress)) {
        return true;
    } else {
        return false;
    }
}

function ValidateEmailChange(emailAddress) {
    var objErr = $("div[cID='divAgentLoginErrorMsg']");
    if (ValidateEmail(emailAddress) == false) {
        objErr.show();
        objErr.html("يرجى تقديم عنوان بريد إلكتروني صالح.");
        objErr.addClass('error');
    }
    else {
        objErr.hide();
        objErr.html("");
        objErr.removeClass('error');
    }
}

function CheckLoginRequiredFields() {
    var objEmail = $("input[cID='txtAgentEmail']");
    var objPassword = $("input[cID='txtAgentPassword']");
    var objErr = $("div[cID='divAgentLoginErrorMsg']");
    if (objEmail.val() == "" || objPassword.val() == "") {
        if (objEmail.val() == "") { objEmail.addClass('error'); } else { objEmail.removeClass('error'); }
        if (objPassword.val() == "") { objPassword.addClass('error'); } else { objPassword.removeClass('error'); }
        objErr.show();
        objErr.html('البريد الإلكتروني/كلمة المرور غير صالحة.');
        return false;
    } else {
        objEmail.removeClass('error');
        objPassword.removeClass('error');
        objErr.html('');
        objErr.hide();
        var emailAddress = objEmail.val();
        if (ValidateEmail(emailAddress)) {
            objErr.html('');
            objErr.hide();
        } else {
            objErr.show();
            objErr.html('يرجى تقديم عنوان بريد إلكتروني صالح.');
            objEmail.addClass('error');
            return false;
        }
    }
}

function CheckAgentForgotPwdEmail() {
    if ($('#txtAgentForgotEmail').val() == "") {
        DoBorderColorRed("txtAgentForgotEmail");
        $('#divFgtPwdError').html('عنوان البريد الإلكتروني غير صالح.');
        return false;
    } else {
        $('#divFgtPwdError').html('');
        var emailAddress = $('#txtAgentForgotEmail').val();
        if (ValidateEmail(emailAddress)) {
            $('#divFgtPwdError').html('');
            ClearBorderColor("txtAgentForgotEmail");
            CallAgentForgotPassword(emailAddress);
        } else {
            $('#divFgtPwdError').html('عنوان البريد الإلكتروني غير صالح.');
            DoBorderColorRed("txtAgentForgotEmail");
            return false;
        }
    }
}
function CallAgentForgotPassword(emailAddress) {

    jAjaxReservationService('ForgotPassword',
   '{"EmailAddress":"' + emailAddress + '"}',
    function(obj) {
        if (obj.d == null) return;

        var arr = obj.d.split('~');
        if (arr.length < 2) return;

        var obj = new SuccessHandler(arr[0], arr[1],
            function(data) {
                $('#divFgtPwdError').html(data);
                //$('#divFgtPwdError').html('Your password has been emailed. Please check your email.');
                //if (jQuery.trim(data) == "Couldn't find the username or the password doesn't match") { $('#divFgtPwdError').html('Invalid email address') }
                //else { $('#divFgtPwdError').html(data); };
            },
            function(data) {
                $('#divFgtPwdError').html('تم إرسال كلمة المرور الخاصة بك عبر البريد الإلكتروني. يُرجى فحص بريدك الإلكتروني.');
                //$('#divFgtPwdError').html(data); 
            },
            null, null).SuccessAction();
    }, null, false);
    return false;
}  

function ShowRegistration()
{
    centerPopup();
    loadPopup();
}

//loading popup 
function loadPopup() {
    //loads popup only if it is disabled  
    if (popupStatus == 0) {
        $("#backgroundPopup").css({ "opacity": "0.7" });
        $("#backgroundPopup").fadeIn("slow");
        $("#PopUpRegistration").fadeIn("slow");
        popupStatus = 1;
    }
}

//disabling popup  
function disablePopup() {
    //disables popup only if it is enabled
    if (popupStatus == 1) {
        $("#backgroundPopup").fadeOut("slow");
        $("#PopUpRegistration").fadeOut("slow");
        popupStatus = 0;
    }
}

//centering popup  
function centerPopup() {
    //request data for centering  
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = $("#PopUpRegistration").height();
    var popupWidth = $("#PopUpRegistration").width();
    //centering  
    $("#PopUpRegistration").css({ "position": "absolute", "top": windowHeight / 2 - popupHeight / 2, "left": windowWidth / 2 - popupWidth / 2 - 150 });
    //only need force for IE6
    $("#backgroundPopup").css({ "height": windowHeight });
}

function regPopupClose() {
    disablePopup();
}

function TARegPopupClose() {
    HideElement('TARegDiv');
    ShowElement('DatesDiv');
}
function ShowTARegistration() {
    HideElement('DatesDiv');
    ShowElement('TARegDiv');
}

// * End JS from BookYourStaySearch.ascx */

function RefineSearchCalendarNumberOfChilren(index, value) {
    hide_tooltip();
    if (!isNaN(index) && !isNaN(value)) {
        if (value>0)        
        {
            $("#trKids"+index).show();
        }
        else
        {
            $("#trKids"+index).hide();
        }         
        for (var kidIndex = 1; kidIndex <= 6; kidIndex++) {
            if (kidIndex <= value) $("#tdChildrenDD" + index + kidIndex).show();
            else $("#tdChildrenDD" + index + kidIndex).hide();
        }
    }
    //RefineSearchDisplayHeader();
}

function RefineSearchCalendarAddRoom(rooms) {
    if (rooms == undefined) {
        if ($("#trRoom2").is(":hidden")) rooms = 2;
        else if ($("#trRoom3").is(":hidden")) rooms = 3;
        else rooms = 4;
    }
    $("#trRoom2").hide();
    $("#trRoom3").hide();
    $("#imgRemoveRoom2").show();
    $("#trRoom4").hide();
    $("#imgRemoveRoom3").show();
    $("#aAddRoom").show();
    if (rooms > 1) {
        $("#trRoom2").show();        
        if ($("#ddlRoomChildren2 option:selected").val() > 0) {
            $("#trKids2").show();        
        }
    }
    if (rooms > 2) {
        $("#trRoom3").show();
        if ($("#ddlRoomChildren3 option:selected").val() > 0) {
            $("#trKids3").show();        
        }
        $("#imgRemoveRoom2").hide();
        
    }
    if (rooms > 3) {
        $("#trRoom4").show();
        if ($("#ddlRoomChildren4 option:selected").val() > 0) {
            $("#trKids4").show();        
        }
        $("#imgRemoveRoom3").hide();
        $("#aAddRoom").hide();
    }
    //RefineSearchDisplayHeader();
}

function ExpandRefineSearchPanel() {
    $("#refineSearchArchor").click();
    $("#tblRefineSearch").css("top", "");
    $("#tblRefineSearch").css("position", "relative");
    if (isIE6()){        
        $("#.footerwrap_hiddenexpfooter_expbookbar").hide();
    }    
}