$(function(){var n;View.Booking.PushHistoryState("InitializeBooking",!1);var t=!1,r=function(n){n.stopImmediatePropagation();let t=$(n.target).data("data");View.Booking.CreateOnlineBookingRequest(t)},i=!1;navigator.userAgent.match(/iPhone/i)&&($("#viewport").attr("content","width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0"),$(window).bind("gesturestart",function(){clearTimeout(i);$("#viewport").attr("content","width=device-width,minimum-scale=1.0,maximum-scale=10.0")}).bind("touchend",function(){clearTimeout(i);i=setTimeout(function(){$("#viewport").attr("content","width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0")},1e3)}));$(document).on("click","#confirm",r);$(document).on("click","#go-back",View.Booking.GoToStep);$(document).bind("touchstart click",View.Booking.Selector(".booking-event"),function(){t||(t=!0,setTimeout(function(){t=!1},200))});$(document).on("click",View.Booking.Selector(".booking-event"),View.Booking.BookingSelectorClickHandler);$(document).on("click",View.Booking.Selector(".misc-event"),function(){View.Booking[$(this).data("event")]($(this).data("data"))});$(document).on("keypress","input:not(#login input), *[data-submit]",function(n){if((n.which?n.which:n.keyCode)==13&&$(".error-dialog:visible").length<1){var t=$("*[data-submit]:not(.hidden)");t.click()}});Core.History.Adapter.bind(window,"statechange",function(){try{var n=Core.History.getState().data;if(n&&n.event&&Core.IsFinalStateChangeInHistoryTraversal(n.state)){if(!Core.SkipReloadingOnHistoryChange||Core.History.savedStates[Core.History.savedStates.length-1].data.event!=n.event){for(x=0;x<Core.History.savedStates.length;x++)if(Core.History.savedStates[x].data.event==n.event){n.data=Core.History.savedStates[x].data.data;break}View.Booking[n.event](n.data)}Core.SkipHistoryStateChangeUntilStateId=null}Core.UpdateStates(n)}finally{Core.SkipReloadingOnHistoryChange=!1}});View.Booking.InitializeBooking();Core.Facebook&&Core.Facebook.SetCanvas();$(document).on("keypress",".loginInput",function(n){(n.which?n.which:n.keyCode)==13&&$(".error-dialog:visible").length<1&&View.Booking.LogIn(n)});$(document).on("click","#logInButton",View.Booking.LogIn);$(document).on("click",".notYou",View.Booking.LogOut);n=function(){};window.addEventListener?n=window.addEventListener:window.attachEvent&&(n=function(n,t,i){window.attachEvent("on"+n,t,i)});n("message",function(n){if(n.origin.indexOf("cardconnect")>0){if(!n||!n.data)return;document.getElementById("token").value=JSON.parse(n.data).message}});n("beforeunload",function(n){const t=$("#selectServiceBookingStep").attr("data-has-dsb-site")==="True";if(View.Booking.InProcess&&!t)return n.preventDefault(),n.returnValue="Changes you made may not be saved.",n.returnValue});$(document).on("click",".booking-section-container input, .booking-section-container a:not(#newTabEvent), .booking-section-container button:not(#newTabEvent)",function(){View.Booking.InProcess=!0});$(window).resize(function(){const n=$(".page-wrapper "+View.Booking.Container);View.Booking.RenderToggleTimeResultsButtons_TimeStep(n);View.Booking.UpdateDateFormattingBasedOnScreenSize(n)})}),function(n,t,r){function w(){const t=n.Booking.GetServiceTypes_TimeStep();return t.some(n=>n==="2")}function ut(){const t=n.Booking.GetServiceTypes_TimeStep();return t.filter(n=>n!=="2").length}function b(n){let r=[],u=n.find(".employeeAvailability");for(i=0;i<u.length;i++){let n=t(u[i]),f=n.find(".selected-item-button");if(f.length>0){let i=f.closest(".availableEmployee"),t={};t.ServiceID=n.data("service-id");t.FirstAvailableSelected=n.data("first-available").toString().toLowerCase()==="true";t.EmployeeID=i.data("employee-id");t.StartTime=Core.CreateUTCDate(f.children("span").GetMomentValue().toDate());t.ServiceOrder=n.data("service-order");t.LinkedResourceId=f.data("linked-resource-id");r.push(t)}}const f=w();if(f){let u=n.find(".daycare-service");for(i=0;i<u.length;i++){let f=t(u[i]),n={};n.ServiceID=f.data("service-id");n.StartTime=t(f.find("[data-ui-kendo='TimePicker']")[0]).GetValue();n.EndTime=t(f.find("[data-ui-kendo='TimePicker']")[1]).GetValue();n.ServiceOrder=f.data("service-order");r.push(n)}}return r}function k(i,r){let e=n.Booking.GetStepContainerFromChildCtrl(t(r.element)),o=e.find("#selectedServices"),u,f;if(o.length>0){let n=o.find(".selected-item-button");u=n.data("service-id");f=n.data("service-category")}else{let t=e.find(".service-list-container"),n=t.find("input").data("ui-autocomplete");n&&n.selectedItem?(u=n.selectedItem.itemId,f=n.selectedItem.category):(n=t.find("select"),u=n.data("selected-value").toString(),f=n.data("selected-value-category"))}r.dataSource.query({filter:{logic:"or",filters:[{logic:"and",filters:[{field:"PerformableServices",operator:function(n){return!n||n.length<1}},{field:"PerformableServiceCategories",operator:function(n){return!n||n.length<1}}]},{field:"PerformableServices",operator:function(n){return t.inArray(u,n)>-1}},{field:"PerformableServiceCategories",operator:function(n){return t.inArray(f,n)>-1}}]}});n.Booking.EmployeeSelected_TimeStep(r.value(),r)}function d(i,r){const f="hidden-employeeselected";let e=n.Booking.GetStepContainerFromChildCtrl(t(r.element)),u=e.find(".employeeAvailability:visible");i?(u.data("first-available",!1),u.children(".availableEmployee").each(function(n,r){let u=t(r);u.data("employee-id").toString()===i?u.removeClass(f):u.addClass(f)})):(u.data("first-available",!0),u.children(".availableEmployee").removeClass(f))}function g(i,r){const f="hidden-timeofdayselected";let o=n.Booking.GetStepContainerFromChildCtrl(t(r.element)),e=r.dataSource.get(i),u=moment(e.StartTime),s=moment(e.EndTime),h=o.find(".employeeAvailability");h.each(function(n,i){let r=t(i);r.children(".availableEmployee").each(function(n,i){let r=t(i);r.find(".availableTimes > a").each(function(){let i=t(this),n=moment(i.text(),"HH:mm A");n.year(u.year());n.dayOfYear(u.dayOfYear());n.isBefore(u)||n.isAfter(s)?i.addClass(f):i.removeClass(f)})})})}function nt(n,t){const r=n.closest(".availableEmployee"),i=r.children(".availableTimes");t?(i.animate({"max-height":p}),n.parent().animate({height:n.outerHeight()})):(i.css("max-height",p),n.parent().height(n.outerHeight()));n.show()}function h(n,t){const f=n.closest(".availableEmployee"),i=f.children(".availableTimes"),r=i.siblings(".toggle-container");r.children(".results-toggle").hide();const e=i.css("max-height"),u=i.css("max-height","none").height();i.css("max-height",e);t?(i.animate({"max-height":u}),r.animate({height:0})):(i.css("max-height",u),r.height(0))}function c(n,t){return n.offset().top+n.innerHeight()>t.offset().top}function tt(){t(".service-list-container:visible").length<2?t(".booking-employee-warning").hide():t(".booking-employee-warning").showHidden()}function it(){let r=t(n.Booking.Selector(".service-list-container .service-list-autocomplete input:visible")),i=[];return r.each(function(n,r){var u=t(r).data("ui-autocomplete");u.selectedItem&&u.selectedItem.itemId&&u.selectedItem.itemId.length>0&&i.push(u.selectedItem.itemId)}),i}function rt(n){if(typeof fbq!="undefined"){const i={},r=t(".booking-section-container");if(r.length){const n=r.data("customerid");n&&(i.customer_id=n)}n&&(i.content_ids=[n]);fbq("track","Schedule",i)}}function f(n){t(n).find(".booking-employee-warning").addClass("hidden");t(n).find(".booking-employee-not-available").addClass("hidden");t(n).find(".employeeList").removeAttr("id");t(n).find(".employeeList").addClass("hidden");t(n).addClass("hidden")}function l(n){t(n).find(".booking-employee-warning").addClass("hidden");t(n).find(".booking-employee-not-available").addClass("hidden");t(n).find(".employeeList").attr("id","employeeList");t(n).find(".employeeList").removeClass("hidden");t(n).removeClass("hidden")}function ft(i,r){t(`.employee-list-container .booking-employee-warning`).addClass("hidden");t(`.employee-list-container[data-index=${r}] .booking-employee-warning`).removeClass("hidden");let u="*you can only select one employee.";const f=e(n.Booking.SelectedServices[r]);f===1&&(u="*you can only select one employee for multiple grooming services.");t(`.employee-list-container[data-index=${r}] .booking-employee-warning`).html(u)}function et(n){t(n).find(".booking-employee-not-available").removeClass("hidden");t(n).removeClass("hidden")}function e(n){return n&&n.petServiceType!==r&&n.petServiceType!==null&&n.petServiceType}function a(){return t("#selectServiceBookingStep").attr("data-is-daycare-feature-flag-enabled")==="True"}function o(){a()||tt();let i=r;if(n.Booking.SelectedServices[0]===r&&n.Booking.SelectedServices[1]===r&&n.Booking.SelectedServices[2]===r){f(t(`.employee-list-container[data-index=0]`));l(t(`.employee-list-container[data-index=0]`));return}t(".employee-list-container").each(function(u,o){const s=n.Booking.VisibleServices[u]&&n.Booking.SelectedServices[u];if(!s){f(o);u===i&&(i=r);t(`.service-list-container[data-index=${u}]:visible`).length&&t(o).removeClass("hidden");return}(i===r||i===null)&&e(s)!==2&&(i=u,l(o));u===i?e(s)!==2&&l(o):e(s)!==2?(f(o),ft(o,i),t(o).removeClass("hidden")):(f(o),et(o))})}function ot(i){let r=t(i);const u=r.parent().attr("data-index");n.Booking.VisibleServices[u]=!1;let f=r.closest(".service-employee-flex"),e=r.closest(".service-list-container");e.addClass("hidden");f.find("#addServiceButtonContainer").showHidden();o();Core.Facebook&&Core.Facebook.SetCanvas()}function v(n){const r=n.find("#employeeAvailability_OuterContainer .select-date-container");let u=r.length>0?n.find("#bookingStepContainer:not(#employeeAvailability_OuterContainer) .select-date-container"):n.find(".select-date-container"),i=!0;return t.each(u,(n,r)=>{let e=t(r),u=e.find("input"),f=e.find(".required-field"),o=u.GetOriginalValue(),s=u.GetMomentValue();if(o)if(s)u.data("disableddates").some(function(n){if(+new Date(n.substring(0,10).replace(/-/g,"/"))==+u.GetDateTimeValue())return f.html("Sorry, we are closed on "+o+". Please select another date to continue."),i=!1});else{let n=moment(u.data("min"),Core.DATE_FORMAT).toDate(),t=kendo.toString(n,kendo.culture().calendar.patterns.d),r=moment(u.data("max"),Core.DATE_FORMAT).toDate(),e=kendo.toString(r,kendo.culture().calendar.patterns.d);f.html("Please select a date between "+t+" and "+e+".");i=!1}else f.html("Enter a date"),i=!1;i?f.hide():f.showHidden()}),i}function s(n,i,r){const o="selected-item-button";let c=n.find("."+o);if(r||!c.is(i)){c.removeClass(o);let l=n.find(".selectable-item-button"),u=l.parent(),f=new Color(u.css("background-color")),s=!1,a={},v,y,h,e;while(f.isFullyTransparent()&&!u.is("html")&&!s)u=u.parent(),s=u.css("background-image")!="none",f=new Color(u.css("background-color"));f.alpha(1);l.each(function(n,r){let u=t(r),p=i.length>0&&u.is(i);u.css("background-color","");u.SetAllCssSides("border-color","");u.css("color","");p&&u.addClass(o);let c=new Color(u.css("color")),l=new Color(u.css("background-color"));if(!s){let n=f.contrast(l);if(n.wcagLevel=="fail"){let t,i=u.hasClass("error");if(i&&u.removeClass("error"),u.hasBorder()){let n=new Color(u.css("border-top-color"));t=f.contrast(n)}i&&u.addClass("error");t&&t.wcagLevel!="fail"||(l=n.farthest.toString()===Color.BLACK().toString()?new Color([51,51,51,1]):n.farthest,u.css("background-color",l.toString()))}let t=l.contrast(c);t.wcagLevel=="fail"&&(c=t.farthest.toString()===Color.BLACK().toString()?new Color([51,51,51,1]):t.farthest,u.SetAllCssSides("border-color",c.toString()),u.css("color",c.toString()))}p?(h=c,e=l):(a=u,v=c,y=l)});i.length>0&&a.length>0&&v.contrast(h).wcagLevel=="fail"&&y.contrast(e).wcagLevel=="fail"&&(i.css("background-color",h.toString()),i.SetAllCssSides("border-color",e.toString()),i.css("color",e.toString()))}}function st(n){var r=t(".petId"),u=t(".AddNewPet"),i;if(t(".petInfo").hide(),n)for(i=0;i<r.length;i++)r[i].innerText==n&&(u.hide(),t(r[i]).parent().showHidden());else u.showHidden()}function y(n){return n.parents("div[id^='pageDialog']").length>0?!0:!1}n.Booking=n.Booking||{};n.Booking.Container="#bookingStepContainer";n.Booking.ClientInfo="ClientInfo";n.Booking.ServiceDateSummary="#bookingStepContainer";n.Booking.InProcess=!1;n.Booking.PushHistoryState=function(n,t){Core.PushState({event:n,data:t,queryStrObj:{guid:acctGuid,customerId:customerId}})};n.Booking.GoToStep=function(n){const i=t(n.target).data("event");i&&Core.PopStateToEvent(i)};n.Booking.BookingSelectorClickHandler=function(){let i=t(this);if(i.data("submit")){let r=t(Core.UI.PageContainer),u=i.data("validator"),f;if(u&&u.length>0)f=Core.ExecuteFunction(u,i);else{let n=r.find("input:visible, select[data-ui-kendo='DropDownList']").add(r.find("select[data-required='true']").filter(":visible"));f=Core.UI.ValidateForm(r)&&!Core.UI.ValidateInputs(n).foundInvalidInputs}f&&(i.off(),n.Booking.PushHistoryState(i.data("event"),i.data("data")))}else n.Booking.PushHistoryState(i.data("event"),i.data("data"))};n.Booking.Selector=function(n){return t("#noAvailableAppointments").is(":visible")?"#noAvailableAppointments "+n:Core.UI.PageContainer+" "+n};n.Booking.LoadStep=function(n,t){Request.Booking.LoadStep(n,t)};n.Booking.InitializeBooking=function(){Core.Facebook&&Core.Facebook.Initialize();bookThroughNewTab||Request.Booking.InitializeData().then(()=>{Request.Booking.InitializeBooking(),Core.UI.FormatAutocompleteWithCategory(t(n.Booking.Selector(n.Booking.Container)))})};n.Booking.ShowPasswordEntry=function(){const n=t(".booking-step-form");t(".booking-password-outer-container > .booking-password-link-container").hide();n.hide();n.filter(".booking-password-entry-container").showHidden()};n.Booking.HidePasswordEntry=function(){const n=t(".booking-step-form");t(".booking-password-outer-container > .booking-password-link-container").showHidden();n.showHidden();n.filter(".booking-password-entry-container").hide()};n.Booking.ValidatePasswordAndRefreshBookingBlock=function(){const n=document.getElementsByClassName("password-field")[0].value;if(!n||n.length<3){Core.UI.ShowError("The password entered is invalid",null,!1,null,".booking-password-outer-container .errorContainer");return}Request.Booking.ValidatePasswordAndRefreshBookingBlock(n)};n.Booking.InitializeData=function(){};n.Booking.RedirectToDsb=function(n,t){Request.Booking.RedirectToDsb(n,t)};n.Booking.StartOver=function(){Request.Booking.StartOver()};n.Booking.ProcessClientInfo=function(){Core.TrackPageView("/Booking/ProcessClientInfoComplete","Client Info Submitted");Request.Booking.ProcessClientInfo()};n.Booking.ProcessPetInfo=function(){var i=!1;let n=t("#pet-select"),u=n.data("ui-kendo"),r=u?n.data("kendoDropDownList").value():n.val();r&&r!=""||(i=!0);let f=t("#petInfoBookingStep");Core.TrackPageView("/Booking/ProcessPetInfoComplete","Pet Info Submitted");Request.Booking.ProcessPetInfo(i,f)};const u="expanded",p="180px";n.Booking.ValidateProcess_TimeStep=function(r){let e=n.Booking.GetStepContainerFromChildCtrl(r);if(!v(e))return!1;let u=e.find("#errorContainer");u.hide();let o=e.find(".employeeAvailability");if(ut()>0&&o.length<1)return u[0].innerHTML="No times found. Try changing your search criteria to find available times.",u.showHidden(),!1;let h=e.find("#selectedServices"),s=!0,f="";for(i=0;i<o.length;i++){let n=t(o[i]),u=n.find(".selected-item-button"),r=h.find('[data-service-order="'+n.data("service-order")+'"]');u.length!=1?(s&&r.trigger("click"),s=!1,r.addClass("error"),f+=n.find(".serviceName").first().text().trim()+", "):r.removeClass("error")}return(f=f.replace(/(^,\ )|(,\ $)/g,""),!s)?(u[0].innerHTML="Please choose a time/employee for the service"+(f.split(",").length>1?"s '":" '")+f+"'",u.showHidden(),!1):!0};n.Booking.GetServiceTypes_TimeStep=function(){const n=t("#selectEmployeeTimeStep").attr("data-service-type");return n&&n.length&&n.split(",")};n.Booking.Process_MultiChoiceTimeStep=function(){let i=t(n.Booking.Selector("#selectEmployeeTimeStep:visible"));if(i.length>0){let i=t(".page-wrapper "+n.Booking.Container),r=i.find("#selectTimeContainer select").val(),u=b(i);Core.TrackPageView("/Booking/ProcessTimeComplete","Employee and Time Selection Submitted");Request.Booking.Process_MultiChoiceTimeStep(r,u)}else Request.Booking.LoadPostTimeStep()};n.Booking.Reload_TimeStep=function(t){const o=t.SenderCtrl,r=t.TimeOptionsView;if(r){let i=n.Booking.GetStepContainerFromChildCtrl(o),u="#employeeAvailability_OuterContainer";t.SingleService&&(u+=", .daycare-time-picker-wrapper");var s=i.find(u);s.replaceWith(r);let f=i.find("#selectedServices");f.find(".noTimeSelected").showHidden();f.find(".timeSelected").hide();Core.UI.Format(i);n.Booking.RefreshAvailabilityBasedOnServiceSelection_TimeStep(i);let e=i.find("#selectTimeContainer select").data("kendoDropDownList");n.Booking.TimeOfDaySelected_TimeStep(e.value(),e)}};n.Booking.Reload_TimeStep_Daycare=function(t){const r=t.SenderCtrl;let i=n.Booking.GetStepContainerFromChildCtrl(r);for(let n=0;n<3;n++){const r=t[`TimeOptionsViewDaycare${n}`];if(r){let f=`.daycare-time-picker-wrapper[data-index=${n}]`;t.SingleService&&(f+=", #employeeAvailability_OuterContainer");var u=i.find(f);u.replaceWith(r)}}n.Booking.RefreshAvailabilityBasedOnServiceSelection_TimeStep(i)};n.Booking.Loaded_TimeStep=function(i){let r=i.SenderCtrl&&i.SenderCtrl.length>0?n.Booking.GetStepContainerFromChildCtrl(i.SenderCtrl):t(".page-wrapper "+n.Booking.Container);n.Booking.RefreshAvailabilityBasedOnServiceSelection_TimeStep(r);let u=r.find("#employeeList").data("kendoDropDownList");d(u.value(),u);let f=r.find("#selectTimeContainer select").data("kendoDropDownList");g(f.value(),f);n.Booking.RefreshEmployeeAvailabilityContainers_TimeStep(r)};n.Booking.RefreshAvailabilityBasedOnServiceSelection_TimeStep=function(i){let r=i.find("#selectedServices");r.length>0&&s(r,r.find(".selected-item-button"),!0);let c=i.find(".booking-step-title"),l=c.css("color"),u=i.find("p"),f=i.find(".employeeServiceDetails span");u.length>0&&Color.ValidateElementAgainstParent(u,"color");f.length>0&&Color.ValidateElementAgainstParent(f,"color");const e=i.find(".availableTimes");e.length>0?(e.each(function(n,i){let r=t(i);s(r,r.find(".selected-item-button"),!0)}),i.find(".employee-dropdown").removeClass("hidden")):i.find(".employee-dropdown").addClass("hidden");let o=i.find("#selectedServices"),h;h=o.length>0?o.find(".selected-item-button")[0]:i.find(".service-list-container input")[0];n.Booking.ServiceChosenForConfiguring_TimeStep(h)};n.Booking.ServiceChosenForConfiguring_TimeStep=function(i){const e="hidden-serviceselected";let r=t(i),u=n.Booking.GetStepContainerFromChildCtrl(r);u.find("#errorContainer").hide();let f;r.hasClass("selectable-item-button")?(s(r.parent(),r),f=r.index()+1):f=1;u.find(".employeeAvailability").addClass(e);u.find(".employeeAvailability[data-service-order='"+f+"']").removeClass(e);let o=u.find("#employeeList").data("kendoDropDownList");k(o.value(),o)};n.Booking.RefreshEmployeeDropDown_TimeStep=function(n,t){t.justBound||(t.justBound=!0,k(n,t))};n.Booking.DateChanged_TimeStep=function(i){let u=t(i),r=n.Booking.GetStepContainerFromChildCtrl(u);if(v(r)){let f=r.find("#selectedServices"),e=0;f.length>0&&(e=f.children(".selected-item-button").index());let o=r.find(".date-picker-container input").GetMomentValue().toDate(),s=Core.CreateUTCDate(o);Request.Booking.DateChanged_TimeStep(s,e,u)}};n.Booking.TimeOfDaySelected_TimeStep=function(i,r){let u=n.Booking.GetStepContainerFromChildCtrl(t(r.element));g(i,r);n.Booking.RefreshEmployeeAvailabilityContainers_TimeStep(u)};n.Booking.EmployeeSelected_TimeStep=function(i,r){let u=n.Booking.GetStepContainerFromChildCtrl(t(r.element));d(i,r);n.Booking.RefreshEmployeeAvailabilityContainers_TimeStep(u)};n.Booking.RefreshEmployeeAvailabilityContainers_TimeStep=function(i){i.find(".noAvailability").hide();let r=i.find(".employeeAvailability:visible");if(r.length<1)i.find(".noAvailability").show();else{let e=r.find(".icon2-spinner2:visible");if(e.length>0)return;let f=r.children(".availableEmployee");f.css("display","");let u=!1;if(t.map(f,function(n){let i=t(n);i.find(".selectable-item-button:visible").length>0?u?i.css("margin-top",""):(i.css("margin-top","0"),u=!0):i.hide()}),u)n.Booking.RenderToggleTimeResultsButtons_TimeStep(i);else{let i=r.children(".noAvailability");if(i){let u=t(n.Booking.Selector("#employeeList")).GetValue(),r=t(n.Booking.Selector("#selectTimeContainer select")).GetValue();u&&u.Name=="First Available"?r&&r.Value==0?i.html("There are no appointments available for the selected day.<br><br>Please select a different day to continue."):i.html("There are no appointments available for the selected time of day.<br><br>Please select a different time of day to continue."):r&&r.Value==0?i.html("There are no appointments available for the selected employee.<br><br>Please select a different employee to continue."):i.html("There are no appointments available for the selected employee at the selected time of day.<br><br>Please select a different employee or time of day to continue.");i.showHidden()}}}};n.Booking.NewServiceSelected_TimeStep=function(i,r){let u=t(r),f=n.Booking.GetStepContainerFromChildCtrl(u),e=u.data("ui-autocomplete");if(!e.isNewMenu){let n=f.find(".date-picker-container input").GetMomentValue().toDate(),t=Core.CreateUTCDate(n);Request.Booking.NewServiceSelected_TimeStep(i.itemId,1,t,u)}};n.Booking.SuggestedDateClicked_TimeStep=function(i){Request.Booking.SearchNextDayAvailability_UpdateTicketItemsTimeStep();let r=n.Booking.GetStepContainerFromChildCtrl(t(i)),u=r.find(".select-time-container .k-widget select").data("kendoDropDownList").value(),f=r.find("#employeeList").data("kendoDropDownList").value();r.html(t("#employeeTimeOptions").html());Core.UI.Format(r);Core.UI.Kendo(r);Core.UI.FormatAutocompleteWithCategory(r);r.find(".select-time-container .k-widget select").data("kendoDropDownList").value(u);r.find("#employeeList").data("kendoDropDownList").value(f);n.Booking.Loaded_TimeStep({StepContainer:r})};n.Booking.AvailableTimeSelected_TimeStep=function(r){let f=t(r),u=n.Booking.GetStepContainerFromChildCtrl(f),e=f.closest(".employeeAvailability");s(e,f);const l=u.find("#selectedServices");if(l.length>0&&l.is(":visible")){let n=u.find(".employeeAvailability");for(i=0;i<n.length;i++){let r=t(n[i]);if(!r.is(e)){let n=r.children(),t=n.filter(".icon2-spinner2");n.addClass("hidden-timeselected");t.removeClass("hidden-timeselected");Color.ValidateElementAgainstParent(t,"color")}}let r=b(u);Request.Booking.AvailableTimeSelected_TimeStep(e.data("service-order"),r,f)}u.find("#errorContainer").hide();u.find("a.button.selectable-item-button.error.selected-item-button").removeClass("error");let o=!1,h=u.find("#selectedServices > .button[data-service-order="+e.data("service-order")+"]"),c=h.find(".serviceTime");if(c.length>0){let r=f.closest(".availableEmployee"),e=f.children("span"),v=r.data("service-minutes"),y=e.GetMomentValue(),t=y.clone().add(v,"minutes"),i=c.find(".timeSelected"),s=i.find(".startTimeSelected > span"),l=i.find(".endTimeSelected > span"),p={Value:t.toString(),DateYear:t.year(),DateMonth:t.month(),DateDay:t.day(),TimeHour:t.hour(),TimeMinute:t.minute(),TimeSecond:t.second(),TimeMilli:t.millisecond(),HasValue:!0};s.data("model-json",e.data("model-json"));s.removeClass("formatted");l.data("model-json",p);l.removeClass("formatted");Core.UI.Format(i);h.find(".servicePrice").html(r.find(".servicePrice").html());c.find(".noTimeSelected").hide();h.find(".timeSelected").showHidden();const a=u.find("#selectedServices .selectable-item-button:not(.selected-item-button) .noTimeSelected:visible");if(a.length){const t=a.parents(".selectable-item-button");t.length&&n.Booking.ServiceChosenForConfiguring_TimeStep(t.last())}else w()||(o=!0)}else o=!0;o&&u.find(".button.booking-event").click()};n.Booking.ToggleAvailableTimesView_TimeStep=function(n){const i=t(n);i.hasClass(u)?(i.removeClass(u),nt(i,!0)):(h(i),i.addClass(u,!0))};n.Booking.RenderToggleTimeResultsButtons_TimeStep=function(i){const r=i.find(".availableTimes:visible");r.length&&r.each(function(){const r=t(this),o=r.children(".selectable-item-button:visible"),f=o.last(),s=r.children(".selected-item-button"),l=r.siblings(".toggle-container"),i=l.children(".results-toggle");if(i.hasClass(u)||!f.length||c(r,f)){h(i,!1);return}if(s.length&&!c(r,s)){n.Booking.ToggleAvailableTimesView_TimeStep(i);return}let e=0;o.each(function(){const n=t(this),i=n.offset().left+n.outerWidth();i>e&&(e=i)});nt(i,!1);c(r,f)&&h(i,!1);const a=e-r.offset().left-i.outerWidth();i.css("left",a+"px");l.css("height",i.outerHeight())})};n.Booking.UpdateDateFormattingBasedOnScreenSize=function(n){const i=Core.UI.GetKendoUIElements(Core.UI.DatePicker,n);i.each((n,i)=>{const u=t(i),r=t(i).data("kendoDatePicker");if(r){const t=window.innerWidth<700?Core.UI.Pattern+"-mobile":Core.UI.Pattern,n=u.KendoUIAttribute(t);n&&n.length&&r.options.format!==n&&r.setOptions({format:n})}})};n.Booking.ProcessServices=function(){let i=t(n.Booking.Selector(".service-list-container:visible"));if(i.length>0){let c=i.find(".service-list-autocomplete input"),u=t(n.Booking.Selector(".date-picker-container:visible input")),f=t(n.Booking.Selector(".time-picker-container:visible select option:selected")),e=t.map(u,n=>Core.CreateUTCDate(t(n).GetMomentValue().toDate())),o=t.map(f,n=>n.value),s=it(),r=parseInt(t(n.Booking.Selector(".booking-step-employee-service:visible select#employeeList option:selected")).val()),h=isNaN(r)?0:r;Core.TrackPageView("/Booking/SelectServiceComplete","Services Submitted");Request.Booking.ProcessServices(e,o,h,s)}else{const n=t(".confirmation-step:visible");Request.Booking.LoadPostServicesStep(n.length>0)}};n.Booking.ValidateServicesStep=function(i){let f=n.Booking.GetStepContainerFromChildCtrl(i),e=it(),r=t(n.Booking.Selector("#serviceRequiredError")),u=v(f);return e.length<1?(r.showHidden(),u=!1):r.hide(),u};n.Booking.ProcessCardInfo=function(){let i=t(n.Booking.Selector("#creditCardInfoStep"));if(i.length<=0)Request.Booking.LoadPostCardInfoStep();else{const r="processcardinfo";grecaptcha.ready(function(){grecaptcha.execute("6LdO3EwpAAAAABqHNYKPtFbrB8IvwHVnWAcwHorl",{action:r}).then(function(u){let f=i.find("#cardholderName").val(),e=t(n.Booking.Selector("#creditCardInfoStep #token")).val(),o=i.find(".card-expiration-month").val(),s=i.find(".card-expiration-year").val(),h=i.find("#cardCVV").val(),c=i.find("#zipCode").val();Core.TrackPageView("/Booking/ProcessCreditCardStep","Card on File Submitted");Request.Booking.ProcessCardInfo(f,e,o,s,h,c,u,r)})})}};n.Booking.ContinueToYearFromMonthCardInfoStep=function(){const i=t(n.Booking.Selector(".card-expiration-month")),u=i.is(":focus"),r=i.val();if(u&&r&&r.length>=i.attr("maxLength")){const i=t(n.Booking.Selector(".card-expiration-year"));i.focus()}};n.Booking.ValidateCardInfoStep=function(){let s=t(n.Booking.Selector("#creditCardInfoStep input")),i=t(n.Booking.Selector("#creditCardInfoStep #token")),f=!Core.UI.ValidateInputs(s).foundInvalidInputs;!i||i.length<1||i.val().length<1?(f=!1,i.siblings(".required-field").showHidden()):i.siblings(".required-field").hide();const r=t(n.Booking.Selector(".card-expiration-container")),u=parseInt(r.find(".card-expiration-month").val()),e=parseInt(r.find(".card-expiration-year").val());let o=!!u&&!!e;if(o){let n=new Date,i=n.getMonth(),t=n.getFullYear().toString().substr(-2);o=(e>t||e==t&&u>=i)&&u>0&&u<13}return o?r.find(".required-field").hide():(r.find(".required-field").showHidden(),f=!1),f};n.Booking.Loaded_Confirmation=function(){Color.ValidateElementAgainstParent(t(".create-account span"),"color")};n.Booking.CreateOnlineBookingRequest=function(i){function f(t,i){n.Booking.BookingSelectorClickHandler();rt(i);Core.TrackPageView("/Booking/SubmitOnlineBookingRequest","Appointment Request Submitted");Request.Booking.CreateOnlineBookingRequest(t,i)}var r=t(n.Booking.Selector("#bookingComment")).GetValue(),u=t("#create-acct");if(u.length==0||!u.is(":checked")){f(r,i);return}let e=function(n){if(n.Response.ErrorMessage||n.Response.ShowGenericMessage){Core.UI.ShowError(n.Response.ErrorMessage,n.Response.Stacktrace,n.Response.ShowGenericMessage,Core.Resources.CREATE_GENERIC_ERROR_MESSAGE);return}f(r,i)},o={successCallBack:e};n.Booking.CreateAccount(o)};n.Booking.CreateAccount=function(n){var i=Core.UI.ValidateInputs(t("#emailContainer input, #passwordContainer input"));i.foundInvalidInputs||Request.Booking.CreateAccount(i.inputValues.emailAddress,i.inputValues.password,n)};n.Booking.CreateOfflineBookingRequest=function(){var i=t(n.Booking.Selector("#bookingComment")).GetValue();Core.TrackPageView("/Booking/OfflineComplete","Offline Appointment Request Submitted");rt();Request.Booking.CreateOfflineBookingRequest(i)};n.Booking.DisplayStep=function(i,r,u,f){var e=t(n.Booking.Selector(n.Booking.Container)),s=t(n.Booking.Selector("#bookingStepNavigation"));e.html(i);Core.UI.Format(e);Core.UI.Kendo(e);Core.UI.FormatAutocompleteWithCategory(e);Core.UI.BindShowHidePassword();f&&(Core.FirstState(),n.Booking.PushHistoryState("InitializeBooking",!0));r=="Complete"||r=="CompleteOffline"?(n.Booking.InProcess=!1,Core.ReplaceState(),s.hide()):r==="SelectServices"?o():s.show();Core.Facebook&&Core.Facebook.SetCanvas();n.Booking.UpdateNavigation();n.Booking.UpdateDateFormattingBasedOnScreenSize(t(".page-wrapper "+n.Booking.Container));t("body").animate({scrollTop:t(".booking-section-container").offset().top-30})};n.Booking.ReloadPage=function(){Core.ReloadPage()};n.Booking.SelectedServices=[r,r,r];n.Booking.VisibleServices=[!0,!1,!1];n.Booking.ServiceSelectServiceSummary=function(i,r){const u=t(r).parent().parent().attr("data-index");n.Booking.SelectedServices[u]=i;n.Booking.VisibleServices[u]=!0;o()};n.Booking.AddToServiceSummary=function(i){let u=".booking-form-item";a()&&(u=".service-employee-flex");let f=t(i).closest(u),r=f.find(".service-list-container:not(:visible)");if(r&&r.length>0){let t=r.first();r.length===1&&f.find("#addServiceButtonContainer").hide();t.find(".remove-link").showHidden();t.showHidden();const i=t.attr("data-index");n.Booking.VisibleServices[i]=!0}o();Core.Facebook&&Core.Facebook.SetCanvas()};n.Booking.RemoveServiceFromSummary=function(n){if(a()){ot(n);return}let r=t(n),u=r.closest(".booking-form-item"),f=u.find(".service-list-container").last(),i=r.closest(".service-list-container"),e=i.find(".service-list-autocomplete input");e.val("");e.data("ui-autocomplete")._trigger("select");f.is(i)||f.after(i);i.hide();u.find("#addServiceButtonContainer").showHidden();tt();Core.Facebook&&Core.Facebook.SetCanvas()};n.Booking.AddDateTimeToServiceSummary=function(i){const u=t(i),f=u.closest(".booking-step-controls"),r=f.find(".datetime-list-container:not(:visible)");if(r&&r.length>0){const i=r.first(),f=i.find(".date-picker-container input").data("kendoDatePicker"),e=i.find(".time-picker-container select").data("kendoDropDownList"),o=t(n.Booking.Selector(".datetime-list-container:visible")).last(),s=o.find(".date-picker-container input").data("kendoDatePicker"),u=new Date(s.value());u.setDate(u.getDate()+1);f.value(u);f.trigger("change");e.value(0);e.trigger("change");r.length===1&&t(n.Booking.Selector("#addDateTimeButtonContainer")).hide();i.find(".remove-link").showHidden();i.showHidden()}Core.Facebook&&Core.Facebook.SetCanvas()};n.Booking.RemoveDateTimeFromSummary=function(n){let r=t(n),f=r.closest(".datetime-list-outer-container"),u=f.find(".datetime-list-container").last(),i=r.closest(".datetime-list-container");u.is(i)||u.after(i);i.hide();t("#addDateTimeButtonContainer").showHidden();Core.Facebook&&Core.Facebook.SetCanvas()};n.Booking.UpdateNavigation=function(){var u=t(n.Booking.Selector(".button[data-step='forward']")),i=t(n.Booking.Selector("#bookingStepNavigation .forward")),f=t(n.Booking.Selector(".button[data-step='back']")),r=t(n.Booking.Selector("#bookingStepNavigation .back"));u.length?(i.addClass("booking-event"),i.data("event",u.data("event")),i.data("data",u.data("data")),i.data("submit",u.data("submit")),i.show()):(i.removeClass("booking-event"),i.data("event",""),i.data("data",""),i.data("submit",!1),i.hide());f.length?(r.addClass("booking-event"),r.data("event",f.data("event")),r.data("data",f.data("data")),r.data("submit",f.data("submit")),r.show()):(r.removeClass("booking-event"),r.data("event",""),r.data("data",""),r.data("submit",!1),r.hide())};n.Booking.PetTypeChanged=function(n){Request.Booking.RefreshBreedsList(n)};n.Booking.SelectPetInfoListItemFromDropdown=function(n){let i=t("#TicketSearchClient").data("model-json");n==""&&(n=null);i.AddedPet.Selected=!(n==null);for(var r=0;r<i.Pets.length;r++)i.Pets[r].Selected=n==i.Pets[r].PetId;st(n)};n.GetDisabledDatesInDateRange=function(n,t,r){var u=new Date(n.getTime()),o=moment(n),s=moment(t),h=s.diff(o,"days"),f=[],e;for(i=1;i<h;i++)e=u.setTime(u.getTime()+864e5),r.forEach(function(n){var t=n.substring(0,10).replace(/-/g,"/");+new Date(t)==e&&f.push(t)});return f};n.Booking.LogIn=function(i){y(t(i.target))||n.Booking.ValidateLogIn()&&Request.Booking.LogIn(t("#emailContainer input").val(),t("#passwordContainer input").val())};n.Booking.LogOut=function(n){y(t(n.target))||t.blockUI();Core.RemoveClientAuthTokens(function(){Request.Booking.LogOut()})};n.Booking.ValidateProcessClientInfo=function(){return!Core.UI.ValidateInputs(t("input:not(#login input):visible")).foundInvalidInputs};n.Booking.ValidateLogIn=function(){return!Core.UI.ValidateInputs(t("#login input:visible")).foundInvalidInputs};n.Booking.GoToResetPassword=function(n,i){y(t(n.target))||(window===window.parent?window.location.href="/User/ForgotPassword":window.open(i+"/User/ForgotPassword","_blank"))};n.Booking.GetStepContainerFromChildCtrl=function(t){return t.closest(n.Booking.Container)}}(window.View=window.View||{},jQuery),function(n,t){n.Booking=n.Booking||{};n.Booking.LoadStep=function(n){t(View.Booking.Selector("#bookingStepNavigation ul li")).removeClass("current");t(View.Booking.Selector("#bookingDot"+n.StepNumber)).addClass("current");View.Booking.DisplayStep(n.View,n.StepName,n.Complete,n.StartOver);n.SearchNextAvailability&&Request.Booking.SearchNextDayAvailability_TimeStep();var i=n.pushClientAuthTokensParams;i&&Core.PushClientAuthTokensHelper(i.ClientAuthFrontendBaseUrl,i.IdToken,i.AccessToken,i.RefreshToken)};n.Booking.SearchNextDayAvailability_TimeStep=function(n){let i=t("#nextAvailableNote");i.html(n.View);Color.ValidateElementAgainstParent(i.find("p"),"color");Core.UI.Format()};n.Booking.InitializeData=function(){View.Booking.InitializeData()};n.Booking.ValidatePasswordAndRefreshBookingBlock=function(n){if(n&&n.error){Core.UI.ShowError(n.error.message.replace(". ",".<br>"),n.error.stackTrace,!1,null,".booking-password-outer-container .errorContainer");return}t(".page-content-wrapper[data-contenttype='Appointment Booking']").replaceWith(n.UpdatedBookingView);View.Booking.InitializeBooking()};n.Booking.RestartBookingAndThrowError=function(){Core.FirstState();View.Booking.InitializeBooking()};n.Booking.RequestNotMade=function(n){var i=n.ConfirmationStep?"The appointment trying to be booked could not be completed. Please start over and try again.":"The request being made could not be completed. Please start over and try again.",r=n.ConfirmationStep?"Appointment Not Booked":"Request Not Made";t.showDialog({title:"Appointment Not Booked",content:i,width:400,buttons:{"Start Over":function(){View.Booking.StartOver();t(this).dialog("close")}}})};n.Booking.RequestedAppointmentNoLongerAvailable=function(){t.showDialog({title:"No Longer Available",content:"Your request was NOT submitted. The selected appointment time is no longer available. Please select a different time.",width:400,buttons:{"Select another time":function(){Core.PopStateToEvent("ProcessServices");t(this).dialog("close")}}})};n.Booking.CreditCardExpired=function(){t.showDialog({title:"Credit Card Expired",content:"The credit card used for this appointment is expired. Please update your payment information.",width:400,buttons:{"Update Payment Info":function(){Request.Booking.LoadCardInfoPage();t(this).dialog("close")}}})};n.Booking.RefreshBreedsList=function(n){var i=t("#petBreed"),r,u;let f=i.data("ui-kendo");f?(r=i.data("kendoDropDownList"),u=[{text:"Breed",value:""}],n.Breeds.forEach(function(n){u.push({text:n.Name,value:n.Name})}),r.setDataSource(new kendo.data.DataSource({data:u})),r.dataSource.query()):(i.find("option:gt(0)").remove(),n.Breeds.forEach(function(n){i.append(t("<option><\/option>").attr("value",n.Name).text(n.Name))}))};n.Booking.DateChanged_TimeStep=function(n){n.SearchNextAvailability&&Request.Booking.SearchNextDayAvailability_TimeStep();View.Booking.Reload_TimeStep(n);View.Booking.Reload_TimeStep_Daycare(n)};n.Booking.NewServiceSelected_TimeStep=function(n){n.SearchNextAvailability&&Request.Booking.SearchNextDayAvailability_TimeStep();n.SingleService=!0;View.Booking.Reload_TimeStep(n);View.Booking.Reload_TimeStep_Daycare(n)};n.Booking.AvailableTimeSelected_TimeStep=function(n){let t=View.Booking.GetStepContainerFromChildCtrl(n.SenderCtrl);if(n.TimeOptions&&n.TimeOptions.length>0)for(i=0;i<n.TimeOptions.length;i++){let r=n.TimeOptions[i],u=t.find('.employeeAvailability[data-service-order="'+r.ServiceOrder+'"]');u.length>0&&u.replaceWith(r.View)}View.Booking.RefreshAvailabilityBasedOnServiceSelection_TimeStep(t);View.Booking.RefreshEmployeeAvailabilityContainers_TimeStep(t);Core.UI.Format(t)};n.Booking.PushClientAuthTokens=function(n){var t=n.pushClientAuthTokensParams;Core.PushClientAuthTokensHelper(t.ClientAuthFrontendBaseUrl,t.IdToken,t.AccessToken,t.RefreshToken)}}(window.Response=window.Response||{},jQuery),function(n){n.Booking=n.Booking||{};n.Booking.LoadStep=function(n){var t=new AjaxRequest({controller:"Booking",action:"LoadStep"});t.Add("view",n);t.Send()};n.Booking.InitializeData=function(){const n=new AjaxRequest({controller:"Booking",action:"InitializeData",background:!0});return n.Add("localTime",Core.GetCurrentDateTimeOfUser()),n.Send()};n.Booking.InitializeBooking=function(){const n=new AjaxRequest({controller:"Booking",action:"InitializeBooking"});return n.Send()};n.Booking.ValidatePasswordAndRefreshBookingBlock=function(n){const t=new AjaxRequest({controller:"Booking",action:"ValidatePasswordAndRefreshBookingBlock",sendErrToCallback:!0});t.Add("password",n);t.Send()};n.Booking.StartOver=function(){var n=new AjaxRequest({controller:"Booking",action:"StartOver"});n.Send()};n.Booking.RedirectToDsb=function(n,t){const i=new AjaxRequest({controller:"Booking",action:"RedirectToDsb",params:{customerID:t},SuccessAdditionalCallback:t=>{if(!t.Response.Error&&t.Response.DsbUrl){const i=document.createElement("a");i.href=t.Response.DsbUrl;n&&i.setAttribute("target","_blank");i.click()}}});i.Send()};n.Booking.ProcessClientInfo=function(){var n=new AjaxRequest({controller:"Booking",action:"ProcessClientInfo",model:"TicketSearchClient",container:"#page-section-container #clientInfoBookingStep"});this.ticketSearchClient=n.PostData.TicketSearchClient||{};n.Send()};n.Booking.ProcessPetInfo=function(n,t){var i=new AjaxRequest({controller:"Booking",action:"ProcessPetInfo",model:"TicketSearchClient",container:t});this.ticketSearchClient=i.PostData.TicketSearchClient||{};i.Add("isAddingPet",n);i.Send()};n.Booking.ProcessServices=function(n,t,i,r,u){var f=new AjaxRequest({controller:"Booking",action:"ProcessServices"});f.Add("selectedDates",n);f.Add("selectedTimes",t);f.Add("selectedEmployeeId",i);f.Add("serviceIDsToAdd",r);f.Add("goingBack",u);f.Send()};n.Booking.LoadPostServicesStep=function(n){var t=new AjaxRequest({controller:"Booking",action:"LoadPostServicesStep"});n&&t.Add("forceSearch",n);t.Send()};n.Booking.ProcessCardInfo=function(n,t,i,r,u,f,e,o){var s=new AjaxRequest({controller:"Booking",action:"ProcessCardInfo"});s.Add("cardHolderName",n);s.Add("ccToken",t);s.Add("ccExpirationMonth",i);s.Add("ccExpirationYear",r);s.Add("cardCVV",u);s.Add("zipCode",f);s.Add("reCAPTCHAToken",e);s.Add("actionName",o);s.Send()};n.Booking.LoadPostCardInfoStep=function(){var n=new AjaxRequest({controller:"Booking",action:"LoadPostCardInfoStep"});n.Send()};n.Booking.CreateOnlineBookingRequest=function(n){var t=new AjaxRequest({controller:"Booking",action:"CreateOnlineBookingRequest",model:"AppointmentFull"});t.Add("comment",n);t.Send()};n.Booking.CreateAccount=function(n,t,i){i=i||{};var r=new AjaxRequest({controller:"User",action:"Create"});r.Add("firstName",this.ticketSearchClient.FirstName);r.Add("lastName",this.ticketSearchClient.LastName);r.Add("mobilePhone",this.ticketSearchClient.PhoneNumber);r.Add("enableEmailMarketing",this.ticketSearchClient.EnableEmailMarketing);r.Add("enableTextMarketing",this.ticketSearchClient.EnableTextMarketing);r.Add("email",n);r.Add("password",t);r.SuccessAdditionalCallback=i.successCallBack;r.FailAdditionalCallback=i.errorCallBack;r.Add("isFromBooking",!0);i.clientID&&r.Add("clientID",i.optClientID);r.Send()};n.Booking.CreateOfflineBookingRequest=function(n){var t=new AjaxRequest({controller:"Booking",action:"CreateOfflineBookingRequest"});t.Add("comment",n);t.Send()};n.Booking.RefreshBreedsList=function(n){var t=new AjaxRequest({controller:"Booking",action:"RefreshBreedsList",background:!0});t.Add("petTypeName",n);t.Send()};n.Booking.LogIn=function(n,t){var i=new AjaxRequest({controller:"Booking",action:"LogIn"});i.Add("email",n);i.Add("password",t);i.Send()};n.Booking.LogOut=function(){var n=new AjaxRequest({controller:"Booking",action:"LogOut"});n.Send()};n.Booking.Process_MultiChoiceTimeStep=function(n,t){var i=new AjaxRequest({controller:"Booking",action:"Process_MultiChoiceTimeStep"});i.Add("selectedTimeOfDay",n);i.Add("serviceConfiguration",t);i.Send()};n.Booking.LoadPostTimeStep=function(){var n=new AjaxRequest({controller:"Booking",action:"LoadPostTimeStep"});n.Send()};n.Booking.DateChanged_TimeStep=function(n,t,i){var r=new AjaxRequest({controller:"Booking",action:"DateChanged_TimeStep",senderCtrl:i});r.Add("newDate",n);r.Add("selectedServiceIndex",t);r.Send()};n.Booking.NewServiceSelected_TimeStep=function(n,t,i,r){var u=new AjaxRequest({controller:"Booking",action:"NewServiceSelected_TimeStep",senderCtrl:r});u.Add("newServiceID",n);u.Add("selectedServiceIndex",t);u.Add("selectedDate",i);u.Send()};n.Booking.SearchNextDayAvailability_TimeStep=function(n,t){var i=new AjaxRequest({controller:"Booking",action:"SearchNextDayAvailability_TimeStep",background:!0,senderCtrl:t});i.Send()};n.Booking.AvailableTimeSelected_TimeStep=function(n,t,i){var r=new AjaxRequest({controller:"Booking",action:"AvailableTimeSelected_TimeStep",senderCtrl:i,background:!0});r.Add("serviceOrderOfSelection",n);r.Add("serviceConfiguration",t);r.Send()};n.Booking.SearchNextDayAvailability_UpdateTicketItemsTimeStep=function(){var n=new AjaxRequest({controller:"Booking",action:"SearchNextDayAvailability_UpdateTicketItemsTimeStep"});n.Send()};n.Booking.LoadCardInfoPage=function(){var n=new AjaxRequest({controller:"Booking",action:"LoadCardInfoPage"});n.Send()}}(window.Request=window.Request||{},jQuery);var Color=function(n){let i=this;if(n==="transparent")n=[0,0,0,0];else if(typeof n=="string"){var t=n;if(n=t.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/),n)n.shift();else throw new Error("Invalid string: "+t);}n[3]===undefined&&(n[3]=1);n=n.map(function(n){return i._floor(n,3)});this.rgba=n};Color.ValidateElementAgainstParent=function(n,t){const e="background-color";let i=n.parent(),u=new Color(n.css(t)),r=new Color(i.css(e)),o=!1;while(r.isFullyTransparent()&&!i.is("html")&&!o)i=i.parent(),o=i.css("background-image")!="none",r=new Color(i.css(e));r.alpha(1);let f=r.contrast(u);f.wcagLevel=="fail"&&(u=f.farthest.toString()===Color.BLACK().toString()?new Color([51,51,51,1]):f.farthest,n.css(t,u.toString()))};Color.BLACK=function(){return new Color([0,0,0])};Color.WHITE=function(){return new Color([255,255,255])};Color._LEVELS=function(){return{fail:{range:[0,1.75]},"aa-large":{range:[1.75,4.5]},aa:{range:[4.5,7]},aaa:{range:[7,22]}}};Color.prototype.rgb=function(){return this.rgba.slice(0,3)};Color.prototype.alpha=function(n){return n&&(this.rgba[3]=n),this.rgba[3]};Color.prototype.luminance=function(){for(var n,t=this.rgba.slice(),i=0;i<3;i++)n=t[i],n/=255,n=n<.03928?n/12.92:Math.pow((n+.055)/1.055,2.4),t[i]=n;return.2126*t[0]+.7152*t[1]+.0722*t[2]};Color.prototype.inverse=function(){return new Color([255-this.rgba[0],255-this.rgba[1],255-this.rgba[2],this.alpha()])};Color.prototype.isFullyTransparent=function(){return this.alpha()===0};Color.prototype.isPartiallyTransparent=function(){let n=this.alpha();return n>0&&n<1};Color.prototype.isOpaque=function(){return this.alpha()===1};Color.prototype.toString=function(){let n=this.alpha();return"rgb"+(n<1?"a":"")+"("+this.rgba.slice(0,n>=1?3:4).join(", ")+")"};Color.prototype.clone=function(){return new Color(this.rgba)};Color.prototype.contrast=function(n){var e=this.alpha(),t={},f,r,h;if(e>=1){n.alpha()<1&&(n=n._overlayOn(this));var c=this.luminance()+.05,o=n.luminance()+.05,i=c/o,l=o<.55;o>c&&(i=1/i);i=this._floor(i,2);t.ratio=i;t.error=0;t.min=i;t.max=i;t.closest=l?Color.BLACK():Color.WHITE();t.farthest=l?Color.WHITE():Color.BLACK()}else{var a=this._overlayOn(Color.BLACK()),s=this._overlayOn(Color.WHITE()),v=a.contrast(n).ratio,y=s.contrast(n).ratio,u=Math.max(v,y);let o=n.rgb();f=this.rgb().map(function(n,t){return Math.min(Math.max(0,(o[t]-n*e)/(1-e)),255)});f=new Color(f);let i=n.luminance();r=1;a.luminance()>i?r=v:s.luminance()<i&&(r=y);t.ratio=this._floor((r+u)/2,2);t.error=this._floor((u-r)/2,2);t.min=r;t.max=u;t.closest=f;t.farthest=s==u?Color.WHITE():Color.BLACK()}let p=Color._LEVELS();for(h in p){var w=p[h].range,b=w[0],k=w[1];if(t.min<k&&t.max>=b){t.wcagLevel=h;break}}return t};Color.prototype._floor=function(n,t){t=+t||0;var i=Math.pow(10,t);return Math.floor(n*i)/i};Color.prototype._overlayOn=function(n){var i=this.clone(),r=this.alpha(),t;if(r>=1)return i;for(t=0;t<3;t++)i.rgba[t]=i.rgba[t]*r+n.rgba[t]*n.rgba[3]*(1-r);return i.rgba[3]=r+n.rgba[3]*(1-r),i}