var __extends,lynx;(function(n,t,i){function e(i,r,u){var f=t.createElement(i);return r&&(f.id=h+r),u&&(f.style.cssText=u),n(f)}function ni(){return i.innerHeight?i.innerHeight:n(i).height()}function vt(t,i){i!==Object(i)&&(i={});this.cache={};this.el=t;this.get=function(t){var u,r;return void 0!==this.cache[t]?r=this.cache[t]:(u=n(this.el).attr("data-cbox-"+t),void 0!==u?r=u:void 0!==i[t]?r=i[t]:void 0!==hi[t]&&(r=hi[t]),this.cache[t]=r),n.isFunction(r)?r.call(this.el):r}}function yt(n){var i=l.length,t=(v+n)%i;return 0>t?i+t:t}function a(n,t){return Math.round((/%/.test(n)?("x"===t?w.width():ni())/100:1)*parseInt(n,10))}function vi(n,t){return n.get("photo")||n.get("photoRegex").test(t)}function yi(n,t){return n.get("retinaUrl")&&i.devicePixelRatio>1?t.replace(n.get("photoRegex"),n.get("retinaSuffix")):t}function pi(n){"contains"in u[0]&&!u[0].contains(n.target)&&(n.stopPropagation(),u.focus())}function ot(n){ot.str!==n&&(u.add(g).removeClass(ot.str).addClass(n),ot.str=n)}function di(){v=0;rel&&"nofollow"!==rel?(l=n("."+et).filter(function(){var t=n.data(this,it),i=new vt(this,t);return i.get("rel")===rel}),v=l.index(r.el),-1===v&&(l=l.add(r.el),v=l.length-1)):l=n(r.el)}function rt(i){n(t).trigger(i);p.triggerHandler(i)}function pt(i){var f;at||(f=n(i).data("colorbox"),r=new vt(i,f),rel=r.get("rel"),di(),d||(d=lt=!0,ot(r.get("className")),u.css({visibility:"hidden",display:"block"}),c=e(o,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),y.css({width:"",height:""}).append(c),b=ti.height()+ui.height()+y.outerHeight(!0)-y.height(),k=ii.width()+ri.width()+y.outerWidth(!0)-y.width(),nt=c.outerHeight(!0),tt=c.outerWidth(!0),r.w=a(r.get("initialWidth"),"x"),r.h=a(r.get("initialHeight"),"y"),c.css({width:"",height:r.h}),s.position(),rt(tr),r.get("onOpen"),oi.add(fi).hide(),u.focus(),r.get("trapFocus")&&t.addEventListener&&(t.addEventListener("focus",pi,!0),p.one(li,function(){t.removeEventListener("focus",pi,!0)})),r.get("returnFocus")&&p.one(li,function(){n(r.el).focus()})),g.css({opacity:parseFloat(r.get("opacity")),cursor:r.get("overlayClose")?"pointer":"auto",visibility:"visible"}).show(),r.get("closeButton")?bt.html(r.get("close")).appendTo(y):bt.appendTo("
"),nr())}function wi(){!u&&t.body&&(si=!1,w=n(i),u=e(o).attr({id:it,"class":n.support.opacity===!1?h+"IE":"",role:"dialog",tabindex:"-1"}).hide(),g=e(o,"Overlay").hide(),wt=n([e(o,"LoadingOverlay")[0],e(o,"LoadingGraphic")[0]]),ut=e(o,"Wrapper"),y=e(o,"Content").append(fi=e(o,"Title"),ei=e(o,"Current"),ct=n('').attr({id:h+"Previous"}),ht=n('').attr({id:h+"Next"}),ft=e("button","Slideshow"),wt),bt=n('').attr({id:h+"Close"}),ut.append(e(o).append(e(o,"TopLeft"),ti=e(o,"TopCenter"),e(o,"TopRight")),e(o,!1,"clear:left").append(ii=e(o,"MiddleLeft"),y,ri=e(o,"MiddleRight")),e(o,!1,"clear:left").append(e(o,"BottomLeft"),ui=e(o,"BottomCenter"),e(o,"BottomRight"))).find("div div").css({float:"left"}),st=e(o,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),oi=ht.add(ct).add(ei).add(ft),n(t.body).append(g,u.append(ut,st)))}function gi(){function i(n){n.which>1||n.shiftKey||n.altKey||n.metaKey||n.ctrlKey||(n.preventDefault(),pt(this))}return u?(si||(si=!0,ht.click(function(){s.next()}),ct.click(function(){s.prev()}),bt.click(function(){s.close()}),g.click(function(){r.get("overlayClose")&&s.close()}),n(t).bind("keydown."+h,function(n){var t=n.keyCode;d&&r.get("escKey")&&27===t&&(n.preventDefault(),s.close());d&&r.get("arrowKey")&&l[1]&&!n.altKey&&(37===t?(n.preventDefault(),ct.click()):39===t&&(n.preventDefault(),ht.click()))}),n.isFunction(n.fn.on)?n(t).on("click."+h,"."+et,i):n("."+et).live("click."+h,i)),!0):!1}function nr(){var u,w,d,y=s.prep,g=++ai;lt=!0;f=!1;rt(gt);rt(kt);r.get("onLoad");r.h=r.get("height")?a(r.get("height"),"y")-nt-b:r.get("innerHeight")&&a(r.get("innerHeight"),"y");r.w=r.get("width")?a(r.get("width"),"x")-tt-k:r.get("innerWidth")&&a(r.get("innerWidth"),"x");r.mw=r.w;r.mh=r.h;r.get("maxWidth")&&(r.mw=a(r.get("maxWidth"),"x")-tt-k,r.mw=r.w&&r.w1&&(f.height=f.height/i.devicePixelRatio,f.width=f.width/i.devicePixelRatio),r.get("scalePhotos")&&(w=function(){f.height-=f.height*t;f.width-=f.width*t},r.mw&&f.width>r.mw&&(t=(f.width-r.mw)/f.width,w()),r.mh&&f.height>r.mh&&(t=(f.height-r.mh)/f.height,w())),r.h&&(f.style.marginTop=Math.max(r.mh-f.height,0)/2+"px"),l[1]&&(r.get("loop")||l[v+1])&&(f.style.cursor="pointer",f.onclick=function(){s.next()}),f.style.width=f.width+"px",f.style.height=f.height+"px",setTimeout(function(){y(f)},1))}),setTimeout(function(){f.src=u},1)):u&&st.load(u,r.get("data"),function(t,i){g===ai&&y("error"===i?e(o,"Error").html(r.get("xhrError")):n(this).contents())})}var g,u,ut,y,ti,ii,ri,ui,l,w,c,st,wt,fi,ei,ft,ht,ct,bt,oi,r,b,k,nt,tt,v,f,d,lt,at,bi,s,si,hi={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return n(this).attr("href")},title:function(){return this.title}},it="colorbox",h="cbox",et=h+"Element",tr=h+"_open",kt=h+"_load",dt=h+"_complete",ci=h+"_cleanup",li=h+"_closed",gt=h+"_purge",p=n(""),o="div",ai=0,ki={},ir=function(){function n(){clearTimeout(y)}function f(){(r.get("loop")||l[v+1])&&(n(),y=setTimeout(s.next,r.get("slideshowSpeed")))}function c(){ft.html(r.get("slideshowStop")).unbind(i).one(i,a);p.bind(dt,f).bind(kt,n);u.removeClass(t+"off").addClass(t+"on")}function a(){n();p.unbind(dt,f).unbind(kt,n);ft.html(r.get("slideshowStart")).unbind(i).one(i,function(){s.next();c()});u.removeClass(t+"on").addClass(t+"off")}function e(){o=!1;ft.hide();n();p.unbind(dt,f).unbind(kt,n);u.removeClass(t+"off "+t+"on")}var o,y,t=h+"Slideshow_",i="click."+h;return function(){o?r.get("slideshow")||(p.unbind(ci,e),e()):r.get("slideshow")&&l[1]&&(o=!0,p.one(ci,e),r.get("slideshowAuto")?c():a(),ft.show())}}();n.colorbox||(n(wi),s=n.fn[it]=n[it]=function(t,i){var u,r=this;if(t=t||{},n.isFunction(r))r=n(""),t.open=!0;else if(!r[0])return r;return r[0]?(wi(),gi()&&(i&&(t.onComplete=i),r.each(function(){var i=n.data(this,it)||{};n.data(this,it,n.extend(i,t))}).addClass(et),u=new vt(r[0],t),u.get("open")&&pt(r[0])),r):r},s.position=function(t,i){function d(){ti[0].style.width=ui[0].style.width=y[0].style.width=parseInt(u[0].style.width,10)-k+"px";y[0].style.height=ii[0].style.height=ri[0].style.height=parseInt(u[0].style.height,10)-b+"px"}var f,o,c,l=0,v=0,e=u.offset(),p;(w.unbind("resize."+h),u.css({top:-9e4,left:-9e4}),o=w.scrollTop(),c=w.scrollLeft(),r.get("fixed")?(e.top-=o,e.left-=c,u.css({position:"fixed"})):(l=o,v=c,u.css({position:"absolute"})),v+=r.get("right")!==!1?Math.max(w.width()-r.w-tt-k-a(r.get("right"),"x"),0):r.get("left")!==!1?a(r.get("left"),"x"):Math.round(Math.max(w.width()-r.w-tt-k,0)/2),l+=r.get("bottom")!==!1?Math.max(ni()-r.h-nt-b-a(r.get("bottom"),"y"),0):r.get("top")!==!1?a(r.get("top"),"y"):Math.round(Math.max(ni()-r.h-nt-b,0)/2),u.css({top:e.top,left:e.left,visibility:"visible"}),ut[0].style.width=ut[0].style.height="9999px",f={width:r.w+tt+k,height:r.h+nt+b,top:l,left:v},t)&&(p=0,n.each(f,function(n){if(f[n]!==ki[n])return(p=t,void 0)}),t=p);ki=f;t||u.css(f);u.dequeue().animate(f,{duration:t||0,complete:function(){d();lt=!1;ut[0].style.width=r.w+tt+k+"px";ut[0].style.height=r.h+nt+b+"px";r.get("reposition")&&setTimeout(function(){w.bind("resize."+h,s.position)},1);i&&i()},step:d})},s.resize=function(n){var t;d&&(n=n||{},n.width&&(r.w=a(n.width,"x")-tt-k),n.innerWidth&&(r.w=a(n.innerWidth,"x")),c.css({width:r.w}),n.height&&(r.h=a(n.height,"y")-nt-b),n.innerHeight&&(r.h=a(n.innerHeight,"y")),n.innerHeight||n.height||(t=c.scrollTop(),c.css({height:"auto"}),r.h=c.height()),c.css({height:r.h}),t&&c.scrollTop(t),s.position("none"===r.get("transition")?0:r.get("speed")))},s.prep=function(i){function b(){return r.w=r.w||c.width(),r.w=r.mw&&r.mw1?("string"==typeof r.get("current")&&ei.html(r.get("current").replace("{current}",v+1).replace("{total}",e)).show(),ht[r.get("loop")||e-1>v?"show":"hide"]().html(r.get("next")),ct[r.get("loop")||v?"show":"hide"]().html(r.get("previous")),ir(),r.get("preloading")&&n.each([yt(-1),yt(1)],function(){var u,f=l[this],r=new vt(f,n.data(f,it)),i=r.get("href");i&&vi(r,i)&&(i=yi(r,i),u=t.createElement("img"),u.src=i)})):oi.hide(),r.get("iframe")?(i=t.createElement("iframe"),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),r.get("scrolling")||(i.scrolling="no"),n(i).attr({src:r.get("href"),name:(new Date).getTime(),"class":h+"Iframe",allowFullScreen:!0}).one("load",f).appendTo(c),p.one(gt,function(){i.src="//about:blank"}),r.get("fastIframe")&&n(i).trigger("load")):f(),"fade"===r.get("transition")?u.fadeTo(w,1,o):o())};"fade"===r.get("transition")?u.fadeTo(w,0,function(){s.position(0,a)}):s.position(w,a)}},s.next=function(){!lt&&l[1]&&(r.get("loop")||l[v+1])&&(v=yt(1),pt(l[v]))},s.prev=function(){!lt&&l[1]&&(r.get("loop")||v)&&(v=yt(-1),pt(l[v]))},s.close=function(){d&&!at&&(at=!0,d=!1,rt(ci),r.get("onCleanup"),w.unbind("."+h),g.fadeTo(r.get("fadeOut")||0,0),u.stop().fadeTo(r.get("fadeOut")||0,0,function(){u.add(g).css({opacity:1,cursor:"auto"}).hide();rt(gt);c.remove();setTimeout(function(){at=!1;rt(li);r.get("onClosed")},1)}))},s.remove=function(){u&&(u.stop(),n.colorbox.close(),u.stop().remove(),g.remove(),at=!1,u=null,n("."+et).removeData(it).removeClass(et),n(t).unbind("click."+h))},s.element=function(){return n(r.el)},s.settings=hi)})(jQuery,document,window),function(n){var t;(function(n){var t=function(){function n(){}return n}(),i,r;n.ItemMasterBase=t,function(n){n[n.FixedPrice=0]="FixedPrice";n[n.Alacarte=1]="Alacarte";n[n.AlacarteAndSetMenu=2]="AlacarteAndSetMenu"}(i=n.TicketType||(n.TicketType={})),function(n){n[n.all=0]="all";n[n.ItemExtraImage=1]="ItemExtraImage";n[n.ItemDetailImage=2]="ItemDetailImage";n[n.OrderStatus=101]="OrderStatus";n[n.MainBanner=3]="MainBanner";n[n.AboutUs=301]="AboutUs";n[n.Subscribe=302]="Subscribe";n[n.Product=4]="Product";n[n.ProductCategory=400]="ProductCategory";n[n.Blog=5]="Blog";n[n.BlogCategory=500]="BlogCategory";n[n.Ticket=19]="Ticket";n[n.TicketMedia=191]="TicketMedia";n[n.TicketClass=20]="TicketClass";n[n.TicketPackage=21]="TicketPackage";n[n.Menu=22]="Menu";n[n.MenuCategory=220]="MenuCategory";n[n.SetMenu=2200]="SetMenu";n[n.SetMenuCategory=22e3]="SetMenuCategory";n[n.AdditionService=23]="AdditionService";n[n.TicketItem=24]="TicketItem";n[n.Gallery=25]="Gallery";n[n.GalleryCategory=250]="GalleryCategory";n[n.DiscountCode=100]="DiscountCode";n[n.TicketMenuCategory=102]="TicketMenuCategory";n[n.Welcome=103]="Welcome";n[n.FeaturedContent=26]="FeaturedContent";n[n.HomeEvent=27]="HomeEvent";n[n.HomeIntro=28]="HomeIntro";n[n.OurBoat=29]="OurBoat";n[n.OurBoatGallery=30]="OurBoatGallery";n[n.OurCruises=31]="OurCruises";n[n.Wine=32]="Wine";n[n.WineCategory=320]="WineCategory";n[n.AboutChef=33]="AboutChef";n[n.AboutMenu=34]="AboutMenu";n[n.Event=35]="Event";n[n.BannerCruise=36]="BannerCruise";n[n.BannerAboutUs=37]="BannerAboutUs";n[n.BannerContact=38]="BannerContact";n[n.BannerEvent=39]="BannerEvent";n[n.BannerFaq=40]="BannerFaq";n[n.BannerFood=41]="BannerFood";n[n.BannerGallery=42]="BannerGallery";n[n.BannerOurBoat=43]="BannerOurBoat";n[n.BannerPartner=44]="BannerPartner";n[n.BannerTicket=45]="BannerTicket";n[n.BannerWine=46]="BannerWine";n[n.BannerDefault=47]="BannerDefault";n[n.BannerBlog=48]="BannerBlog";n[n.BannerBooking=481]="BannerBooking";n[n.TicketInclusion=49]="TicketInclusion";n[n.AboutTeam=50]="AboutTeam";n[n.Team=51]="Team";n[n.CookiePolicy=52]="CookiePolicy";n[n.EventName=53]="EventName";n[n.SpecialBanner=54]="SpecialBanner";n[n.EventIntro=55]="EventIntro";n[n.BlogIntro=56]="BlogIntro";n[n.ContactIntro=57]="ContactIntro";n[n.RegisterPopup=58]="RegisterPopup";n[n.PageNotFound=59]="PageNotFound";n[n.Faq=60]="Faq";n[n.FaqIntro=61]="FaqIntro";n[n.Voucher=62]="Voucher";n[n.VoucherIntro=63]="VoucherIntro";n[n.BannerVoucher=64]="BannerVoucher";n[n.BannerServiceContent=65]="BannerServiceContent";n[n.ServiceContentIntro=66]="ServiceContentIntro";n[n.ServiceContent=67]="ServiceContent";n[n.ServiceContentCategory=68]="ServiceContentCategory";n[n.CustomerFeedback=69]="CustomerFeedback";n[n.TermAndCondition=70]="TermAndCondition";n[n.ServiceCondition=71]="ServiceCondition";n[n.PopupContent=72]="PopupContent";n[n.PopupCookiePolicy=73]="PopupCookiePolicy"}(r=n.ItemMasterType||(n.ItemMasterType={}))})(t=n.models||(n.models={}))}(lynx||(lynx={})),function(n){var t;(function(n){var t,i,r;(function(n){n[n.OK=0]="OK";n[n.NotApproved=1]="NotApproved";n[n.AlreadyApplied=2]="AlreadyApplied";n[n.IsExpired=3]="IsExpired";n[n.MaxAppliedCount=4]="MaxAppliedCount";n[n.BeforeStartDate=5]="BeforeStartDate"})(t=n.PromotionCodeAvailable||(n.PromotionCodeAvailable={})),function(n){n[n.ManualCreateSingle=1]="ManualCreateSingle";n[n.ManualCreateBulk=2]="ManualCreateBulk";n[n.ManualCreateMultiUse=3]="ManualCreateMultiUse"}(i=n.PromotionCodeType||(n.PromotionCodeType={})),function(n){n[n.Fixed=1]="Fixed";n[n.Percent=2]="Percent"}(r=n.PromotionCodeAmountType||(n.PromotionCodeAmountType={}))})(t=n.models||(n.models={}))}(lynx||(lynx={})),function(n){var t;(function(n){var t,i,r,u,f,e,o,s;(function(n){n[n.NotSet=0]="NotSet";n[n.InHouse=1]="InHouse";n[n.Sundeck=2]="Sundeck"})(t=n.AreaType||(n.AreaType={})),function(n){n[n.CreateNew=1]="CreateNew";n[n.Edit=2]="Edit"}(i=n.BookingMode||(n.BookingMode={})),function(n){n[n.AdminDiscount=1]="AdminDiscount";n[n.DiscountCode=2]="DiscountCode";n[n.BankPromotionACB=3]="BankPromotionACB";n[n.BankPromotionTechcombank=4]="BankPromotionTechcombank";n[n.BankPromotionUOB=6]="BankPromotionUOB";n[n.AdultGroupDiscount=5]="AdultGroupDiscount";n[n.EarlyBirdFreeMenu=7]="EarlyBirdFreeMenu"}(r=n.PromotionType||(n.PromotionType={})),function(n){n[n.ExtraToddel=0]="ExtraToddel"}(u=n.SurchargeType||(n.SurchargeType={})),function(n){n[n.Internal=0]="Internal";n[n.External=1]="External";n[n.MobilePay=2]="MobilePay"}(f=n.GatewayType||(n.GatewayType={})),function(n){n[n.PayFull=0]="PayFull";n[n.Deposit50=1]="Deposit50"}(e=n.PaymentAmount||(n.PaymentAmount={})),function(n){n[n.VisaMaster=1]="VisaMaster";n[n.ATMTransfer=2]="ATMTransfer"}(o=n.PaymentType||(n.PaymentType={})),function(n){n[n.Success=0]="Success";n[n.Failed=1]="Failed"}(s=n.OnepayResult||(n.OnepayResult={}))})(t=n.models||(n.models={}))}(lynx||(lynx={}));__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}(),function(n){var t;(function(t){var i;(function(t){var i=function(t){function i(i,r,u,f){var e=t.call(this)||this,o;for(e.$scope=i,e.$compile=r,e.$filter=u,e.lynxHttp=f,e.baseEndPointUrl="/sgp/booking/",e.endpoints={loadTicketData:e.baseEndPointUrl+"LoadTicketData",checkAvailability:e.baseEndPointUrl+"CheckAvailability",applyPromotionCode:e.baseEndPointUrl+"ApplyPromotionCode",completeBooking:e.baseEndPointUrl+"CompleteBooking"},e.dataLoaded=!1,e.text={},e.isAuthenticatedUser=!1,e.hasAlacarteMenu=!1,e.hasSetMenu=!1,e.TicketType=n.models.TicketType,e.PromotionType=n.models.PromotionType,e.dropdownQuantityZero=[{value:0,name:"0"},],e.showOrderInfo=!LYNX_IS_MOBILE,o=1;o<=20;o++)e.dropdownQuantityZero.push({value:o,name:o.toString()});return i.$watch("bookingCtrl.bookInfo.dateString",function(n,t){n&&t&&(window.location.href=window.location.pathname+"?date="+n)}),e}return __extends(i,t),i.prototype.loadTicketData=function(n,t){var i=this,r;this.isSending||(this.startSending(),r={TicketSeqNumber:n,OrderID:lynxRoute.queryString("oid"),SelectedDateString:t},this.lynxHttp.post({url:this.endpoints.loadTicketData,data:r}).then(function(n){i.endSending();var t=n.data;i.adultDropdown=t.adultDropdown;i.alacarteCategories=t.alacarteCategories;i.alacarteMenus=t.alacarteMenus;i.services=t.services;i.setMenuCategories=t.setMenuCategories;i.allSetMenuCategories=t.setMenuCategories;i.setMenus=t.setMenus;i.allSetMenus=t.setMenus;i.ticketSettingsByDate=t.ticketSettingsByDate;i.bookInfo=t.bookInfo;i.serviceConditions=t.serviceConditions;i.text=t.text;i.isAuthenticatedUser=t.isAuthenticatedUser;i.promotionContent=t.promotionContent;i.filterAvailableSetMenus();i.hasAlacarteMenu=i.alacarteMenus&&i.alacarteMenus.lynxAny();i.hasSetMenu=i.setMenus&&i.setMenus.lynxAny();i.dataLoaded=!0;setTimeout(function(){var i,n;lynxSite.imageScale();i=LYNX_IS_MOBILE?"100%":"80%";$(".set-menu-ctn").each(function(n,t){var r=$(t),u=r.attr("data-id");r.find(".gb-color-box").each(function(){$(this).colorbox({maxWidth:i,maxHeight:i,opacity:.8,rel:"group-"+u,transition:"elastic"})})});bookingHelpes.stickyContent();bookingHelpes.serviceConditionMobile();n=lynxUtils.bootstrapDatePickerFormat();n.ignoreReadonly=!0;t.disableDates?n.disabledDates=t.disableDates:t.enabledDates&&(n.enabledDates=t.enabledDates);$('[data-field="datetime"]').datetimepicker(n)},500)}))},i.prototype.calculateSurcharge=function(){this.bookInfo.surcharges=[];var i=this.bookInfo.alacarteMenus.lynxSum(function(n){return n.price*n.quantity}),r=this.bookInfo.setMenus.lynxSum(function(n){return n.quantity}),u=Math.floor(i/this.ticketSettingsByDate.MinAmountPerPerson),t=this.bookInfo.ticket.toddelQuantity-(r+u);t>0&&this.bookInfo.surcharges.push({name:this.text.KidSurcharge,type:n.models.SurchargeType.ExtraToddel,quantity:t,value:this.ticketSettingsByDate.ToddelSurchargeAmount,valueType:n.models.PromotionCodeAmountType.Fixed})},i.prototype.processBookingRule=function(){var u=this,n=function(n,t){return{isValid:n,message:u.replaceMessageToken(t)}},t=this.bookInfo.ticket.mainAdultQuantity,f=t+this.bookInfo.ticket.additionalKidQuantity,i=this.bookInfo.setMenus.lynxWhere(function(n){return!n.isKidMenu}).lynxSum(function(n){return n.quantity}),e=i+this.bookInfo.setMenus.lynxWhere(function(n){return n.isKidMenu}).lynxSum(function(n){return n.quantity}),r=Math.floor(this.bookInfo.alacarteMenus.lynxSum(function(n){return n.price*n.quantity})/this.ticketSettingsByDate.MinAmountPerPerson);return f>e+r?n(!1,this.text.AmountMinimumRequired):t>i+r?n(!1,this.text.AdultMinimumRequired):n(!0,"ALL GOOD")},i.prototype.addSetMenu=function(t){var r=function(t){lynxHelpers.alertPopup({message:t,position:n.models.ModalPosition.center})},u=this.setMenus.lynxFirstOrDefault(function(n){return n.id==t}),i;if(this.ticketSettingsByDate.TicketType==n.models.TicketType.FixedPrice){var f=this.bookInfo.setMenus.lynxWhere(function(n){return n.isKidMenu}).lynxSum(function(n){return n.quantity}),e=this.bookInfo.setMenus.lynxWhere(function(n){return!n.isKidMenu}).lynxSum(function(n){return n.quantity}),o=this.bookInfo.ticket.additionalKidQuantity+this.bookInfo.ticket.mainAdultQuantity,s=this.bookInfo.ticket.additionalKidQuantity;if(u.isKidMenu&&f>=s){r("can not add more kid menu");return}if(f+e>=o){r("can not add more menu");return}}i=this.bookInfo.setMenus.lynxFirstOrDefault(function(n){return n.id==t});i?i.quantity+=1:(i=u,i.quantity=1,i.menuItems=[]);this.bookInfo.setMenus=this.bookInfo.setMenus.lynxReplaceOrAdd(i,function(n){return n.id==t})},i.prototype.minusSetMenu=function(n){var t=this.bookInfo.setMenus.lynxFirstOrDefault(function(t){return t.id==n});t&&(t.quantity-=1);this.bookInfo.setMenus=t.quantity<=0?this.bookInfo.setMenus.lynxRemove(function(t){return t.id==n}):this.bookInfo.setMenus.lynxReplaceOrAdd(t,function(n){return n.id==t.id})},i.prototype.addAlacarteMenu=function(n){var t=this.bookInfo.alacarteMenus.lynxFirstOrDefault(function(t){return t.id==n});t?t.quantity+=1:(t=this.alacarteMenus.lynxFirstOrDefault(function(t){return t.id==n}),t.quantity=1);this.bookInfo.alacarteMenus=this.bookInfo.alacarteMenus.lynxReplaceOrAdd(t,function(t){return t.id==n})},i.prototype.minusAlacarteMenu=function(n){var t=this.bookInfo.alacarteMenus.lynxFirstOrDefault(function(t){return t.id==n});t&&(t.quantity-=1);this.bookInfo.alacarteMenus=t.quantity<=0?this.bookInfo.alacarteMenus.lynxRemove(function(t){return t.id==n}):this.bookInfo.alacarteMenus.lynxReplaceOrAdd(t,function(t){return t.id==n})},i.prototype.totalSelectedItems=function(){return this.bookInfo.setMenus.lynxSum(function(n){return n.quantity})+this.bookInfo.alacarteMenus.lynxSum(function(n){return n.quantity})},i.prototype.totalPeople=function(){return this.bookInfo.ticket.mainAdultQuantity+this.bookInfo.ticket.additionalKidQuantity+this.bookInfo.ticket.toddelQuantity},i.prototype.showSubTotal=function(){var n=this;return this.bookInfo.promotions.lynxAny(function(t){return n.isMatchPromotionCondition(t)})||this.bookInfo.surcharges.lynxAny()||this.ticketSettingsByDate.IsEnabledBankPromotion},i.prototype.totalAmountRaw=function(){if(this.ticketSettingsByDate.TicketType==n.models.TicketType.FixedPrice){var t=this.bookInfo.ticket;return t.mainAdultPrice*t.mainAdultQuantity+t.additionalKidPrice*t.additionalKidQuantity+this.bookInfo.services.lynxSum(function(n){return n.price*n.quantity})}return this.bookInfo.setMenus.lynxSum(function(n){return n.quantity*n.price})+this.bookInfo.alacarteMenus.lynxSum(function(n){return n.quantity*n.price})+this.bookInfo.services.lynxSum(function(n){return n.price*n.quantity})},i.prototype.totalAmountFinal=function(){var u=this,i=this.totalAmountRaw(),t=i,r=function(t){return t.valueType==n.models.PromotionCodeAmountType.Fixed?t.value:i*t.value/100};return this.bookInfo.promotions.forEach(function(n){u.isMatchPromotionCondition(n)&&(n.amountValue=r(n),t-=n.amountValue)}),this.bookInfo.surcharges.forEach(function(n){n.amountValue=r(n);t+=n.amountValue*n.quantity}),t},i.prototype.isMatchPromotionCondition=function(t){return t.type==n.models.PromotionType.AdultGroupDiscount?this.bookInfo.ticket.mainAdultQuantity>=this.ticketSettingsByDate.AdultGroupQuantity:t.type==n.models.PromotionType.EarlyBirdFreeMenu?this.bookInfo.ticket.mainAdultQuantity+this.bookInfo.ticket.additionalKidQuantity>=this.ticketSettingsByDate.EarlyBirdMinNumberOfPeople:!0},i.prototype.filterAvailableSetMenus=function(){var n=this,i=1,r=15,t=function(){var t=n.bookInfo.dateString.split("-"),i=LYNX_CULTURE_CODE=="vi-VN"?t[0]:t[1],r=LYNX_CULTURE_CODE=="vi-VN"?t[1]:t[0],u=t[2],f=new Date(parseInt(u),parseInt(r)-1,parseInt(i)),e=(new Date).setHours(0,0,0,0),o=Math.abs(f.getTime()-e);return Math.ceil(o/864e5)},u=function(u){return u.isKidMenu?n.bookInfo.ticket.additionalKidQuantity>0:u.isVegetarianMenu?t()>=i:u.isWalkInMenu?!0:t()>0?!0:r>(new Date).getHours()};this.setMenus=this.allSetMenus.lynxWhere(function(n){return u(n)});this.setMenuCategories=this.allSetMenuCategories.lynxWhere(function(t){return n.setMenus.lynxAny(function(n){return n.categoryId==t.id})});this.bookInfo.ticket.additionalKidQuantity==0&&(this.bookInfo.setMenus=this.bookInfo.setMenus.lynxWhere(function(n){return!n.isKidMenu}));setTimeout(function(){lynxSite.colorBox()},500)},i.prototype.checkoutModal=function(){var i=this,t;if(this.calculateSurcharge(),t=this.processBookingRule(),!t.isValid){lynxHelpers.alertPopup({title:this.text.RequiredModalTitle,message:t.message,containerCssClass:"booking-validation-modal"});return}LYNX_IS_MOBILE&&(this.showOrderInfo=!1);lynxHelpers.modal({containerCssClass:"order-confirmation-modal",templateUrl:"/Scripts/angular-app/booking/confirmation-modal.html",size:n.models.ModalSize.extraLarge,position:n.models.ModalPosition.top,onContentLoaded:function(n){i.confirmationModalResult=n;var t=lynxUtils.bootstrapDatePickerFormat();t.viewMode="years";t.useCurrent=!1;n.element.find('[data-field="dob"]').datetimepicker(t)}},this.$compile,this.$scope)},i.prototype.checkAvailability=function(){var n=this;this.isSending||(this.startSending(),this.lynxHttp.post({url:this.endpoints.checkAvailability,data:this.bookInfo}).then(function(t){n.endSending();var i=t.data;lynxHelpers.alertPopup({title:i.IsAvailable?n.text.CheckAvailabilitySuccessTitle:n.text.CheckAvailabilityFailTitle,message:i.Message})}))},i.prototype.applyPromotionCode=function(){var t=this,i;if(!this.isSending){if(!this.bookInfo.discountCode){lynxHelpers.alert({message:this.text.PromotionCodeRequireMessage,type:n.models.AlertType.danger});return}this.startSending();i={TicketId:this.bookInfo.ticket.id,Code:this.bookInfo.discountCode};this.lynxHttp.post({url:this.endpoints.applyPromotionCode,ignoreHandleError:!0,data:i}).then(function(i){t.endSending();var r=i.data;t.bookInfo.promotions=[];r.data&&t.bookInfo.promotions.push(r.data);lynxHelpers.alert({message:r.message,type:r.status==n.models.LynxResponseStatus.success?n.models.AlertType.success:n.models.AlertType.danger})})}},i.prototype.removePromotionCode=function(){this.bookInfo.promotions=[];this.bookInfo.discountCode=""},i.prototype.processCheckout=function(){var t=this,i=lynxForm.validateForm(this.confirmationModalResult.element);if(!(i.length>0)){if(this.bookInfo.customer.createUser&&this.bookInfo.customer.email==""){lynxHelpers.alert(this.text.RequireEmailToCreateUserMessage);return}this.startSending();this.lynxHttp.post({url:this.endpoints.completeBooking,ignoreHandleError:!0,data:this.bookInfo}).then(function(i){t.endSending();var r=i.data;if(r.status==n.models.LynxResponseStatus.error){lynxHelpers.alert({message:r.message,type:n.models.AlertType.danger});return}r.status==n.models.LynxResponseStatus.success&&(r.data&&r.data.orderId?window.location.href=LYNX_DOMAIN+"/order-completed-new?oid="+r.data.orderId:alert("System error"))})}},i.prototype.showServiceConditionDetails=function(t){this.currentServiceCondition=angular.copy(t);lynxHelpers.modal({containerCssClass:"service-condition-modal",templateUrl:"/Scripts/angular-app/booking/service-condition-modal.html",title:t.ITM_Name,size:n.models.ModalSize.large,position:n.models.ModalPosition.center,onContentLoaded:function(){}},this.$compile,this.$scope)},i.prototype.hasAdultSetMenus=function(){return this.bookInfo&&this.bookInfo.setMenus&&this.bookInfo.setMenus.lynxAny(function(n){return!n.isKidMenu})},i.prototype.hasKidSetMenus=function(){return this.bookInfo&&this.bookInfo.setMenus&&this.bookInfo.setMenus.lynxAny(function(n){return n.isKidMenu})},i.prototype.toggleOrderInfo=function(){this.showOrderInfo=!this.showOrderInfo;this.showOrderInfo?$("body").addClass("gb-no-scroll"):$("body").removeClass("gb-no-scroll")},i.prototype.toggleDetails=function(n){$('[data-id="'+n+'"]').toggleClass("expanded")},i.prototype.scrollTo=function(n){var t=$('.center-part [data-id="'+n+'"]').offset().top;$("html, body").animate({scrollTop:t-110},500)},i.prototype.replaceMessageToken=function(n){return n.replace(/\[MinAmountPerPerson\]/g,this.$filter("lynxCurrency")(this.ticketSettingsByDate.MinAmountPerPerson.toString()))},i.$inject=["$scope","$compile","$filter","lynxHttp"],i}(n.ang.LynxBaseController);t.BookingController=i;APP.controller("bookingCtrl",i)})(i=t.controllers||(t.controllers={}))})(t=n.ang||(n.ang={}))}(lynx||(lynx={})),function(n){var t=function(){function n(){}return n.prototype.serviceConditionMobile=function(){$(".service-condition-mobile .service-name").on("click",function(n){var t=$(n.target).closest(".service-item");if(t.hasClass("expanded")){t.removeClass("expanded");return}$(".service-condition-mobile .service-item").removeClass("expanded");t.addClass("expanded");$("html, body").animate({scrollTop:t.offset().top-70},500)})},n.prototype.stickyContent=function(){if(!LYNX_IS_MOBILE){var n=$(".page-booking .outer-content"),t=n.find(".left-part"),i=n.find(".right-part"),r=n.find(".left-part .fixed-content"),u=n.find(".right-part .order-info");if(n.length!=0){var f=20,e=$(".header-ctn").outerHeight(),o=function(n){var i=n.offset().top,r=n.offset().left,u=n.width(),t=i-e-f;n.css({top:e+f,left:r,width:u});$(window).scroll(function(){$(this).scrollTop()>=t?n.addClass("is-fixed"):n.removeClass("is-fixed")});$(window).scrollTop()>=t&&n.addClass("is-fixed")};o(r);o(u);$(window).resize(function(){r.css({left:t.offset().left,width:t.width()});u.css({left:i.offset().left+20,width:i.width()})})}}},n}();n.BookingHelpes=t;bookingHelpes=new t}(lynx||(lynx={}))