'+D(this,f,this.calendars[f].year,this.calendars[f].month,this.calendars[0].year,s)+this.render(this.calendars[f].year,this.calendars[f].month,s)+"";this.el.innerHTML=h,a.bound&&"hidden"!==a.field.type&&l(function(){a.trigger.focus()},1),"function"==typeof this._o.onDraw&&this._o.onDraw(this),a.bound&&a.field.setAttribute("aria-label",a.ariaLabel)}},adjustPosition:function(){var e,s,a,l,d,c,u,p,m,g,v,b;if(!this._o.container){if(this.el.style.position="absolute",s=e=this._o.trigger,a=this.el.offsetWidth,l=this.el.offsetHeight,d=window.innerWidth||o.documentElement.clientWidth,c=window.innerHeight||o.documentElement.clientHeight,u=window.pageYOffset||o.body.scrollTop||o.documentElement.scrollTop,v=!0,b=!0,"function"==typeof e.getBoundingClientRect)p=(g=e.getBoundingClientRect()).left+window.pageXOffset,m=g.bottom+window.pageYOffset;else for(p=s.offsetLeft,m=s.offsetTop+s.offsetHeight;s=s.offsetParent;)p+=s.offsetLeft,m+=s.offsetTop;(this._o.reposition&&p+a>d||this._o.position.indexOf("right")>-1&&p-a+e.offsetWidth>0)&&(p=p-a+e.offsetWidth,v=!1),(this._o.reposition&&m+l>c+u||this._o.position.indexOf("top")>-1&&m-l-e.offsetHeight>0)&&(m=m-l-e.offsetHeight,b=!1),p<0&&(p=0),m<0&&(m=0),this.el.style.left=p+"px",this.el.style.top=m+"px",h(this.el,v?"left-aligned":"right-aligned"),h(this.el,b?"bottom-aligned":"top-aligned"),f(this.el,v?"right-aligned":"left-aligned"),f(this.el,b?"top-aligned":"bottom-aligned")}},render:function(e,s,a){var o,l,d,c=this._o,u=new Date,h=v(e,s),f=new Date(e,s,1).getDay(),p=[],y=[];b(u),c.firstDay>0&&(f-=c.firstDay)<0&&(f+=7);for(var w=0===s?11:s-1,k=11===s?0:s+1,S=0===s?e-1:e,D=11===s?e+1:e,M=v(S,w),P=h+f,O=P;O>7;)O-=7;P+=7-O;for(var A=!1,Y=0,L=0;Y=h+f,F=Y-f+1,N=s,H=e,U=c.startRange&&_(c.startRange,R),B=c.endRange&&_(c.endRange,R),G=c.startRange&&c.endRange&&c.startRangec.maxDate||c.disableWeekends&&g(R)||c.disableDayFn&&c.disableDayFn(R),isEmpty:z,isStartRange:U,isEndRange:B,isInRange:G,showDaysInNextAndPreviousMonths:c.showDaysInNextAndPreviousMonths,enableSelectionDaysInNextAndPreviousMonths:c.enableSelectionDaysInNextAndPreviousMonths};c.pickWholeWeek&&E&&(A=!0),y.push(C(J)),7==++L&&(c.showWeekNumber&&y.unshift(x(Y-f,s,e,c.firstWeekOfYearMinDays)),p.push((V=y,q=c.isRTL,X=c.pickWholeWeek,''+(q?V.reverse():V).join("")+"
")),y=[],L=0,A=!1)}return o=c,l=p,''+function(e){var s,a=[];for(e.showWeekNumber&&a.push(" | "),s=0;s<7;s++)a.push(''+T(e,s,!0)+" | ");return""+(e.isRTL?a.reverse():a).join("")+"
"}(o)+""+l.join("")+"
"},isVisible:function(){return this._v},show:function(){this.isVisible()||(this._v=!0,this.draw(),f(this.el,"is-hidden"),this._o.bound&&(d(o,"click",this._onClick),this.adjustPosition()),"function"==typeof this._o.onOpen&&this._o.onOpen.call(this))},hide:function(){var e=this._v;!1!==e&&(this._o.bound&&c(o,"click",this._onClick),this._o.container||(this.el.style.position="static",this.el.style.left="auto",this.el.style.top="auto"),h(this.el,"is-hidden"),this._v=!1,void 0!==e&&"function"==typeof this._o.onClose&&this._o.onClose.call(this))},destroy:function(){var e=this._o;this.hide(),c(this.el,"mousedown",this._onMouseDown,!0),c(this.el,"touchend",this._onMouseDown,!0),c(this.el,"change",this._onChange),e.keyboardInput&&c(o,"keydown",this._onKeyChange),e.field&&(c(e.field,"change",this._onInputChange),e.bound&&(c(e.trigger,"click",this._onInputClick),c(e.trigger,"focus",this._onInputFocus),c(e.trigger,"blur",this._onInputBlur))),this.el.parentNode&&this.el.parentNode.removeChild(this.el)}},M}),ibisWidgetError=!1,function(e){e(function(){window.location.href.indexOf("?ibisifrmdest=")>-1&&(e(".ibis-iframe").hide(),e('').insertAfter(".ibis-iframe"),ibisCSS3Spinner(".ibis-loading-spinner"),e(".ibis-iframe").one("load",function(){e(".ibis-iframe").attr("src",window.location.href.substr(window.location.href.indexOf("ibisifrmdest=")+13,window.location.href.length)),e(".ibis-iframe").one("load",function(){e(".ibis-loading-spinner").hide(),e(".ibis-iframe").show()})}))})}(jQuery);var cartCallVer=1;function ibisWidgetCart(e){var s;cartCallVer=2,ibisWidgetCart.defaultSettings=e,ibisWidgetCart.jsonResponse="",s=jQuery,cartWidgetInit=function(){ibisWidgetCart.setCartWidget(),ibisWidgetCart.updateCartWidget("init"),"iframe"==ibisWidgetCart.defaultSettings.mode&&ibisWidgetCart.setIframeRefreshEvent(),!0==ibisWidgetCart.defaultSettings.addCartModal&&ibisWidgetCart.setAddToCartMessage()},ibisWidgetCart.cartWidgetInit=cartWidgetInit,setAddToCartMessage=function(){window.addEventListener("message",function(e){if(e.origin===ibisWidgetCart.defaultSettings.appURL||e.origin===ibisWidgetCart.defaultSettings.messageOrigin){var a=5e3;if(void 0!=ibisWidgetCart.defaultSettings.timeout&&(a=ibisWidgetCart.defaultSettings.timeout),setCartModal=function(){s(".ibis-widget-cart .fit-cart-widget-modal").addClass("show"),clearTimeout(e);var e=setTimeout(function e(){s(".ibis-widget-cart .fit-cart-widget-modal").removeClass("show"),setTimeout(function(){resetCartModal()},350)},a)},removeCartModal=function(){s(".ibis-widget-cart .fit-cart-widget-modal").removeClass("show"),setTimeout(function(){s(".fit-cart-widget-modal").remove()},350)},(resetCartModal=function(){s(".fit-cart-widget-modal").remove()})(),"ibisAddToCart"===e.data){var o="";for(i=0;i'+ibisWidgetCart.jsonResponse.CartSummary[0].Items[i].Name+"",o+=''+ibisWidgetCart.jsonResponse.CartSummary[0].Items[i].Units+"
";s(".fit-cart-widget").after('')}setTimeout(function(){setCartModal()},100),s(".cart-modal-close").off("click").on("click",function(){removeCartModal()})}})},ibisWidgetCart.setAddToCartMessage=setAddToCartMessage,setCartWidget=function(){var e=ibisGetVariables()._ga,a="lite";void 0!==ibisWidgetCart.defaultSettings.theme&&(a=ibisWidgetCart.defaultSettings.theme),s(".ibis-widget-cart").each(function(){s(this).addClass("ibis-widgets"),s(this).html(""),s(this).append('0
'),s(".fit-cart-widget").on("click",function(){if(!s(this).hasClass("has-item"))return!1;URL="iframe"==ibisWidgetCart.defaultSettings.mode?"//"+window.location.hostname+ibisWidgetCart.defaultSettings.cartDir:ibisWidgetCart.defaultSettings.appURL+"/cart",void 0!=e&&(URL=URL+"?_ga="+e),location.href=URL})})},ibisWidgetCart.setCartWidget=setCartWidget,setIframeRefreshEvent=function(){s(".ibis-iframe").load(function(){ibisWidgetCart.updateCartWidget("update")})},ibisWidgetCart.setIframeRefreshEvent=setIframeRefreshEvent,updateCartWidget=function(e){var a=s(".ibis-widget-cart .cart-widget-badge").text(),o=ibisWidgetCart.defaultSettings.appURL+"/Cart/jsonP_Summary";ibisConsoleLog(o),s.ajax({url:o,dataType:"jsonp",jsonpCallback:"ibisCallbackCart",success:function(o){ibisWidgetCart.jsonResponse=o,s(".ibis-widget-cart").each(function(){s(".cart-widget-badge",this).text(o.CartSummary[0].TotalUnits),o.CartSummary[0].TotalUnits>0&&s(".fit-cart-widget",this).addClass("has-item")}),"update"==e&&a-o.CartSummary[0].TotalUnits<0&&ibisConsoleLog("item added"),null!=ibisWidgetCart.defaultSettings.then&&setTimeout(function(){ibisWidgetCart.defaultSettings.then()},1e3)}})},ibisWidgetCart.updateCartWidget=updateCartWidget,ibisWidgetCart.cartWidgetInit()}function ibisCallbackCart(e,s,a,o,l,d){if(1==cartCallVer){var c;(c=jQuery)(".ibis-widget-cart .cart-widget-badge").text(),c(".ibis-widget-cart").each(function(){var u=ibisGetVariables()._ga,h=c(this);h.html(""),c.each(e.CartSummary,function(e,d){h.append(''+d.TotalUnits+"
"),d.TotalUnits>0&&c(".fit5-cart-widget").addClass("has-item"),c(".fit5-cart-widget").on("click",function(){var e="";if(!c(this).hasClass("has-item"))return!1;e="sa"==a?s+"/Cart":"//"+window.location.hostname+o,void 0!=u&&(e=e+"?_ga="+u),c(".fit5-cart-widget").on("click",function(){location.href=e})})}),null!=d&&setTimeout(function(){d()},1e3)})}}function ibisRefreshCart(e){if(1==cartCallVer){var s,a,o,l;s=jQuery,a="",o="",l="",void 0!==e.mode?(a=e.cartDir,o=e.appURL,l="if",theme="lite"):(o=e.appURL,l="sa",theme="lite"),"dark"==e.theme&&(theme="dark"),then=e.then,s.ajax({url:o+"/Cart/jsonP_Summary",dataType:"jsonp",jsonpCallback:"ibisCallbackCart",success:function(e){ibisCallbackCart(e,o,l,a,theme,then)}})}}function ibisCallbackDepartures(e,s,a,o,l,d,c,u,h,f,p,m,g){!function(g){$ga=ibisGetVariables()._ga;var v=0;if(($ibisDepartures=g(s)).html(""),g.each(e.products,function(e,s){g.each(s.departures,function(e,a){if(null!=a.bookurl){var g=a.time.substring(0,2),b=a.time.substring(3,5),_=11";!1==u&&(w="");var k=d+a.bookurl;"iframe"==o&&(k=l+"?ibisifrmdest="+d+a.bookurl),void 0!=$ga&&(k=k.indexOf("?")>0?k+"&_ga="+$ga:k+"?_ga="+$ga);var S=s.name+" ("+a.space+")";S=null!=p?!1==u?p:p+" ("+a.space+")":!1==u?s.name:s.name+" ("+a.space+")";var T="";T='",!0==m&&(T='"),"iframe"==o&&(T='"),!1==h&&(T=""),$ibisDepartures.append(''+y+'
'+s.name+''+S+"
"+w+T+"
"),v++}})}),$ibisDepartures.wrap('').removeClass("lite dark").addClass(a),0==v){var b="";b="calendar"==e.callingFrom?void 0!=s?s+" .ibis-widget-departures .ibis-departures-container":s+" .ibis-departures-container":s+".ibis-departures-container",g("body").find(s).html('No departure available
')}else{var v=Math.max.apply(null,g(s+" .ibis-dept").map(function(){return g(this).outerWidth(!0)}).get());g(s+" .ibis-dept").css("width",v),v=Math.max.apply(null,g(s+" .ibis-prod").map(function(){return g(this).outerWidth(!0)}).get()),g(s+" .ibis-prod").css("width",v),v=Math.max.apply(null,g(s+" .ibis-avail").map(function(){return g(this).outerWidth(!0)}).get()),g(s+" .ibis-avail").css("width",v),g(s+" .ibis-prod").click(function(){g(s+" .ibis-show-mobile").is(":visible")&&(location.href=g(this).data("target"))})}}(jQuery)}function ibisWidgetDepartures(e){!function(s){var a=".ibis-widget-departures:eq(0)";if(null!=e.container?(a=e.container+":eq(0)",ibisSetupErrorCheck(e.container)):ibisSetupErrorCheck(".ibis-widget-departures"),ibisOptionErrorCheck(e.appURL,e.cartDir,e.mode),a.length){s(a).addClass("ibis-widget-departures-wrapper"),0!=e.mobileViewThreshold&&ibisWindowResizeClass(e.mobileViewThreshold,a,"ibis-widtet-mobile-mode");var o=ibisNZTime(new Date);null!=e.rollover&&!0==ibisCompareTimes(o.getHours()+":"+o.getMinutes(),e.rollover)&&(o=ibisAddDays(o,1)),null!=e.defaultDate&&(o=ibisNZTime(e.defaultDate));var l=ibisISOFormatDate(o),d="",c="lite";null!=e.theme&&(c=e.theme),null!=e.prodCode&&(d=e.prodCode);var u="Book Now";null!=e.bookLinkText&&(u=e.bookLinkText);var h=e.appURL+"/Departures/ByProduct_Json?workingdate="+l+"&productcode="+d;ibisConsoleLog(h),s.ajax({url:h,dataType:"jsonp",jsonpCallback:"ibisCallbackDepartures",success:function(o){ibisCallbackDepartures(o,a,c,e.mode,e.cartDir,e.appURL,e.showIn24H,e.showAvail,e.showBookLink,u,e.bookLinkTextMobile,e.linkOpenNewWindow,e.callingFrom),setTimeout(function(){s(".ibis-widget-calendar").removeClass("loading")},200)},error:function(e,s){console.log(e),console.log("**[ibisWidgetDepartures()]** errorThrown:"+s)}}),null!=e.then&&setTimeout(function(){e.then()},1e3)}}(jQuery)}function ibisCalendarWidget(e){var s=".ibis-widget-calendar:eq(0)";!0==e.dualCalendar&&(s=".ibis-widget-dual-calendar:eq(0)"),null!=e.container?(s=e.container+":eq(0)",ibisSetupErrorCheck(e.container)):!0==e.dualCalendar?ibisSetupErrorCheck(".ibis-widget-dual-calendar"):ibisSetupErrorCheck(".ibis-widget-calendar"),ibisOptionErrorCheck(e.appURL,e.cartDir,e.mode),function(a){if(a(s).length){a(s).addClass("ibis-widgets");var o=0,l=0,d=36;null!=e.maxMonth&&e.maxMonth<36&&(d=e.maxMonth);var c="*";null!=e.prodCode&&(c=e.prodCode),workingDate=ibisNZTime(new Date),null!=e.rollover&&!0==ibisCompareTimes(workingDate.getHours()+":"+workingDate.getMinutes(),e.rollover)&&(workingDate=ibisAddDays(workingDate,1)),null!=e.defaultDate&&(workingDate=ibisNZTime(e.defaultDate)),function c(u,h,f,p){var m=ibisAddDays(u,31),g=ibisISOFormatDate(m),v=e.appURL+"/Departures/AvailableCalendar_Json?workingDate="+u+"&prodfilter="+f,b=e.appURL+"/Departures/AvailableCalendar_Json?workingDate="+g+"&prodfilter="+f,_=!0;ibisConsoleLog(v),ibisConsoleLog(b),a.ajax({url:v,dataType:"jsonp",jsonpCallback:"ibisCallbackCalendar",success:function(h){var m=h.departures[0].enabled;void 0!=p&&(m=a.merge(p,m)),a.ajax({url:b,dataType:"jsonp",jsonpCallback:"ibisCallbackCalendar",success:function(h){var p=h.departures[0].enabled;""==p&&(p=" ");var g=a.merge(m,p),v="";null!=e.cartDir&&(v=e.cartDir);var b="";null!=e.mode&&(b=e.mode);var y="lite";null!=e.theme&&(y=e.theme);var w=ibisNZTime(new Date);null!=e.defaultDate&&(w=e.defaultDate);var k=!1;null!=e.showIn24H&&(k=e.showIn24H);var S=!0;null!=e.showAvail&&(S=e.showAvail);var T=null;null!=e.showBookLink&&(T=e.showBookLink);var C="Book Now";null!=e.bookLinkText&&(C=e.bookLinkText);var x=null;null!=e.bookLinkTextMobile&&(x=e.bookLinkTextMobile);var D=null;null!=e.mobileViewThreshold&&(D=e.mobileViewThreshold);var M=null;null!=e.linkOpenNewWindow&&(M=e.linkOpenNewWindow);var P=!0,O="Book Now";null!=e.bookButtonText&&(O=e.bookButtonText);var A="#fff";null!=e.bgColour&&(A=e.bgColour);var Y=!1;null!=e.showReturn&&(Y=e.showReturn);var L=!0;null!=e.showProdName&&(L=e.showProdName),!1==e.loadOnInit&&(P=!1);var R=null;null!=e.then&&(R=e.then),!0==e.dualCalendar&&(P=!1),l=0,a(s).pignoseCalendar({date:u,theme:y,enabledDates:g,init:function(){!0==P&&setTimeout(function(){a(s+" .pignose-calendar-unit-active").trigger("click")},500)},select:function(o){if(!0==e.dualCalendar){var l={appURL:e.appURL,container:s,defaultDate:a(this).data("date"),theme:y,mode:b,cartDir:v,prodCode:f,showIn24H:k,showAvail:S,showBookLink:T,bookLinkText:C,bookLinkTextMobile:x,mobileViewThreshold:D,linkOpenNewWindow:M,callingFrom:"calendar",bookButtonText:O,bgColour:A,showReturn:Y,showProdName:L,then:R};!1==ibisDualCalendar.step2Init&&(ibisDualCalendar.step2Init=!0,ibisDualCalendar.launchScreen2(l))}else a(this).hasClass("pignose-calendar-unit-active")&&!0==_&&!a(".ibis-widget-calendar").hasClass("loading")?(a(s).addClass("loading"),a(s+" .ibis-departures-container").remove(),a(s+" .ibis-widget-departures").remove(),a(s).append(''),ibisCSS3Spinner(s+" .ibis-widget-departures"),ibisWidgetDepartures({appURL:e.appURL,container:s+" .ibis-widget-departures",defaultDate:a(this).data("date"),theme:y,mode:b,cartDir:v,prodCode:f,showIn24H:k,showAvail:S,showBookLink:T,bookLinkText:C,bookLinkTextMobile:x,mobileViewThreshold:D,linkOpenNewWindow:M,callingFrom:"calendar"}),_=!1,setTimeout(function(){_=!0},500)):a(this).removeClass("pignose-calendar-unit-active")},next:function(){if(o++,l++,o1&&l>1&&oError: An error occured. Please refresh the browser.
')}})},error:function(e,s){console.log(e),console.log("**[ibisGetNewCalendar() 1]** errorThrown:"+s)}})}(ibisISOFormatDate(workingDate),"next",c)}}(jQuery)}function ibisMultidayCalendar(e,s){var a=ibisGetVariables()._ga,o=".ibis-widget-multiday-calendar:eq(0)",l=!1;null!=e.container?(o=e.container+":eq(0)",ibisSetupErrorCheck(i.container)):ibisSetupErrorCheck(".ibis-widget-multiday-calendar"),ibisOptionErrorCheck(e.appURL,e.cartDir,e.mode),function(s){if(s(o).length){var d,c,u,h=ibisNZTime(new Date),f="",p="",m=1,g=7,v=1,b=!1;function _(){s(".ibis-multiday-calendar-col1").data("date")==ibisISOFormatDate(ibisNZTime(new Date))&&s(".ibis-multiday-calendar-col1").is(":visible")?s(".ibis-icons-arrow-back").removeClass("active"):s(".ibis-icons-arrow-back").addClass("active")}function y(e){g=340>s("body").find(o).innerWidth()?1:410>s("body").find(o).innerWidth()?2:594>s("body").find(o).innerWidth()?3:704>s("body").find(o).innerWidth()?4:814>s("body").find(o).innerWidth()?5:924>s("body").find(o).innerWidth()?6:7,function e(a){var l=(s("body").find(o).innerWidth()-88-48)/g;for(s(".ibis-multiday-calendar-tr").attr("data-rows-shown",g),s(".ibis-multiday-calendar-tr .ibis-multiday-calendar-cols").css("width",l),s("table.ibis-multiday-calendar-results .ibis-multiday-calendar-cols").hide(),("arrowBack"==a||14-g+1"+e.prodTitle+"",g=e.prodTitle);var w="",k=" ibis-no-image";null!=e.prodImage&&(w='',k="");var S="";null!=e.prodDescription&&(S=e.prodDescription);var T=0;null!=e.space&&(T=e.space);var C="Book Now";null!=e.bookLinkText&&(C=e.bookLinkText);var x="";null!=e.mode&&(x=e.mode);var D="/cart",M="lite";"dark"==e.theme&&(M=e.theme),null!=e.cartDir&&(D=e.cartDir);var P=null;null!=e.appURL&&(P=e.appURL);var O=!1;!0==e.linkOpenNewWindow&&(O=!0);var A=!0;!1==e.showSpace&&(A=!1);var Y=!0;!1==e.showProdName&&(Y=!1);var L=!1;!0==e.showIn24H&&(L=!0);var R="";null!=e.prodCode&&(R="&prodfilter="+e.prodCode),null!=e.promoCode&&(p="&promotion="+e.promoCode);var E="No departure found for the selected product and date.";null!=e.noAvailText&&(E=e.noAvailText),E=''+E+"
",void 0!=d&&(h=ibisISOFormatDate(ibisNZTime(d)),"directDatePick"==c&&(m=1,v=1));var W=P+"/Departures/MultiDayAvail_Json?StartDate="+h+"&Days=14"+R;body="",!1==b&&(s(o).addClass(M),s(o).html('')),b=!0,ibisCSS3Spinner(".ibis-multiday-calendar-results"),ibisConsoleLog(W),s.ajax({url:W,dataType:"jsonp",jsonpCallback:"ibisCallbackMultiday",success:function(o){if(o.departures[0].enabled.Rows[0]){for(i=1,appDate=moment(ibisNZTime(o.departures[0].enabled.StartDate)),header=' | ';i<=o.departures[0].enabled.Rows[0].Departures.length;i++)header=header+''+appDate.format("ddd")+' '+appDate.date()+" "+appDate.format("MMM")+" | ",appDate=appDate.add(1,"days");header+=' |
',s("body").find(".ibis-multiday-calendar-results").append(header),s.each(o.departures[0].enabled.Rows,function(l){prodName=!0==Y?''+o.departures[0].enabled.Rows[l].ProductName+" |
":"",prodTime=o.departures[0].enabled.Rows[l].Time.substring(0,5),!1==L&&(prodTimeH=prodTime.substring(0,2),prodTimeM=prodTime.substring(3,5),prodTimeSuffix="am",0==prodTimeH.substring(0,1)?prodTimeH=prodTimeH.substring(1,2):12==prodTimeH.substring(0,2)?prodTimeSuffix="pm":prodTimeH.substring(0,2)>12&&(prodTimeH-=12,prodTimeSuffix="pm"),prodTime=prodTimeH+":"+prodTimeM+" "+prodTimeSuffix),body=body+prodName+''+prodTime+" | ",s.each(o.departures[0].enabled.Rows[l].Departures,function(s,d){var c=o.departures[0].enabled.Rows[l].Departures[s].BookMsg;null!=c&&(c=o.departures[0].enabled.Rows[l].Departures[s].BookMsg.toLowerCase()),prodPrice=o.departures[0].enabled.Rows[l].Departures[s].Pricing,"closed"==c?(availClass="closed",bookText="Closed",void 0!=e.closedText&&(bookText=e.closedText)):"departed"==c?(availClass="departed",bookText="Departed",void 0!=e.departedText&&(bookText=e.departedText)):null==c?(availClass="sold",bookText="Not Available"):0==c.substring(0,1)||"0"==c.substring(0,1)?(availClass="sold",bookText="Sold Out"):(availClass="avail",bookText=C);var u=P+"/Booking/New?DepartureCode="+d.DepartureKey;"iframe"==x&&(u=D+"?ibisifrmdest="+P+"/Booking/New?DepartureCode="+d.DepartureKey),void 0!=a&&(u=u.indexOf("?")>0?u+"&_ga="+a:u+"?_ga="+a);var h="";!0==O&&(h=' target="_blank"');var f=c;"1 spaces"==c&&(f="1 space"),!1==A&&(f=C);var p='";("sold"==availClass||"closed"==availClass||"departed"==availClass)&&(p=''+bookText+"
");var m=""+p;0==c&&(m=''+c+"
"),body=body+''+m+" | "}),body+=' |
'}),body+=""}else body=E;if(s("body").find(".ibis-multiday-calendar-results .ibis-spinner").remove(),s("body").find(".ibis-multiday-calendar-results").append(body),y(u),_(),null!=e.rollover&&null==e.defaultDate){var d=ibisNZTime(new Date);!0==ibisCompareTimes(d.getHours()+":"+d.getMinutes(),e.rollover)&&!1==l&&(s(".ibis-icons-arrow-forward.active").trigger("click"),l=!0)}},error:function(e,s){console.log(e),console.log("**[generateAvailabilityTable()]** errorThrown: "+s)}}),null!=e.then&&setTimeout(function(){e.then()},1e3)}ibisCSS3Spinner(o),s("body").on("mouseover",".ibis-multiday-calendar-results tbody tr td.avail",function(){s(this).addClass("hover")}),s("body").on("mouseout",".ibis-multiday-calendar-results tbody tr td.avail",function(){s(this).removeClass("hover")}),s("body").on("click",".ibis-multiday-calendar-results tbody tr td.avail",function(){"_blank"==s(this).find("a").attr("target")?window.open(s(this).find("a").attr("href"),"_blank"):location.href=s(this).find("a").attr("href")}),s("body").on("click",".ibis-multiday-calendar-results tbody tr td.avail a",function(e){e.preventDefault()}),s(window).resize(function(){y(),_()}),null!=e.defaultDate&&(h=e.defaultDate),null!=e.prodCode&&(p=e.prodCode),d=h=ibisISOFormatDate(h),c=p,ibisConsoleLog(u=e.appURL+"/Departures/Json_ProductDaysAvailable?filter="+c),s.ajax({url:u,dataType:"jsonp",jsonpCallback:"productDaysAvailable",success:function(e){var a,o,l,c,u=e.dates;k(d),a=u,o=d,l=ibisISOFormatDate(ibisNZTime(d)),void 0!=a&&(f=a),void 0!=o&&(calendarDefaultDate=ibisISOFormatDate(ibisAddDays(o,-32))),calendarDefaultDate=ibisAddDays(moment(l).toDate(),-62),c=new Pikaday({field:document.getElementById("ibis-datepicker-pickaday"),format:"D MMM YYYY",defaultDate:calendarDefaultDate,setDefaultDate:!0,minDate:moment().toDate(),maxDate:moment().add(12,"month").toDate(),disableDayFn:function(e){if(-1===s.inArray(moment(e).format("YYYY-MM-DD"),f))return e},onSelect:function(){k(c.getDate(),"directDatePick")}})},error:function(e,s){console.log(e),console.log("**[getAvailDatesForCalendar()]** errorThrown: "+s)}}),s("body").on("click",".ibis-icons-arrow-forward.active",function(){m+g>14&&(nextDate=ibisISOFormatDate(ibisAddDays(s(".ibis-multiday-calendar-col14").data("date"),1)),k(nextDate,"directDatePick"),m=0,v=0),s("table.ibis-multiday-calendar-results .ibis-multiday-calendar-col"+(m+g)).show(),s("table.ibis-multiday-calendar-results .ibis-multiday-calendar-col"+m).hide(),m++,v++,_()}),s("body").on("click",".ibis-icons-arrow-back.active",function(){s(".ibis-multiday-calendar-col1").is(":visible")?(nextDate=ibisISOFormatDate(ibisAddDays(s(".ibis-multiday-calendar-col1").data("date"),-14)),k(nextDate,"directDatePick","arrowBack")):(s("table.ibis-multiday-calendar-results .ibis-multiday-calendar-col"+(m-1)).show(),s("table.ibis-multiday-calendar-results .ibis-multiday-calendar-col"+(m+g-1)).hide()),m--,v--,_()})}}(jQuery)}function ibisMembership(e){var s,a;s=jQuery,a="",checkFormReady=function(){var e=!0;"login"==ibisMembership.formMode?s(".ibis-form-element input").each(function(){0==s(this).val().length&&(e=!1),s(this).hasClass("ibis-membership-username")&&!1===ibisEmailValidation(s(this).val())&&(e=!1)}):s(ibisMembership.formSubmitButton).hasClass("password-reset-lock")?e=!1:s(".ibis-membership-username").val().length>0&&!1===ibisEmailValidation(s(".ibis-membership-username").val())&&(e=!1),!0==e?s(ibisMembership.formSubmitButton).prop("disabled",!1):s(ibisMembership.formSubmitButton).prop("disabled",!0)},ibisMembership.checkFormReady=checkFormReady,checkLoginStatus=function(){var e=ibisMembership.defaultSettings.appURL+"/Membership/Json_LoginName";s.ajax({url:e,dataType:"jsonp",jsonpCallback:"membershipLogin",success:function(e){s(".ibis-form-error").remove(),void 0!=e.Login[0].name&&""!=e.Login[0].name?(ibisMembership.isLoggedIn=!0,ibisMembership.loginAccount=e.Login[0].name,ibisMembership.setAccountWidget(ibisMembership.loginAccount)):(ibisMembership.isLoggedIn=!1,s(".membership-login-button").addClass("active"))},error:function(e){console.log(i),console.log("**[checkLoginStatus()]** errorThrown: "+e)}})},ibisMembership.checkLoginStatus=checkLoginStatus,checkWidgetSetup=function(e){a=".ibis-widget-membership:eq(0)",null!=e.container?(a=e.container+":eq(0)",ibisSetupErrorCheck(e.container)):ibisSetupErrorCheck(".ibis-widget-membership"),ibisOptionErrorCheck(e.appURL,e.cartDir,e.mode)},ibisMembership.checkWidgetSetup=checkWidgetSetup,launchMembershipWidget=function(e){ibisMembership.defaultSettings=e,ibisMembership.checkWidgetSetup(e),ibisMembership.setModalForm(e),ibisMembership.setLoginButton(e),ibisMembership.mobileViewHandling(e),ibisMembership.checkLoginStatus(),ibisMembership.setEvents(1)},ibisMembership.launchMembershipWidget=launchMembershipWidget,logoutWidget=function(e){var o=ibisMembership.defaultSettings.appURL+"/Membership/logout";s.ajax({url:o,dataType:"jsonp",success:function(e){console.log("logged out")},error:function(e){console.log(e)}}),s(a).removeClass("loggedin"),ibisMembership.setModalForm(e),ibisMembership.setLoginButton(e),ibisMembership.setEvents(1),s(".membership-login-button").addClass("active")},ibisMembership.logoutWidget=logoutWidget,hideOverlay=function(){s(".ibis-overlay").addClass("invisible"),setTimeout(function(){s(".ibis-overlay").removeClass("visible invisible"),s(".multiple-accounts").hasClass("multiple-accounts")||(s(".ibis-overlay input").val(""),s(".ibis-overlay input[data-type-orig='password']").attr("type","password"),s(".ibis-overlay .ibis-input-visible").removeClass("active"),s(".ibis-form-element.invalid label").text("Email address"),s(".ibis-form-element").removeClass("focus invalid"),s(".ibis-form-button").prop("disabled",!0),s(".ibis-form-error, .ibis-form-message").remove(),ibisMembership.resetForm())},280)},ibisMembership.hideOverlay=hideOverlay,mobileViewHandling=function(e){var a=function(){window.innerWidth<=e.mobileViewThreshold?s(".ibis-account-wrapper .ibis-widget-account").addClass("small"):s(".ibis-account-wrapper .ibis-widget-account").removeClass("small")};a(),void 0!=e.mobileViewThreshold&&s(window).on("resize",function(){a()})},ibisMembership.mobileViewHandling=mobileViewHandling,resetForm=function(){s(".ibis-form-membership").removeClass("form-membership-reset-password").addClass("form-membership-login").attr("action",ibisMembership.defaultSettings.appURL+"/Membership/Login_JSON"),s(".ibis-form-header").text("Membership Login"),s(".ibis-membership-password").closest(".ibis-form-element").slideDown(50).prop("disabled",!1),s(".ibis-forgotten-password").text("Forgotten password?").removeClass("back-to-login"),s(".ibis-form-button").text("Login"),ibisMembership.formMode="login",ibisMembership.setEvents=setEvents(1),ibisMembership.checkFormReady()},ibisMembership.resetForm=resetForm,showAccountMenu=function(){s(".ibis-widget-account").hasClass("active")?(s(".ibis-widget-account-menu").slideUp(30),setTimeout(function(){s(".ibis-widget-account").removeClass("active")},120)):(s(".ibis-widget-account-menu").slideDown(120),s(".ibis-widget-account").addClass("active"))},ibisMembership.showAccountMenu=showAccountMenu,setAccountWidget=function(e){var a=e,o=ibisMembership.defaultSettings.appURL+"/Membership/List",l=ibisMembership.defaultSettings.appURL+"/Membership/MyDetails",d=ibisGetVariables()._ga;"iframe"==ibisMembership.defaultSettings.mode&&void 0!=ibisMembership.defaultSettings.cartDir&&(o=ibisMembership.defaultSettings.cartDir+"?ibisifrmdest="+ibisMembership.defaultSettings.appURL+"/Membership/List",l=ibisMembership.defaultSettings.cartDir+"?ibisifrmdest="+ibisMembership.defaultSettings.appURL+"/Membership/MyDetails",void 0!=d&&(o+="&_ga="+d,l+="&_ga="+d));var c="_self";!0==ibisMembership.defaultSettings.linkOpenNewWindow&&(c="_blank"),void 0!=ibisMembership.defaultSettings.greeting&&(a=ibisMembership.defaultSettings.greeting+" "+e),s(".ibis-membership-login").addClass("multiple-accounts"),ibisMembership.hideOverlay(),s(".ibis-widget-membership").addClass("loggedin").html(''),ibisMembership.setEvents(2)},ibisMembership.setAccountWidget=setAccountWidget,setEvents=function(e){switch(e){case 1:s(".ibis-widget-membership").off("click").on("click",function(){s(this).hasClass("loggedin")||ibisMembership.showOverlay()}),s(".ibis-form-close").off("click").on("click",function(){ibisMembership.hideOverlay()}),s(".ibis-form-element label").off("click").on("click",function(){s(this).closest(".ibis-form-element").find("input").focus()}),s(".ibis-form-element input").off("focus").on("focus",function(){s(this).closest(".ibis-form-element").addClass("focus")}),s(".ibis-form-element input").off("blur").on("blur",function(){0==s(this).val().length&&s(this).closest(".ibis-form-element").removeClass("focus")}),s(".ibis-form-element input").off("keyup touchend").on("keyup touchend",function(){ibisMembership.checkFormReady()}),s(".ibis-input-visible").off("click").on("click",function(){s(this).hasClass("active")?(s(this).removeClass("active"),s(this).closest(".ibis-form-element").find("input").attr("type","password")):(s(this).addClass("active"),s(this).closest(".ibis-form-element").find("input[type='password']").attr("type","text").attr("data-type-orig","password"))}),s(".ibis-forgotten-password").off("click").on("click",function(){s(".ibis-form-error, .ibis-form-message").remove(),s(this).hasClass("back-to-login")?ibisMembership.resetForm():ibisMembership.setForgottenPasswordForm()}),s(ibisMembership.formSubmitButton).off("click").on("click",function(e){ibisMembership.validateEmail(".ibis-membership-username"),e.preventDefault()});break;case 2:ibisMembership.mobileViewHandling(ibisMembership.defaultSettings),s(".ibis-account-wrapper").off("click touchend").on("click touchend",function(){ibisMembership.showAccountMenu()}),s(".my-logout").off("click").on("click",function(){setTimeout(function(){ibisMembership.logoutWidget(ibisMembership.defaultSettings)},100)});break;case 3:s(".multi-account-list li a").off("click").on("click",function(e){e.preventDefault();var a=s(this),o=ibisMembership.defaultSettings.appURL+"/Membership/SetLogin?loginHash="+a.data("hash");jQuery.ajax({url:o,dataType:"jsonp",jsonpCallback:"",success:function(e){ibisMembership.setAccountWidget(a.data("name")),null!=ibisMembership.defaultSettings.then&&setTimeout(function(){ibisMembership.defaultSettings.then()},1e3)},error:function(e){ibisMembership.setAccountWidget(a.data("name")),null!=ibisMembership.defaultSettings.then&&setTimeout(function(){ibisMembership.defaultSettings.then()},1e3)}})})}},ibisMembership.setEvents=setEvents,setForgottenPasswordForm=function(){s(".ibis-form-membership").removeClass("form-membership-login").addClass("form-membership-reset-password"),s(".ibis-form-membership").attr("action",ibisMembership.defaultSettings.appURL+"/Membership/PasswordRequestChange"),s(".ibis-form-header").text("Forgotten Password"),s(".ibis-membership-password").closest(".ibis-form-element").slideUp(50).prop("disabled",!0),s(".ibis-forgotten-password").text("Back to login form").addClass("back-to-login"),s(".ibis-form-button").text("Send"),ibisMembership.formMode="password",ibisMembership.checkFormReady()},ibisMembership.setForgottenPasswordForm=setForgottenPasswordForm,setMultipleAccountSelection=function(){s(".ibis-membership-login").addClass("multiple-accounts"),s(".ibis-form-element").hide(),s(".ibis-form-header").text("Select Your Account");var e='Multiple accounts found under this email address. Please select who you wish to login as.
",s(".ibis-form-text").addClass("text-left").html(e),ibisMembership.setEvents(3)},ibisMembership.setMultipleAccountSelection=setMultipleAccountSelection,setLoginButton=function(e){var o="lite";if("dark"==ibisMembership.defaultSettings.theme&&(o="dark"),s(a).addClass("ibis-widgets "+o),void 0!=e.type&&"icon"==e.type)s(a).addClass("login-icon").html('');else{var l="Membership Login",d="";void 0!=e.widgetButtonText&&(l=e.widgetButtonText),!0==e.showIcon&&(d=" show-icon"),d+=" active",s(a).html('")}"lite"==e.theme&&a.addClass("lite")},ibisMembership.setLoginButton=setLoginButton,setModalForm=function(e){s(".ibis-overlay").remove();var a="Membership Login",o="",l="Forgotten password?",d="Login";void 0!=e.formHeader&&(a=e.formHeader),void 0!=e.formText&&(o=e.formText),void 0!=e.forgottenPasswordText&&(l=e.forgottenPasswordText),void 0!=e.loginButtonText&&(d=e.loginButtonText),s("body").prepend('")},ibisMembership.setModalForm=setModalForm,showOverlay=function(){s(".ibis-overlay").addClass("visible"),setTimeout(function(){s(".ibis-overlay input:eq(0)").focus()},280)},ibisMembership.showOverlay=showOverlay,submitForm=function(){if(failedLogin=function(){s(".ibis-form-error").remove(),s(".ibis-form-header").after('Invalid email address and/or password
')},passwordReset=function(){var e=s(".ibis-membership-username").val();s(".ibis-form-message").remove(),s(".ibis-membership-username").val(""),s(".ibis-form-header").after('Password reset email has been sent to '+e+".
Please check your inbox
"),s(ibisMembership.formSubmitButton).addClass("password-reset-lock").prop("disabled",!0),setTimeout(function(){s(ibisMembership.formSubmitButton).removeClass("password-reset-lock").prop("disabled",!1)},3e4)},s(".ibis-form-membership").hasClass("form-membership-login")){s(ibisMembership.formSubmitButton).addClass("loading");var e=s(".form-membership-login"),a=s(".ibis-membership-username").val(),o=s(".ibis-membership-password").val(),l=e.attr("action")+"?emailAddress="+a+"&password="+o;s.ajax({url:l,dataType:"jsonp",jsonpCallback:"membershipLogin",success:function(e){s(".ibis-form-error").remove(),"true"==e.login[0].loggedin?e.login.length>1?(ibisMembership.loginAccountList=e.login,ibisMembership.setMultipleAccountSelection()):ibisMembership.setAccountWidget(e.login[0].name):failedLogin(),s(ibisMembership.formSubmitButton).removeClass("loading")},error:function(e){failedLogin(),s(ibisMembership.formSubmitButton).removeClass("loading")}})}else{s(ibisMembership.formSubmitButton).addClass("loading");var e=s(".form-membership-reset-password"),a=s(".ibis-membership-username").val(),l=e.attr("action")+"?email="+a;s.ajax({data:e.serialize(),type:e.attr("method"),url:l,success:function(e){passwordReset(),s(ibisMembership.formSubmitButton).removeClass("loading")},error:function(e){passwordReset(),s(ibisMembership.formSubmitButton).removeClass("loading")}})}},ibisMembership.submitForm=submitForm,validateEmail=function(e){var a=s(e).val();if(validEmail=function(e){s(e).closest(".ibis-form-element").removeClass("invalid"),s(e).closest(".ibis-form-element").find("label").text("Email address"),s(ibisMembership.formSubmitButton).prop("disabled",!1),s(ibisMembership.formSubmitButton).closest("form").addClass("validated")},invalidEmail=function(e){s(e).closest(".ibis-form-element").addClass("invalid"),s(e).closest(".ibis-form-element").find("label").text("Invalid email address"),s(ibisMembership.formSubmitButton).prop("disabled",!0),s(ibisMembership.formSubmitButton).closest("form").removeClass("validated")},!1==ibisEmailValidation(a))invalidEmail(e),s(e).off("keyup touchend").on("keyup touchend",function(){!1==ibisEmailValidation(a=s(this).val())?invalidEmail(e):validEmail(e)});else switch(validEmail(e),ibisMembership.formMode){case"login":case"password":ibisMembership.submitForm();break;default:ibisMembership.hideOverlay()}},ibisMembership.validateEmail=validateEmail,ibisMembership.defaultSettings=[],ibisMembership.formMode="login",ibisMembership.isLoggedIn=!1,ibisMembership.formSubmitButton=".ibis-form-button",ibisMembership.loginAccount="",ibisMembership.loginAccountList=[],ibisMembership.launchMembershipWidget(e)}function ibisDualCalendar(e){!function(s){var a=0,o=0,l="",d=(ibisISOFormatDate(new Date),0),c="",u="",h="",f="",p="",m="",g="",v="";function b(){var e=s(".week-calendar-container");new Date(s(".slick-slide .row .col").first().data("date")).getMonth(),ibisNZTime().getMonth(),s(".month-labels .month-label").first().attr("data-year");var a=0,o=80;window.innerWidth<501&&(o=40),s(".month-labels .month-label").each(function(){if(0!=a&&a!=s(".month-labels .month-label").length){var l=s(this).attr("data-id"),d="janfebmaraprmayjunjulaugsepoctnovdec".indexOf(l)/3,c=(d+1).toString();c<10&&(c="0"+c);var u=s(this).attr("data-year"),h=0,f=0,p=0,m=ibisNZTime(new Date(u,d,1)),b=ibisAddMonths(m,1),_=!0;void 0!=s(".date-weeks .row .col[data-date='"+u+"-"+c+"-01']").offset()&&(h=s(".date-weeks .row .col[data-date='"+u+"-"+c+"-01']").offset().left);var y=new Date(b.getFullYear(),b.getMonth(),0),w=y.getDate().toString();w<10&&(w="0"+w);var k=(y.getMonth()+1).toString();k<10&&(k="0"+k);var S=y.getFullYear();void 0!=s(".date-weeks .row .col[data-date='"+S+"-"+k+"-"+w+"']").offset()?(f=s(".date-weeks .row .col[data-date='"+S+"-"+k+"-"+w+"']").offset().left,_=!0):_=!1,(p=Math.floor(Math.max(h+g/2-e.offset().left,v))-o)<=Math.floor(v)&&(p=Math.min(f+g/2-e.offset().left,v)-o),!0===_?TweenMax.to(s(this),.2,{x:p,overwrite:!0,ease:Expo.easeOut}):s(this).css("display","none")}a++});var l=s(".month-labels .month-label").eq(0),d=new Date(Date.parse("1 "+l.data("id")+" "+l.data("year"))).getMonth(),c=new Date(l.data("year"),d+1,0);testX=s(".date-weeks .row .col").eq(0).offset().left,maxX=void 0!==s(".date-weeks .row .col[data-date='"+ibisISOFormatDate(c)+"']").offset()?s(".date-weeks .row .col[data-date='"+ibisISOFormatDate(c)+"']").offset().left:s(".date-weeks .row .col").eq(0).offset().left,(newX=Math.floor(Math.max(testX+g/2-e.offset().left,v))-o)<=Math.floor(v)&&(newX=Math.min(maxX+g/2-e.offset().left,v)-o),TweenMax.to(l,.2,{x:newX,overwrite:!0,ease:Expo.easeOut});var l=s(".month-labels .month-label:last"),d=new Date(Date.parse("1 "+l.data("id")+" "+l.data("year"))).getMonth(),u=new Date(l.data("year"),d,1);testX=void 0!==s(".date-weeks .row .col[data-date='"+ibisISOFormatDate(u)+"']").offset()?s(".date-weeks .row .col[data-date='"+ibisISOFormatDate(u)+"']").offset().left:s(".date-weeks .row .col").eq(0).offset().left,maxX=s(".date-weeks .row .col:last").offset().left,(newX=Math.floor(Math.max(testX+g/2-e.offset().left,v))-o)<=Math.floor(v)&&(newX=Math.min(maxX+g/2-e.offset().left,v)-o),TweenMax.to(l,.2,{x:newX,overwrite:!0,ease:Expo.easeOut})}void 0!=e.prodCode&&(f=e.prodCode),ibisDualCalendar.backToMonthView=function e(){ibisDualCalendar.step2Init=!1,s(".ibis-widget-dual-calendar .step2").slideUp(150,function(){s(".ibis-widget-dual-calendar .step2").remove(),s(".ibis-widget-dual-calendar .step1").fadeIn(80)})},ibisDualCalendar.callNewDepartures=function e(){s(ibisDualCalendar.defaultSettings.container+" .pignose-calendar-unit.pignose-calendar-unit-first-active").removeClass("pignose-calendar-unit-first-active pignose-calendar-unit-active"),s(ibisDualCalendar.defaultSettings.container+" .pignose-calendar-unit[data-date="+ibisDualCalendar.defaultSettings.defaultDate+"]").addClass("pignose-calendar-unit-first-active pignose-calendar-unit-active"),ibisCSS3Spinner(ibisDualCalendar.containerElement+" .ibis-widget-departures-dual"),ibisDualCalendar.populateDepartures(ibisDualCalendar.containerElement+" .ibis-widget-departures-dual","datechange")},ibisDualCalendar.checkWidgetSetup=function e(s){null!=s.container&&(ibisDualCalendar.containerElement=s.container+":eq(0)"),ibisSetupErrorCheck(ibisDualCalendar.containerElement),ibisOptionErrorCheck(s.appURL,s.cartDir,s.mode)},ibisDualCalendar.dateAnimation=function e(a){try{s(".week-calendar-container .date-weeks").slick("unslick")}catch(l){}s(".week-calendar-container .date-weeks").slick({dots:!1,speed:500,initialSlide:o,touchThreshold:10,autoplay:!1,draggable:!0,infinite:!1,prevArrow:s(".ibis-widget-week-calendar .left-arrow"),nextArrow:s(".ibis-widget-week-calendar .right-arrow")}),s(".week-calendar-container .date-weeks").on("beforeChange",function(e,o,l,d){0==d?s(".week-calendar-container .left-arrow").addClass("disabled"):s(".week-calendar-container .left-arrow").removeClass("disabled"),clearTimeout(u),clearInterval(c),"left"==(m=1==Math.abs(d-l)?d-l>0?"right":"left":d-l>0?"left":"right")?p--:p++,"init"==a?setTimeout(function(){ibisDualCalendar.setMoveControl()},1e3):ibisDualCalendar.setMoveControl(),c=setInterval(b,33),u=setTimeout(function(){clearInterval(c)},2e3)}),s(".week-calendar-container .date-weeks").on("afterChange",function(e,s,a){clearTimeout(u),clearInterval(c),ibisDualCalendar.monthLabelAnimation()}),clearTimeout(d),d=setTimeout(function(){s(".week-calendar-container .date-weeks").addClass("transition-in")},200)},ibisDualCalendar.destroyWidget=function e(){s(ibisDualCalendar.containerElement).empty()},ibisDualCalendar.getProductCodes=function s(a){var o=e.appURL+"/Departures/Json_AddOns?date="+ibisISOFormatDate(ibisNZTime(ibisDualCalendar.departureDate))+"&prodGroup="+a;ibisConsoleLog(o)},ibisDualCalendar.monthLabelAnimation=b,ibisDualCalendar.launchDualCalendar=function e(a){ibisDualCalendar.destroyWidget(),f.toLowerCase().indexOf("prodgroup-")>-1&&ibisDualCalendar.getProductCodes(f),ibisDualCalendar.launchDualCalendarNextStep(a);var o=ibisDualCalendar.defaultSettings.bgColour;void 0!=o&&($css="",s(".widget-wrapper").after($css))},ibisDualCalendar.launchDualCalendarNextStep=function s(a){ibisDualCalendar.defaultSettings=a,ibisDualCalendar.checkWidgetSetup(a),ibisDualCalendar.setContainer(),ibisCSS3Spinner(ibisDualCalendar.containerElement+" .ibis-widget-month-calendar"),ibisDualCalendar.pureMilfordCustom(ibisDualCalendar.containerElement,1),e.dualCalendar=!0,ibisCalendarWidget(e)},ibisDualCalendar.launchScreen2=function e(s){ibisDualCalendar.defaultSettings=s,ibisDualCalendar.departureDate=s.defaultDate,ibisDualCalendar.setElements(s),ibisDualCalendar.populateCalendar(),ibisDualCalendar.dateAnimation("init"),ibisDualCalendar.resizeCalendar(),ibisDualCalendar.monthLabelAnimation(),p=1,ibisDualCalendar.processCalendar(),ibisDualCalendar.selectDate(ibisDualCalendar.departureDate),ibisDualCalendar.setEvents()},ibisDualCalendar.populateCalendar=function e(){s(".ibis-widget-dual-calendar .ibis-widget-month-calendar.step1").fadeOut(150),ibisNZTime(new Date(new Date().getFullYear(),new Date().getMonth(),1));var a=ibisNZTime(),o=a,o=ibisAddDays(a,1-a.getDay()),l=o,d=o.getMonth(),c=o.getDate(),u=Math.floor((ibisAddMonths(a,12)-a)/864e5),h="",f="",p="",m="",g="",v="",b=ibisNZTime(),_=new Date().getFullYear(),y="";for(i=0;i<13;i++){var w="",k="";ibisAddMonths(new Date,i+1).getFullYear()!=_&&(y=" last-month",_++);var S=(new Date().getMonth()+1).toString();S<10&&(S="0"+S),monthNameShort=(w=ibisGetMonthName(ibisAddMonths(new Date(new Date().getFullYear()+"-"+S+"-01"),i)).substring(0,3)).substr(0,3),k=ibisAddMonths(new Date,i).getFullYear(),g+=''+monthNameShort+''+k+"
",v+=''+w+' '+k+"
",y=""}for(s(".week-calendar-wrapper .week-calendar-container .box .month-labels").html(g),s("#months-lightbox .month-items").html(v),i=1,j=1;i=b?"":" old disabled",1==j&&(m+=""),m+="
",(7==j||i==u-1)&&(m+="
",j=0),l=ibisAddDays(o,i);s(".week-calendar-wrapper .week-calendar-container .box .date-weeks").html(m)},ibisDualCalendar.populateDepartures=function a(o,l){"puremilford.co.nz"===location.hostname?ibisDualCalendar.pureMilfordCustom(o+" .ibis-widget-departures-dual",2):s(o+" .ibis-widget-departures-dual").before("Back to month view
"),setTimeout(function(){s(o+" .ibis-widget-departures-dual").empty(),ibisCSS3Spinner(o+" .ibis-widget-departures-dual");var a=e.appURL+"/Departures/Json_TimeDepartures?date="+ibisDualCalendar.defaultSettings.defaultDate+"&prodCodes="+f;ibisConsoleLog(a),s.ajax({type:"GET",url:a,dataType:"jsonp",jsonpCallback:"listDepartures",cache:!1,success:function(a){var d="",c="",u="",h="",f="",p="",m=ibisDualCalendar.defaultSettings.bookButtonText,g=ibisDualCalendar.defaultSettings.showProdName,v=ibisDualCalendar.defaultSettings.showReturn,b=ibisDualCalendar.defaultSettings.showIn24H,_=ibisDualCalendar.defaultSettings.showAvail,y=ibisDualCalendar.defaultSettings.then;for(i=0;i'+a.departures.availability[i].avail+"
":(!0==b?(p=(h=parseInt(a.departures.availability[i].depart.substr(0,2),10))+a.departures.availability[i].depart.substr(2,3),f=""):(p=(h=parseInt(a.departures.availability[i].depart.substr(0,2),10)>12?parseInt(a.departures.availability[i].depart.substr(0,2),10)-12:parseInt(a.departures.availability[i].depart.substr(0,2),10))+a.departures.availability[i].depart.substr(2,3),f=a.departures.availability[i].depart.substr(0,2)>11?" pm":" am"),$returnTime="",$returnTimeDisplay="",$returnTimePeriod="",""!=a.departures.availability[i].return&&(!0==b?($returnTimeDisplay=($returnTime=parseInt(a.departures.availability[i].return.substr(0,2),10))+a.departures.availability[i].return.substr(2,3),$returnTimePeriod):($returnTimeDisplay=($returnTime=parseInt(a.departures.availability[i].return.substr(0,2),10)>12?parseInt(a.departures.availability[i].return.substr(0,2),10)-12:parseInt(a.departures.availability[i].return.substr(0,2),10))+a.departures.availability[i].return.substr(2,3),$returnTimePeriod=a.departures.availability[i].return.substr(0,2)>11?" pm":" am")),c+='",!0==v&&(c+='
'+$returnTimeDisplay+""+$returnTimePeriod+"
"),!0==g&&(c+='
'+a.departures.availability[i].ProdName+"
"),!0==_&&(c+='
'+a.departures.availability[i].avail+"
"),c+='
$'+parseInt(a.departures.availability[i].promoPrice,10).toFixed(0)+"
");d='',c+='",s(u=void 0!=l?o:o+" .ibis-widget-departures-dual").html(d+c),s(".ibis-widget-departures-dual .departures-dual-items").off("click").on("click",function(){s(this).hasClass("disabled")||(s(".ibis-widget-departures-dual .departures-dual-items").removeClass("active"),s(this).addClass("active"),s(this).closest(".ibis-widget-departures-dual").find(".departures-dual-book-now").prop("disabled",!1))}),1==i&&s(".ibis-widget-departures-dual .departures-dual-items").eq(0).trigger("click"),s(".departures-dual-book-now").off("click").on("click",function(){var a=s(".ibis-widget-departures-dual .departures-dual-items.active").data("departure-code");"iframe"==ibisDualCalendar.defaultSettings.mode?location.href=e.cartDir+"?ibisifrmdest="+e.appURL+"/Booking/New?DepartureCode="+a:"puremilford.co.nz"===location.hostname?location.href=e.appURL+"/PureMilford?departureCode="+a:location.href=e.appURL+"/Booking/New?DepartureCode="+a}),void 0!=y&&setTimeout(function(){y()},1e3)},error:function(e,s,a){console.error("JSON load error: Time Slots"),console.log(e)}})},10)},ibisDualCalendar.processCalendar=function e(a){var o="init",l=ibisAddDays(ibisNZTime(ibisDualCalendar.departureDate),-13-ibisNZTime(ibisDualCalendar.departureDate).getDay());void 0===a?l=ibisAddDays(ibisNZTime(ibisDualCalendar.departureDate),-13-ibisNZTime(ibisDualCalendar.departureDate).getDay()):(l=ibisAddDays(l,a),o="slide"),l=ibisISOFormatDate(l),"init"==o&&(s(".ibis-widget-week-calendar .date-weeks .col").addClass("disabled"),s(".ibis-widget-week-calendar .date-weeks .col .price").html(""));var d="prodCodes="+f;f.toLowerCase().indexOf("prodgroup-")>-1&&(d="prodGroup="+f.replace("prodgroup-",""));var c=ibisDualCalendar.defaultSettings.appURL+"/Departures/Json_TimeCalendar?date="+l+"&"+d;ibisConsoleLog(c),setTimeout(function(){s.ajax({type:"GET",url:c,dataType:"jsonp",jsonpCallback:"listAvailableDates",cache:!1,success:function(e){for(i=0;i0?(s(".ibis-widget-week-calendar .date-weeks .col[data-date='"+e.dates.calendar[i].date+"']").addClass("processed").removeClass("disabled"),s(".ibis-widget-week-calendar .date-weeks .col[data-date='"+e.dates.calendar[i].date+"'] .price").text("$"+e.dates.calendar[i].price)):(s(".ibis-widget-week-calendar .date-week .col[data-date="+e.dates.calendar[i].date+"]").addClass("no-depart"),s(".ibis-widget-week-calendar .date-week .col[data-date="+e.dates.calendar[i].date+"] .price").text(""));"init"==o&&s(".ibis-widget-week-calendar .date-weeks").removeClass("transition-in"),s(".ibis-widget-week-calendar .date-weeks").removeClass("transition-in"),ibisDualCalendar.monthLabelAnimation()},error:function(e,s,a){console.error("JSON load error: Week Calendar"),console.log(e)}})},500)},ibisDualCalendar.resizeCalendar=function e(){l=s(".ibis-widget-month-calendar .date-weeks").width(),g=Math.floor((s(".ibis-widget-week-calendar .week-calendar-container").width()-80)*.1428),v=s(".ibis-widget-week-calendar .week-calendar-container").width()/2},ibisDualCalendar.selectDate=function e(l){s(".week-calendar-container .date-weeks").slick("slickSetOption","speed","0"),s(".ibis-widget-month-calendar .pignose-calendar-row .pignose-calendar-unit").each(function(){s(this).removeClass("pignose-calendar-unit-active"),s(this).attr("data-date")==l&&s(this).addClass("pignose-calendar-unit-active")});var d=0;s(".ibis-widget-week-calendar .date-weeks .col").each(function(){s(this).removeClass("selected"),s(this).attr("data-date")==l&&(d=s(this).parent().parent().attr("data-index"),s(this).addClass("selected"))}),s(".week-calendar-container .date-weeks").slick("slickGoTo",d),o=d,a=l,s(".week-calendar-container .date-weeks").slick("slickSetOption","speed","200"),s(".ibis-widget-week-calendar .col.selected").is(":visible")&&(h=s(".ibis-widget-week-calendar .col.selected").parent().parent().offset().top-130)},ibisDualCalendar.setContainer=function e(){s(ibisDualCalendar.containerElement).append("")},ibisDualCalendar.setElements=function e(a){var o=".ibis-widget-dual-calendar:eq(0)";void 0!==a.container?ibisSetupErrorCheck(a.container):ibisSetupErrorCheck(".ibis-widget-dual-calendar"),ibisOptionErrorCheck(a.appURL,a.cartDir,a.mode),s(o+" .ibis-widget-month-calendar").after(''),s(o).find(".ibis-widget-departures-dual").length||s(o+" .ibis-widget-week-calendar").after(""),ibisDualCalendar.populateDepartures(o)},ibisDualCalendar.setEvents=function e(){s(".ibis-widget-week-calendar .date-week .col:not()").off("mousedown tuochstart").on("mousedown tuochstart",function(){s(this).hasClass("disabled")||ibisDualCalendar.weeklyCalendarDraggable(s(this))}),s(".widget-dual-back-to-month-view span").off("click").on("click",function(){ibisDualCalendar.backToMonthView()}),s(window).on("resize",function(){ibisDualCalendar.resizeCalendar(),ibisDualCalendar.monthLabelAnimation()})},ibisDualCalendar.setMoveControl=function e(a){var o=0;"left"==m?(-2==p||!s(".slick-slide.slick-active .col").eq(0).hasClass("processed")||!s(".slick-slide.slick-active .col:eq(6)").hasClass("processed")||p<2&&parseInt(s(".slick-slide.slick-active .col").eq(0).attr("data-date").slice(-2))>=18&&25>=parseInt(s(".slick-slide.slick-active .col").eq(0).attr("data-date").slice(-2)))&&(s(".slick-slide.slick-active .col").eq(0).hasClass("processed")&&s(".slick-slide.slick-active .col:eq(6)").hasClass("processed")?(o=(p-2)*7,p<-2&&(o=(p-3)*7)):o=14,ibisDualCalendar.processCalendar(o)):(2==p||!s(".slick-slide.slick-active .col").eq(0).hasClass("processed")||!s(".slick-slide.slick-active .col:eq(6)").hasClass("processed")||p>2&&parseInt(s(".slick-slide.slick-active .col").eq(0).attr("data-date").slice(-2))>=18&&25>=parseInt(s(".slick-slide.slick-active .col").eq(0).attr("data-date").slice(-2)))&&(o=(p+2)*7,p>2&&(o=(p+3)*7),void 0!=a&&"init"==a?setTimeout(function(){ibisDualCalendar.processCalendar(o)},500):ibisDualCalendar.processCalendar(o))},ibisDualCalendar.weeklyCalendarDraggable=function e(a){var o=!1,l=!1;a.off("mousemove touchmove").on("mousemove touchmove",function(){l=!0}),a.off("mouseup touchend").on("mouseup touchend",function(){!1!=l||s(this).hasClass("old")||s(this).hasClass("selected")||(s(".ibis-widget-week-calendar .date-week .col.selected").removeClass("selected"),s(this).addClass("selected"),ibisDualCalendar.defaultSettings.defaultDate=a.data("date"),!1==o&&(o=!0),ibisDualCalendar.callNewDepartures())})},ibisDualCalendar.pureMilfordCustom=function e(a,o){void 0!=ibisDualCalendar.defaultSettings.customBranding&&"puremilford"==ibisDualCalendar.defaultSettings.customBranding.toLowerCase()&&(1==o?0==s(".widget-dual-header").length&&s(a).before("";s(".ibis-sliding-calendar-container").html(v)}(a=new Splide(".ibis-sliding-calendar-section.splide",{arrows:!1,pagination:!1}).mount()).off("move").on("move",function(e,a,o){if(!1===l.eventLikeProduct&&0===o&&s(".ibis-calendar-item").eq(0).data("date")>ibisISOFormatDate(ibisNZTime())){if(ibisSlidingCalendar.daysAvailBefore=(new Date(s(".ibis-calendar-item").eq(0).data("date"))-new Date(ibisISOFormatDate(ibisNZTime())))/1e3/60/60/24,ibisSlidingCalendar.daysAvailBefore>=30){var d=ibisAddDays(s(".ibis-calendar-item").eq(0).data("date"),-30);ibisSlidingCalendar.addDepartureSlides(l,d,"backward","default"),ibisSlidingCalendar.daysAvailBefore=ibisSlidingCalendar.daysAvailBefore-30}else{var d=ibisAddDays(s(".ibis-calendar-item").eq(0).data("date"),-1*ibisSlidingCalendar.daysAvailBefore);ibisSlidingCalendar.addDepartureSlides(l,d,"backward",ibisSlidingCalendar.daysAvailBefore),ibisSlidingCalendar.daysAvailBefore=ibisSlidingCalendar.daysAvailBefore=0}}}),a.off("moved").on("moved",function(e){if(!1===l.eventLikeProduct&&e-_>15){_+=31,o++;var s=ibisAddDays(u,_);ibisSlidingCalendar.addDepartureSlides(l,s,"forward","default")}}),null!=l.then&&setTimeout(function(){l.then()},1e3)},error:function(e,s,a){console.error("JSON load error: populateDepartures"),console.log(e)}})},ibisSlidingCalendar.resetSliderCalendar=function e(a){s(".ibis-sliding-calendar-section.splide, .ibis-sliding-calendar-loader").remove();var o="shadow"===a.border?" shadow":"",l=(void 0!=a.title&&a.title,void 0!=a.description&&a.description,"");(!0===a.eventLikeProduct||"event"===a.tyoe)&&(l=" event-sliding-calendar"),s(".ibis-widget-sliding-calendar:eq(0)").append('')},ibisSlidingCalendar.setElements=function e(a){var o="shadow"===a.border?" shadow":"",l=void 0!=a.placeholder?a.placeholder:"Select date",d=void 0!=a.placeholder2?a.placeholder2:"When are you coming?",c=void 0!=a.placeholder2?"":" placeholder2-off",u=void 0!=a.title?a.title:"",h=void 0!=a.description?a.description:"",f="",p="";(""!=u||""!=h)&&(p='",s(".ibis-widget-sliding-calendar").prepend(p)),"event"!=a.type&&(f='",s(".ibis-widget-sliding-calendar").prepend(f)),s(".ibis-widget-sliding-calendar:eq(0)").append(''),s("#ibis-datepicker-pickaday").on("blur",function(){s("#ibis-datepicker-pickaday").val().length<=0?s(".ibis-sliding-calendar-datepicker").removeClass("on"):s(".ibis-sliding-calendar-datepicker").addClass("on")})},ibisSlidingCalendar.launchSlidingCalendar(e)}