n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?''+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),B=
this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":
"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='';var z=j?'":
"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+" | ";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="'+this._get(a,"weekHeader")+" |
---|
'+
this._get(a,"calculateWeek")(r)+" | "+(F&&!D?" ":L?''+r.getDate()+"":''+
r.getDate()+"")+" |
"+(l?""+(i[0]>0&&G==i[1]-1?'':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'':"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),
l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):
g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c==
"Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");
if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,
[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.14";window["DP_jQuery_"+A]=d})(jQuery);
;
(function($) {
if (typeof nb === "undefined") {
nb = {};
nb.classes = {};
}
function SearchBox() {
// Class variables
var bbid;
var nbid;
var bbrtid;
var rtgroupid;
var jqContainer;
var jqForm;
var jqStartDate;
var jqEndDate;
var jqValidationWarning;
this.init = function() {};
this.show = function(Options) {
// Options.bbid
// Options.id
// Options.template
// Options.nbid
bbid = Options.bbid;
nbid = Options.nbid || 0;
bbrtid = Options.bbrtid|| 0;
rtgroupid = Options.rtgroupid || 0;
jqContainer = $("#" + Options.id);
jqContainer.hide();
jqContainer.append(Options.template);
nb.LanguageManager.init(jqContainer);
nb.LanguageManager.translate("searchbox", jqContainer);
f_setupForm();
jqContainer.show();
};
function f_submit() {
return f_valid();
}
function f_setupForm() {
jqForm = jqContainer.find("form");
jqForm.find("[name='bbid']").val(bbid);
jqForm.find("[name='nbid']").val(nbid);
jqForm.find("[name='bbrtid']").val(bbrtid);
jqForm.find("[name='rtgroupid']").val(rtgroupid);
jqForm.submit(f_submit);
jqStartDate = jqContainer.find(".js_start_date");
jqStartDate.change(f_changeDates);
jqEndDate = jqContainer.find(".js_end_date");
jqEndDate.change(f_changeDates);
jqValidationWarning = jqContainer.find(".js_validation_warning");
f_setDatePicker(jqStartDate);
f_setDatePicker(jqEndDate);
// Do some IE customisations
var isIE = navigator.userAgent.indexOf("MSIE") > 0;
if (isIE) {
jqForm.css("margin","0");
}
}
function f_changeDates() {
var sPlusOne;
if (jqStartDate.val() !== "") {
sPlusOne = nb.DateLib.getDate(nb.DateLib.addDays(jqStartDate.val(), 1));
if (jqEndDate.val() === "") {
jqEndDate.val(sPlusOne);
} else {
if (jqEndDate.val() < jqStartDate.val()) {
jqEndDate.val(sPlusOne);
}
}
}
}
function f_setDatePicker(jqElement) {
jqElement.datepicker(
{
"dateFormat": "yy-mm-dd",
"showOn": "both", // Open on input and button click
"buttonImage": "https://www.nightsbridge.co.za/bridge/images/buttons/calendar_edit.png",
"buttonImageOnly": false, // Place image in button tag
"changeMonth": true, // Year and month selectable
"changeYear": true
}
);
}
// On first error set message and return false
function f_valid() {
var sStartDate = jqStartDate.val();
var sEndDate = jqEndDate.val();
jqValidationWarning.empty();
// Arrival date not empty
if (sStartDate.length === 0) {
jqValidationWarning.append("" + nb.LanguageManager.getTranslation("searchbox.nostartdate") + "");
return false;
}
// Leaving date not empty
if (sEndDate.length === 0) {
jqValidationWarning.append("" + nb.LanguageManager.getTranslation("searchbox.noenddate") + "");
return false;
}
var nDiff = nb.DateLib.daysDiff(new Date(), nb.DateLib.getDateObject(sStartDate));
if (nDiff < 0) {
jqValidationWarning.append("" + nb.LanguageManager.getTranslation("searchbox.beforetoday") + "");
return false;
}
nDiff = nb.DateLib.daysDiff(nb.DateLib.getDateObject(sStartDate),nb.DateLib.getDateObject(sEndDate));
if (nDiff <= 0) {
jqValidationWarning.append("" + nb.LanguageManager.getTranslation("searchbox.endbeforestart") + "");
return false;
}
return true;
}
}
nb.classes.SearchBox = SearchBox;
})(jQuery);
(function() {
if (nb.lang == undefined) {
nb.lang = {};
}
nb.lang.en =
{
"searchbox": {
"title": "Check Availability",
"startdate": "Arrival",
"enddate": "Departure",
"button": "Search",
"nostartdate": "Please enter arrival date",
"noenddate": "Please enter leaving date",
"beforetoday": "Please enter a date after today",
"endbeforestart": "Departure date must be after arrival"
}
}
})();
nb.classes.DateLib=function(){var b=this;this.init=function(){};this.daysDiff=function(g,f){var i=1000*60*60*24;g=b.resetTime(g);f=b.resetTime(f);var h=g.getTime();var e=f.getTime();var d=e-h;return Math.round(d/i)};this.timeDiff=function(f,e){var g=f.getTime();var d=e.getTime();return d-g};this.setTime=function(e,d){var f=d.split(":");e.setHours(Number(f[0]));e.setMinutes(Number(f[1]));e.setSeconds(0);return e};this.resetTime=function(d){d.setHours(0);d.setMinutes(0);d.setSeconds(0);return d};this.getYear=function(d){return d.substr(0,4)};this.getMonth=function(d){return d.substr(5,2)};this.getDay=function(d){return d.substr(8,2)};this.getTime=function(e){e=e||new Date();var f=e.getHours().toString();var d=e.getMinutes().toString();if(f.length===1){f="0"+f}if(d.length===1){d="0"+d}return f+":"+d};this.addMonths=function(f,d){var e=b.getDateObject(f);if(typeof d==="string"){d=Number(d)}e.setMonth(e.getMonth()+d);return e};this.addDays=function(f,e){var d=b.getDateObject(f);if(typeof e==="string"){e=Number(e)}d.setDate(d.getDate()+e);return d};this.addHrsMins=function(g,i,h,e){var f=i.split(":");var d=b.getDateObject(g);h=h||0;e=e||0;d.setHours(Number(f[0]));d.setMinutes(Number(f[1]));d.setTime(d.getTime()+h*60*60*1000);d.setTime(d.getTime()+e*60*1000);return d};this.getMask=function(){return"9999-99-99"};this.getDateObject=function(d){return new Date(Number(b.getYear(d)),Number(b.getMonth(d))-1,Number(b.getDay(d)))};this.getDate=function(){if(arguments.length<=2){return a(arguments[0],arguments[1])}else{if(arguments.length===3){return c(arguments[0],arguments[1],arguments[2])}}return"0000-00-00"};this.getLongDate=function(d){return b.getDateObject(d).toString().substring(0,11)+" "+d.substring(0,4)};this.getShortDate=function(h,e){e=e||{};e.bRemoveYear=(e.bRemoveYear!==undefined)?e.bRemoveYear:false;e.bRemoveMonth=(e.bRemoveMonth!==undefined)?e.bRemoveMonth:false;e.bRemoveDay=(e.bRemoveDay!==undefined)?e.bRemoveDay:false;var j=b.getDateObject(h);var i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];var k=h.split("-");var f=[];f[3]=k[0];f[1]=i[Number(k[1])-1];f[2]=k[2];f[0]=g[j.getDay()];f[0]=f[0]+" ";f[1]=f[1]+" ";f[2]=f[2]+" ";if(e.bRemoveDay){f[0]="";f[2]=""}if(e.bRemoveMonth){f[1]=""}if(e.bRemoveYear){f[3]=""}return f.join("")};this.setFirstDayOfMonth=function(d){return d.substring(0,8)+"01"};this.setFirstDayOfYear=function(d){return d.substring(0,5)+"01-01"};this.setLastDayOfMonth=function(e){var d=new Date(Number(b.getYear(e)),Number(b.getMonth(e)),0);return b.getDate(d)};this.setLastDayOfYear=function(d){return d.substring(0,5)+"12-31"};this.validDate=function(d){return Boolean(d.match(/^\d{4}-\d{2}-\d{2}$/))};this.validTime=function(d){return Boolean(d.match(/^\d{2}:\d{2}$/))};this.getStartOfWeek=function(){var d=new Date;var e=d.getDate()-d.getDay();return(new Date(d.setDate(e))).toISOString().slice(0,10)};this.getEndOfWeek=function(){var d=new Date;var e=d.getDate()-d.getDay();e=e+6;return(new Date(d.setDate(e))).toISOString().slice(0,10)};function a(e,g){var i;if(typeof e==="undefined"){i=new Date()}else{if(typeof e==="string"){i=b.getDateObject(e)}else{i=e}}if(typeof g!=="undefined"){if(g){return i.toDateString()}}var h=i.getFullYear().toString();var d=(i.getMonth()+1).toString();var f=i.getDate().toString();if(d.length===1){d="0"+d}if(f.length===1){f="0"+f}return h+"-"+d+"-"+f}function c(f,d,e){if(String(d).length===1){d="0"+d}if(String(e).length===1){e="0"+e}return f+"-"+d+"-"+e}};
nb.classes.LanguageManager=function(){var self=this,cbTranslate={},currentLang="en";function f_click(n){var a=$(n.target);a.is("img")&&a[0].lang!==currentLang&&self.refresh(a[0].lang)}function loadLanguage(sLanguage){$.ajax({url:nb.getLocalPath()+"lang/"+sLanguage+".js?_="+nb.getVersion(),success:function(jsServer){eval(jsServer)},async:!1})}function f_translateJQuery(){if($.validator&&nb.lang.en){var n,a=nb.lang.en.jqvalidator,e={};for(n in a)void 0!==$.validator.messages[n]&&(e[n]=self.getTranslation("jqvalidator."+n));$.extend($.validator.messages,e)}}this.init=function(n){nb.lang=nb.lang||{},self.setLanguage("en"),n.find("#js_language").click(f_click)},this.register=function(n,a){n=n.toLowerCase(),cbTranslate[n]=a,a()},this.getLanguage=function(){return currentLang},this.setLanguage=function(n){currentLang=n,void 0===nb.lang[currentLang]&&loadLanguage(currentLang),f_translateJQuery()},this.switchToLanguageURL=function(n){var a=window.location.toString();a=-1!==a.indexOf("lang=")?a.replace(/lang=../,"lang="+n):a+"&lang="+n,window.location=a},this.refresh=function(n){for(var a in self.setLanguage(n),cbTranslate)cbTranslate[a]()},this.translate=function(n,a){var e,t,r;if(n=n.toLowerCase(),nb.lang[currentLang]&&nb.lang[currentLang][n])for(t in r=nb.lang[currentLang][n])(e=a.find(".lang_"+t)).length>0&&(e.is("input")?e.val(r[t]):e.html(r[t]))},this.getTranslation=function(n){var a,e=n.toLowerCase().split(".");return a="Error: No translation for - "+n.toLowerCase(),void 0!==nb.lang[currentLang]&&void 0!==nb.lang[currentLang][e[0]]&&void 0!==nb.lang[currentLang][e[0]][e[1]]&&(a=nb.lang[currentLang][e[0]][e[1]]),a}};
jQuery.noConflict();
jQuery(function() {
var jqHead = jQuery("head");
var sJQCSS = "\n";
var sCSS = "\n";
jqHead.append(sJQCSS);
jqHead.append(sCSS);
nb.DateLib = new nb.classes.DateLib();
nb.LanguageManager = new nb.classes.LanguageManager();
nb.SearchBox = new nb.classes.SearchBox();
nb.SearchBox.show({
"bbid": 19504,
"nbid": 0,
"bbrtid": 0,
"rtgroupid": 0,
"template": "",
"id": "js_nightsbridge"
});
});
$ = jQuery;