var bookings={container:null,resources:null,loading:!1,culture:"en",currentId:25e3,dateFormat:"DD, MM dd",shortDateFormat:"mm/dd/yy",bookingDateFormat:"MM d",isMonthFirstDateFormat:!0,menuStatus:0,mobileRender:!1,directionsDisplay:null,directionsService:null,isSettingSelects:!1,inDialogConfirmation:!1,currentDialog:null,emptyGuid:"00000000-0000-0000-0000-000000000000",courseGuid:"11111111-1111-1111-1111-111111111111",eventGuid:"22222222-2222-2222-2222-222222222222",serviceGuid:"33333333-3333-3333-3333-333333333333",productGuid:"44444444-4444-4444-4444-444444444444",membershipGuid:"55555555-5555-5555-5555-555555555555",fundraiserGuid:"66666666-6666-6666-6666-666666666666",formsGuid:"77777777-7777-7777-7777-777777777777",utcOffset:0,userOffset:"00:00",userServerOffset:0,inDST:!0,dstOffset:"00:00",is12hrFormat:!1,eventsSet:!1,map:null,setSingleProfileField:function(e,t,o,n,i,s){if(t){var a=$(".custom"+n,e),r=a.closest("table").length>0,l=a.closest(".ui-dialog").length>0;if(r?a=$(".custom"+n+" input",e):(a.text(t).parent().show(),a.is("input")||(a=a.parent().find("input[type='text']"))),s){var c=a.parent();$("input[type='text']",c).addClass("datepicker"),setDateAndTimePickers({},c)}else if(o){var d=o.split(";");if(a.siblings(".appendSection").removeClass("hidden").css("display","inline-block"),d&&d.length>0&&(a.autocomplete({source:d,minLength:0,select:function(e,t){var o=t.item.label;return a.hasClass("multiple")&&""!==$.trim(a.val())&&(o=a.val()+", "+o),a.val(o).trigger("paste"),!1}}),(r||l)&&(a.focus((function(){$(this).autocomplete("search","")})),l&&a.siblings(".autoCompleteButton").css("display","inline-block").on("click",(function(){var e=$(this).siblings("input:visible:first");e.autocomplete("search",""),e.focus()}))),a.attr("data-labels",d).attr("data-value",a.val()),$(".autoCompleteCustom"+n,e).show(),i||r)){a.attr("data-labels",d.join(","));var u=r?a.attr("id"):"ClientProfileDTO_Custom"+n;bookings.setFieldHasMultiple(u)}}}},setFieldHasMultiple:function(e,t,o,n){var i=!0,s=[],a=$("#"+e);if(o&&$("#sel_"+e).length>0&&$("#sel_"+e).remove(),a&&a.length>0&&0===$("#sel_"+e).length){a.hide(),$("#"+e).nextAll(".autoCompleteButton").hide();var r="";if(t)r="<select id='sel_"+e+"' class='"+a.attr("class")+"'>",_.each(t,(function(e){r+="<option value='"+e.value+"'>"+e.label+"</option>"})),r+="</select>";else{null!=$("#"+e).data("ui-autocomplete")&&$("#"+e).autocomplete("destroy");var l=a.attr("data-labels")?a.attr("data-labels").split(","):[];r="<select id='sel_"+e+"' class='"+a.attr("class")+"'>";for(var c=0;c<l.length;)r+="<option value='"+l[c]+"'>"+l[c++]+"</option>";r+="</select>"}$(r).insertAfter(a);var d=$("#sel_"+e);d.attr("class",a.attr("class")),d.attr("multiple","multiple"),d.multiselect({buttonWidth:225,linkInfo:{checkAll:{text:bookings.resources.CheckAll,title:bookings.resources.CheckAll},uncheckAll:{text:bookings.resources.UncheckAll,title:bookings.resources.UncheckAll}},noneSelectedText:bookings.resources.Select,selectedText:bookings.resources.NbSelected,click:function(e,t){if(!i){if(t.checked)s.push(t.value);else{var o=s.indexOf(t.value);o>-1&&s.splice(o,1)}a.val(s.join(","))}},checkAll:function(e,t){i||(s=[],$("option:selected",d).each((function(){s.push($(this).val())})),a.val(s.join(",")))},uncheckAll:function(e,t){i||(s=[],a.val(""))}}).multiselectfilter(),d.multiselect("uncheckAll");var u=d.multiselect("widget"),f=a.attr("data-value")||a.attr("datavalue")||a.val();f&&(s=-1!=f.indexOf(",")?f.split(","):[f],_.each(s,(function(e){u.find("input[value^='"+e+"']").trigger("click")}))),i=!1}},setProfileHiddenFields:function(e){var t=e||clients.clientFields,o=t.HiddenCols?t.HiddenCols.split(","):[];if(o&&o.length>0){var n=$("#clientProfile");_.each(o,(function(e){$("."+e+"FieldSection",n).hide()}))}},setProfileReadOnlyFields:function(e){var t=e||clients.clientFields.ReadOnlyCols,o=t?t.split(","):[];if(o&&o.length>0){var n=$("#clientProfile");_.each(o,(function(e){var t=e.toLowerCase(),o=$("input."+t,n);o.prop("readonly",!0).addClass("readonly"),o.siblings("span,div").remove(),$("input[type=checkbox]."+t,n).on("click",(function(e){return!1})),$("input.datepicker."+t,n).datepicker("destroy"),$("select."+t,n).prop("readonly",!0).addClass("readonly")}))}},setProfileCustomFields:function(e,t){var o=e||clients.clientFields,n=o.MultiCols?o.MultiCols.split(","):[],i=o.DateCols?o.DateCols.split(","):[];t||(t=$("#clientProfile")),o&&o.C1&&(bookings.setSingleProfileField(t,o.C1,o.C1Options,"1",-1!=n.indexOf("Custom1"),-1!=i.indexOf("Custom1")),bookings.setSingleProfileField(t,o.C2,o.C2Options,"2",-1!=n.indexOf("Custom2"),-1!=i.indexOf("Custom2")),bookings.setSingleProfileField(t,o.C3,o.C3Options,"3",-1!=n.indexOf("Custom3"),-1!=i.indexOf("Custom3")),bookings.setSingleProfileField(t,o.C4,o.C4Options,"4",-1!=n.indexOf("Custom4"),-1!=i.indexOf("Custom4")),bookings.setSingleProfileField(t,o.C5,o.C5Options,"5",-1!=n.indexOf("Custom5"),-1!=i.indexOf("Custom5")),bookings.setSingleProfileField(t,o.C6,o.C6Options,"6",-1!=n.indexOf("Custom6"),-1!=i.indexOf("Custom6")),bookings.setSingleProfileField(t,o.C7,o.C7Options,"7",-1!=n.indexOf("Custom7"),-1!=i.indexOf("Custom7")),bookings.setSingleProfileField(t,o.C8,o.C8Options,"8",-1!=n.indexOf("Custom8"),-1!=i.indexOf("Custom8")),bookings.setSingleProfileField(t,o.C9,o.C9Options,"9",-1!=n.indexOf("Custom9"),-1!=i.indexOf("Custom9")),bookings.setSingleProfileField(t,o.C10,o.C10Options,"10",-1!=n.indexOf("Custom10"),-1!=i.indexOf("Custom10")),bookings.setSingleProfileField(t,o.C11,o.C11Options,"11",-1!=n.indexOf("Custom11"),-1!=i.indexOf("Custom11")),bookings.setSingleProfileField(t,o.C12,o.C12Options,"12",-1!=n.indexOf("Custom12"),-1!=i.indexOf("Custom12")),bookings.setSingleProfileField(t,o.C13,o.C13Options,"13",-1!=n.indexOf("Custom13"),-1!=i.indexOf("Custom13")),bookings.setSingleProfileField(t,o.C14,o.C14Options,"14",-1!=n.indexOf("Custom14"),-1!=i.indexOf("Custom14")),bookings.setSingleProfileField(t,o.C15,o.C15Options,"15",-1!=n.indexOf("Custom15"),-1!=i.indexOf("Custom15")),bookings.setSingleProfileField(t,o.C16,o.C16Options,"16",-1!=n.indexOf("Custom16"),-1!=i.indexOf("Custom16")),bookings.setSingleProfileField(t,o.C17,o.C17Options,"17",-1!=n.indexOf("Custom17"),-1!=i.indexOf("Custom17")),bookings.setSingleProfileField(t,o.C18,o.C18Options,"18",-1!=n.indexOf("Custom18"),-1!=i.indexOf("Custom18")),bookings.setSingleProfileField(t,o.C19,o.C19Options,"19",-1!=n.indexOf("Custom19"),-1!=i.indexOf("Custom19")),bookings.setSingleProfileField(t,o.C20,o.C20Options,"20",-1!=n.indexOf("Custom20"),-1!=i.indexOf("Custom20")),bookings.setSingleProfileField(t,o.C21,o.C21Options,"21",-1!=n.indexOf("Custom21"),-1!=i.indexOf("Custom21")),bookings.setSingleProfileField(t,o.C22,o.C22Options,"22",-1!=n.indexOf("Custom22"),-1!=i.indexOf("Custom22")),bookings.setSingleProfileField(t,o.C23,o.C23Options,"23",-1!=n.indexOf("Custom23"),-1!=i.indexOf("Custom23")),bookings.setSingleProfileField(t,o.C24,o.C24Options,"24",-1!=n.indexOf("Custom24"),-1!=i.indexOf("Custom24")),bookings.setSingleProfileField(t,o.C25,o.C25Options,"25",-1!=n.indexOf("Custom25"),-1!=i.indexOf("Custom25")),bookings.setSingleProfileField(t,o.C26,o.C26Options,"26",-1!=n.indexOf("Custom26"),-1!=i.indexOf("Custom26")),bookings.setSingleProfileField(t,o.C27,o.C27Options,"27",-1!=n.indexOf("Custom27"),-1!=i.indexOf("Custom27")),bookings.setSingleProfileField(t,o.C28,o.C28Options,"28",-1!=n.indexOf("Custom28"),-1!=i.indexOf("Custom28")),bookings.setSingleProfileField(t,o.C29,o.C29Options,"29",-1!=n.indexOf("Custom29"),-1!=i.indexOf("Custom29")),bookings.setSingleProfileField(t,o.C30,o.C30Options,"30",-1!=n.indexOf("Custom30"),-1!=i.indexOf("Custom30")))},addFileSelector:function(e){var t=e.closest("#editEventContainer");0===t.length&&(t=e.closest("#clientProfileFiles")),0===t.length&&(t=e.closest("#messagingContainer")),0===t.length&&(t=e.closest("#clientUploadWaiver"));var o=$(".storageContainer",t);e.after(o.html());var n=e.next(),i=guid();$("input[type='file']",n).attr("id",i).attr("name",i),n.removeClass("templateStorage")},setLocation:function(e){var t=e.coords;$("#Latitude",bookings.container).val(t.latitude),$("#Longitude",bookings.container).val(t.longitude),ajaxServerCall("Home","VerifyLocation",{latitude:t.latitude,longitude:t.longitude},(function(e){if(e){var t=$("#DistanceMetric",bookings.container).val();e.metric!=t&&($("#DistanceMetric",bookings.container).val(e.metric),$(".displayMetric",bookings.container).text(e.metric))}}),(function(e){}))},setBusinessTypeFields:function(e){var t="All"==e;$(".displayOnType",bookings.container).toggle(!t),$("#keywordSection",bookings.container).toggleClass("location",t);var o=$("#keywordLabel",bookings.container);o.text(t?o.attr("data-alt-label"):o.attr("data-label"));var n=$("#BusinessType",bookings.container).closest(".fancySelect");$("ul.fancylist li[data-value='Memberships']",n).remove()},addItemsInSalesContent:function(e,t,o){var n=$(".itemsJSON",e).val(),i=$("#itemsField",t);i.html("");var s=JSON.parse(n),a=o?s:_.filter(s,(function(e){return 0==e.TypeVal||1==e.TypeVal||10==e.TypeVal||12==e.TypeVal||13==e.TypeVal||14==e.TypeVal||15==e.TypeVal||2==e.TypeVal&&e.Quantity>1||11==e.TypeVal&&(!e.TypeItemId||e.TypeItemId==bookings.emptyGuid)}));bookings.resources.Confirm;return 0==a.length?(i.html(i.attr("data-empty")),bookings.resources.Close):_.each(a,(function(e){i.append("<input type='checkbox' data-cost='"+e.Cost*e.Quantity+"'  value='"+e.Id+"' data-selectionId='"+e.SelectionId+"' "+(o?"checked='checked'":"")+" />"+e.Name+"<br/>")})),i.closest(".editFieldSection").show(),a.length},setLocationFilterFields:function(e){clearMessageContents(),"Current"==e&&(navigator.geolocation?navigator.geolocation.getCurrentPosition(bookings.setLocation):(e="Home",addErrorMessage(agenda.content,bookings.resources.GeoLocError))),$(".searchCityInput",bookings.container).toggle("Input"==e)},initializeDirectionService:function(e,t,o){null==e&&$(".h-showDirection").hide(),bookings.directionsService=new e.maps.DirectionsService,bookings.directionsDisplay=new e.maps.DirectionsRenderer;var n=new e.maps.LatLng(t,o),i={zoom:7,mapTypeId:e.maps.MapTypeId.ROADMAP,center:n};bookings.map=new e.maps.Map(document.getElementById("mapCanvas"),i),bookings.directionsDisplay.setMap(bookings.map)},scrollIntoView:function(e){bookings.isScrolledIntoView(e)||$("html, body").animate({scrollTop:e.offset().top+"px"},1e3)},setSearchResults:function(){var e=$("#companies");if($("tbody tr",e).length>0){$("#slider").data("nivoslider").stop(),bookings.scrollIntoView($(".searchResults"));$("#companies").dataTable({aaSorting:[[3,"desc"]],bJQueryUI:!0,bFilter:!1,bStateSave:!1,sPaginationType:"full_numbers",oLanguage:{sInfo:bookings.resources.PagerTotal,sEmptyTable:bookings.resources.PagerEmpty,sInfoEmpty:bookings.resources.PagerInfoEmpty,sLengthMenu:bookings.resources.PagerMenu},aoColumns:[{bSortable:!1,sClass:"nosort"},null,bookings.mobileRender?{sType:"numeric-comma"}:{sType:"numeric-comma",sWidth:"115px"},bookings.mobileRender?{iDataSort:4}:{iDataSort:4,sWidth:"155px"},null,bookings.mobileRender?{bSortable:!1,sClass:"nosort"}:{bSortable:!1,sClass:"nosort",sWidth:"155px"}]});"undefined"!=typeof agenda&&agenda.applyUserCompanySetting()}},searchComplete:function(e){clearMessageContents(),e.message&&(hideProgress(),addErrorMessage($("#searchCompaniesResult",bookings.container),e.message))},showMapContainer:function(e){var t=e.offset(),o=$("#mapContent",bookings.container);e.closest(".reservationHeader").length>0?o.css("top",t.top-30).css("left",t.left-200).show():o.css("top",t.top+40).css("left",t.left-500).show(),o.show()},reconstructFields:function(e,t){for(var o=[],n=(t.split("\n"),0),i=e.length;n<i;n++){var s=t.indexOf("("+e[n].Code+")");if(s&&s>-1){var a=t.indexOf(":",s);if(a&&a>-1){var r=t.indexOf("\n",a);r&&r>-1&&o.push({code:e[n].Code,value:t.substring(a+2,r)})}}}return o},extractFields:function(e,t){var o=$(".customQuestions",e);t&&(o=e.hasClass("registerOtherContent")?e:$(".registerOtherContent",e));var n="";return $("input,select,textarea",o).each((function(){var e=$(this);if((e.val()&&""!==e.val()||e.attr("data-default"))&&!e.hasClass("ignoreItem")&&(!t||e.is(":visible")||e.is("input[type='hidden']"))){var o=e.attr("data-label"),i=e.attr("data-code"),s=e.val();i&&"null"!=i&&""!==jQuery.trim(i)&&(o+=" ("+i+") "),!s&&e.attr("data-default")&&(s=e.attr("data-default")),e.is(":radio")?e.is(":checked")&&(n+=o+": "+e.attr("data-value")+"\n"):n+=o+": "+s+"\n"}})),n},setEventFields:function(e,t){if(t){var o=$(".customQuestions",e);o.html(""),t=_.sortBy(t,(function(e){return e.Position})),_.each(t,(function(e){e.Name=e.Name.replace("'","&quot;");var t="<div class='editFieldSection'><div class='editor-label'>"+e.Name+(e.Required?" *":"")+"</div>\n\r<div class='editor-field'>{0}</div></div>",n="",i=e.Required?" required ":"";if(7!=e.FieldType){if(3==e.FieldType)n+="<textarea  rows='"+e.Values+"' data-label='"+e.Name+"'  data-code='"+e.Code+"' class='long "+i+"'></textarea>";else if(2!=e.FieldType){var s="";switch(e.FieldType){case 1:s=" datepicker";break;case 5:s=" email";break;case 6:s=" phone"}n="<input type='text' data-code='"+e.Code+"' data-label='"+e.Name+"' class='"+i+s+"' />"}else{var a=e.Values.split(";"),r="";n="<select data-code='"+e.Code+"' data-label='"+e.Name+"' class='customQuestion "+i+"'>{0}</select>",_.each(a,(function(e){r+="<option value='"+bookings.encodeString(e)+"'>"+e+"</option>"})),n=n.replace("{0}",r)}t=t.replace("{0}",n),o.append(t)}})),setDateAndTimePickers({stepMinute:5},o)}},productSelection:function(e){if(e.val()!=e.attr("data-prevVal")){var t=e,o=t.val(),n=e.closest("tr");if(o.length>0&&n.length>0&&$(".limit",n).length>0){var i=$(".limit",n).text();!isNaN(i)&&parseInt(o,10)>parseInt(i,10)&&(o=0,e.val(""))}var s=t.closest(".productsContainer");t.removeClass("selected");var a=$(".featuresTotal",s);a.text("").hide();var r=0;$("input.selectProduct[type=text]",s).each((function(){$(this).val()&&(r+=parseFloat($(this).val()*$(this).attr("data-cost")))}));var l=a.attr("title").replace("{0}.00",parseFloat(r).toFixed(2));a.text(l).toggle("slow"),t.attr("data-prevVal",o),o&&o.length>0&&t.addClass("selected")}},openConfirmDialog:function(e,t,o,n,i,s){var a=[{text:bookings.resources.Cancel,class:"dialogCancel",click:function(){r.dialog("close")}},{text:s||bookings.resources.Confirm,click:function(){var e=o();(void 0===e||e)&&r.dialog("close")}}],r=$(e).dialog({modal:!0,title:t,resizable:!1,width:n||400,height:i||"auto",buttons:a});r.dialog("open")},openDisplayDialog:function(e,t,o,n){var i=[{text:bookings.resources.Close,click:function(){s.dialog("close")}}],s=$(e).dialog({modal:!0,title:t,resizable:!1,height:o||300,width:n||400,buttons:i});s.dialog("open")},openHtmlEditor:function(e,t,o,n,i,s,a,r,l){$("#bee-plugin-container").remove();var c=r||.9*$(window).height(),d=$('<div class="templateContainer"><div id="bee-plugin-container" style="height: "'+c+'"px;"></div><div id="integrator-bottom-bar">'+bookings.resources.SelectTemplate+': <input id="choose-template'+bookings.uniqId()+'" type="file" /></div>');$(d).dialog({modal:!0,title:t,resizable:!1,height:c,width:l||.85*$(window).width(),buttons:[],open:function(r,l){a?companySpace.setTopolEditor("bee-plugin-container",o,n,e,t,i,s):companySpace.setBEEEditor("bee-plugin-container",o,n,e,t,i,s)}}).dialog("open")},openUrlDialog:function(e,t,o,n,i){var s=[{text:bookings.resources.Close,click:function(){r.dialog("close")}}],a=$("<div></div>").html('<iframe style="border: 0px; " src="'+e+'" width="100%" height="100%"></iframe>'),r=$(a).dialog({modal:!0,title:t,resizable:!1,height:o||300,width:n||400,buttons:s});r.dialog("open")},openPrintDialog:function(e,t,o,n,i){var s=window.location.origin+"/Content/print.css",a=e.clone(),r=[{text:bookings.resources.Print,click:function(){!0,$(a).printElement({overrideElementCSS:["print.css",{href:s,media:"print"}]})}}];i&&r.push({text:bookings.resources.SaveAsPDF,click:function(){showProgress();var t="<link rel='stylesheet' href='"+s+"' type='text/css' media='all' />"+$(e).html();$.ajax({type:"POST",url:"/Company/CreatePDF",data:{htmlContent:t},dataType:"json",success:function(e){hideProgress(),window.location="/Company/GetPDF?filename="+e}})}}),r.push({text:bookings.resources.Close,click:function(){l.dialog("close")}});var l=$(e).dialog({modal:!0,autoOpen:!1,title:t,resizable:!1,height:o||300,width:n||400,buttons:r});l.dialog("open")},setCostValidation:function(e){$(e).on("keyup",".cost",(function(e){var t=$(this).val();isNaN(parseFloat(t))||!isFinite(parseFloat(t))?$(this).val(""):"en"==bookings.culture&&-1!=t.indexOf(",")?$(this).val(t.replace(",",".")):"fr"==bookings.culture&&-1!=t.indexOf(".")&&$(this).val(t.replace(".",","))}))},setIntegerValidation:function(e){$(".integer",e).on("keydown",(function(e){if(!(-1!==$.inArray(e.keyCode,[46,8,9,27,13,190])||65==e.keyCode&&!0===e.ctrlKey||e.keyCode>=35&&e.keyCode<=39))return e.shiftKey||(e.keyCode<48||e.keyCode>57)&&(e.keyCode<96||e.keyCode>105)?(e.preventDefault(),e.stopPropagation(),!1):void 0}))},setCapitalization:function(e){$(".capitalization",e).on("blur",(function(e){var t=$(this).val().toLowerCase();$(this).val(t.replace(/(^|\s|\-)[a-z\u00E0-\u00FC]/g,(function(e){return e.toUpperCase()})))}))},uniqId:function(){return bookings.currentId+=1,bookings.currentId},isValidDate:function(e){return e instanceof Date&&!isNaN(e)},checkValue:function(e){return e||""},encodeString:function(e){return e.replace(/'/g,"&#39;").replace(/&quot;/g,"&#39;")},smartSubstr:function(e,t){var o=e.substr(0,t);return o.lastIndexOf("<")>o.lastIndexOf(">")&&(o=e.substr(0,1+e.indexOf(">",o.lastIndexOf("<")))),o},stripHTML:function(e){var t=document.createElement("div"),o=document.createTextNode(e);return t.appendChild(o),t.innerHTML},sleep:function(e){return new Promise(t=>setTimeout(t,e))},getProductOptions:function(e,t){try{return JSON.parse(e)}catch(o){return bookings.convertOldProductOptionsToJSON(e,t)}},convertOldProductOptionsToJSON:function(e,t){var o=[],n=e.split(t);return _.each(n,(function(e){var t={Label:e,Inventory:null,Cost:null};if(e.indexOf("[")>-1&&e.indexOf("]")>-1){var n=e.match(/\[(.*?)\]/)[1];n&&!isNaN(n)&&(t.Inventory=parseInt(n,10)),t.Label=$.trim(e.substring(0,e.indexOf("[")))}o.push(t)})),o},isScrolledIntoView:function(e){var t=$(window).scrollTop(),o=t+$(window).height(),n=$(e).offset().top,i=n+$(e).height();return i>=t&&n<=o&&i<=o&&n>=t},createUiTooltip:function(e,t){e.length>0&&(bookings.mobileRender?e.tooltip({my:"left top+15",at:"left bottom",collision:"flipfit"}):t?e.tooltip({position:{my:"right top",at:"left bottom"}}):e.tooltip({position:{my:"left+15 center",at:"right center"}}))},verifySession:function(){var e=!0;ajaxServerCall("Account","HasActiveSession",{},(function(t){e=t.value}),(function(t){e=!1}),{async:!1}),e||(window.location="/Home/Index")},inIframe:function(){try{return window.self!==window.top}catch(e){return!0}},setLearnMoreMenu:function(){if(bookings.mobileRender&&$(".embedVideo").length>0){$(".embedVideo").css("width","95%");var e=$(".embedVideo").width();$(".embedVideo").css("height",.56*e+"px")}$(".slider").sss({transition:1200,speed:12e3}),$(".slider_2").sss()},setTestimonials:function(){var e=$("#testimonials");function t(){var t=Math.floor(5*Math.random()),o=$(".testimonials_box:visible",e);o.length>0?o.fadeOut(1e3).promise().done((function(){$(".testimonials_box:eq("+t+")",e).fadeIn(1500)})):$(".testimonials_box:eq("+t+")",e).fadeIn(1500)}e.length>0&&(setInterval((function(){t()}),15e3),t())}};function setGeneralEvents(e){$("body").click((function(e){$("ul.headerList.accountItems").hide(),$("ul.fancylist").hide(),0==$(e.target).closest(".columnPicker").length&&$(".columnPicker").hide()})),$(".burger_menu").click((function(){$(".mobile_nav").slideToggle()})),$(".mapClose").click((function(){$("#mapContent").hide()})),bookings.container.on("click",".actionSubmit",(function(){$(".message-summary:not(.info)",bookings.container).hide(),$(".validation-summary-errors",bookings.container).hide()})),$(document).on("click","div.headerPicker .select",(function(e){var t=$(this).closest("table");$("ul.headerList",t).hide();var o=$(this).closest(".headerPicker"),n=$("ul",o);bookings.mobileRender&&"absolute"==n.css("position")&&n.css("left",o.offset().left).css("width",o.width()),n.toggle()})),$(bookings.container).on("click","div.fancySelect",(function(e){if(!$(this).find("input[type=text]").prop("disabled")&&!$(e.target).is("li")){var t=$(this).closest(".fancySelect");$(".fancylist",$(this).closest("div.content")).not($(this)).hide(),$("ul",t).toggle()}})),$(bookings.container).on("click","ul.fancylist li",(function(e){var t=$(this).closest(".fancySelect");$("input[type=hidden]",t).val($(this).attr("data-value")).trigger("change"),$("input[type=text]",t).val($(this).text()),$("ul",t).hide()})),$(".thumb").mouseenter((function(e){$(this).children("div").fadeIn(200)})).mouseleave((function(e){$(this).children("div").fadeOut(200)})),bookings.container.on("click",".collapsibleHeader",(function(){$(this).siblings(".collapsibleButton").click()})),bookings.container.on("click",".questionSection",(function(){$(this).next(".questionsContainer").toggle(),$(this).toggleClass("closed")})),bookings.container.on("click",".h-backToTop",(function(){$("html, body").animate({scrollTop:0},1e3)})),bookings.container.on("click",".collapsibleButton",(function(){$(this).hasClass("collapse")?$(this).removeClass("collapse").addClass("expand"):$(this).hasClass("expand")?$(this).removeClass("expand").addClass("collapse"):$(this).hasClass("collapse-dark")?$(this).removeClass("collapse-dark").addClass("expand-dark"):$(this).hasClass("expand-dark")&&$(this).removeClass("expand-dark").addClass("collapse-dark");var e=$(".sectionContent",$(this).closest(".collapsibleSection"));e.toggle(),e.closest(".boxContent.noData").length>0&&e.closest(".boxContent.noData").trigger("mouseover")})),bookings.container.on("click","tr.divisionRow td",(function(){var e=$(this).closest("tr"),t=$(".divisionButton",e),o=t.hasClass("expand")||t.hasClass("expand-dark");t.hasClass("collapse")?t.removeClass("collapse").addClass("expand"):t.hasClass("expand")?t.removeClass("expand").addClass("collapse"):t.hasClass("collapse-dark")?t.removeClass("collapse-dark").addClass("expand-dark"):t.hasClass("expand-dark")&&t.removeClass("expand-dark").addClass("collapse-dark");var n=e.attr("data-group"),i=t.closest("table");$("tr[data-group='"+n+"']",i).not(e).toggle(o)})),setSectionHelpEvents(bookings.container),bookings.container.on("blur",".cost",(function(){var e=$(this).val();isNaN(parseFloat(e))?$(this).val(""):"en"==bookings.culture&&-1!=e.indexOf(",")?$(this).val(e.replace(",",".")):"fr"==bookings.culture&&-1!=e.indexOf(".")&&$(this).val(e.replace(".",","))})),bookings.createUiTooltip($("span.tooltip-icon",bookings.container)),$(".limitAreaContent",bookings.container).keyup((function(e){var t=$(this),o=$(this).closest(".editFieldSection"),n=parseInt($(".limit",o).text(),10),i=$(this).val().length;i>=n&&t.html(t.html().substring(0,n)),$(".count",o).text(Math.min(i,n))})),$(".appCulture").click((function(){var e=$(this).attr("data-val");"en"==e&&-2<=bookings.utcOffset&&bookings.utcOffset<=4&&(e="gb");var t=new Date;return t.setFullYear(t.getFullYear()+10),$.cookie("findjoo_culture",e,{path:"/",expires:t,sameSite:"None",secure:!0}),console.log(e),window.location.reload(),console.log("reload"),!1})),setSectionCancelEvent(bookings.container),Modernizr.touch?$("table.optionsTable tr",bookings.container).addClass("fixed").find("td.options .item").css("visibility","visible"):(bookings.container.on("mouseenter",".optionsTable tr:not(.permanentOptions)",(function(){$(this).find("td.options .item").css("visibility","visible")})),bookings.container.on("mouseleave",".optionsTable tr:not(.permanentOptions)",(function(){$(this).find("td.options div.item:visible").css("visibility","hidden")}))),$(".contact_slide").click((function(){$("footer .validation-summary-errors").remove(),$("#contact_box").slideToggle()})),$("footer").on("click","input[type='text'], textarea",(function(){"true"!=$(this).attr("data-set")&&($(this).val("").addClass("entered"),$(this).attr("data-set","true"))})),$("footer").on("focusout","input[type='text'], textarea",(function(){""==$(this).val()&&$(this).val($(this).attr("data-message")).removeClass("entered").attr("data-set","false")})),$("footer").on("click",".quickContactButton",(function(){$("footer .message-summary,#footer .validation-summary-errors").remove();var e=$(this).closest(".contactForm");$("input[type='text'],textarea",e).removeClass("boxError");var t=$(".contactForm",$(this).closest(".container")),o=!1;if(_.each($("input[type='text'],textarea",e),(function(n){"true"==$(n).attr("data-set")&&""!=$(n).val().trim()||(o=!0,$(n).addClass("boxError"),addErrorMessage(t,e.attr("data-message").replace("{0}",$(n).attr("data-item"))))})),!o){var n=$(".name",e),i=$(".email",e),s=$(".message",e);ajaxServerCall("Home","QuickHomeContact",{name:n.val(),email:i.val(),message:s.val()},(function(e){e.error?addErrorMessage(t,e.message):(n.val(n.attr("data-message")).attr("data-set","false"),i.val(i.attr("data-message")).attr("data-set","false"),s.val(s.attr("data-message")).attr("data-set","false"),addSuccessMessage(t,e.message))}),(function(e){addErrorMessage(t,e)}))}})),window.addEventListener&&window.addEventListener("load",(function(){new FastClick(document.body)}),!1)}function setSectionHelpEvents(e){e.on("mouseenter",".helpIcon",(function(){var e=$(this).position();$(this).next(".helpTooltip").css("width","300px").css("left",e.left-335).show()})),e.on("mouseleave",".helpIcon,.helpTooltip",(function(e){var t=$(e.toElement);t.hasClass("helpIcon")||0!=t.closest(".helpTooltip").length||$(".helpTooltip",$(this).closest(".header")).hide()})),e.on("click",".helpIcon,.helpContent",(function(e){var t=$(this).position(),o=$(this).next(".helpTooltip:first");if(o.is(":visible")?$(document).unbind("click"):$(document).bind("click",(function(){o.hide(),$(document).unbind("click")})),bookings.mobileRender)if($(this).hasClass("supportContent")||$(this).hasClass("cartContent"))o.css("width","90%").css("left","0px").css("top",t.top+$(this).height()).css("margin-top",$(this).css("margin-top")).toggle();else{var n=t.left<20?$(this).width()-200:t.left;o.css("width","260px").css("left",n-235).css("top",t.top+$(this).height()/2).css("margin-top",$(this).css("margin-top")).toggle()}else o.css("width","350px").css("left",t.left-385).css("top",t.top+$(this).height()/2).toggle();e.stopImmediatePropagation()}))}function setSectionCancelEvent(e){e.on("click",".boxContent a.button",(function(){var e=$(this).closest(".sectionContainer"),t=$(this).attr("data-value"),o=$(this).attr("data-name"),n=$(this).attr("data-type"),i=null;t&&o&&n?i={value:t,name:o,type:n}:t&&o?i={value:t,name:o}:t&&!o&&(i={value:t}),ajaxServerCall($(this).attr("data-controller"),$(this).attr("data-action"),i,(function(t){e.html(t.value)}),(function(e){}))}))}function setProfileEvents(){setDateAndTimePickers({},$("#userProfile"),{changeMonth:!0,changeYear:!0,yearRange:"-80:+0"}),bookings.container.on("click",".h-provideCountry",(function(){var e=$(this).closest("tr");e.length>0?($(".city",e).prop("readonly",!1).removeClass("readonly"),$(".country",e).prop("readonly",!1).removeClass("readonly")):($("#City").prop("readonly",!1).removeClass("readonly"),$("#Country").prop("readonly",!1).removeClass("readonly"))})),bookings.container.on("change",".profileAddress #PostalCode,.profileAddress #Country",(function(){var e=$(this).closest(".content");ajaxServerCall("User","GetPostalCodeAndCountryLocation",{postalCode:$("#PostalCode").val(),city:$("#City").val(),country:$("#Country").val()},(function(t){t.success&&($("#City",e).val(t.city),$("#Province",e).val(t.province),$("#Country",e).val(t.country))}),(function(e){}))})),bookings.container.on("change","#Offices .postalCode, #Offices .country",(function(){var e=$(this).closest("tr");ajaxServerCall("User","GetPostalCodeAndCountryLocation",{postalCode:$(".postalCode",e).val(),city:$(".city",e).val(),country:$(".country",e).val()},(function(t){t.success&&($(".city",e).val(t.city),$(".province",e).val(t.province),$(".country",e).val(t.country))}),(function(e){}))})),bookings.container.on("click",".h-searchButton",(function(){$(this).closest("form").submit(),showProgress()})),bookings.container.on("click",".h-viewDesc",(function(){var e=$(this).closest(".bookingName"),t=$(this).next(".descContent");if(t){var o=$("<div class='bookingDesc'>").html(t.val());bookings.openDisplayDialog(o,e.attr("data-name"),null,600)}})),bookings.container.on("click",".h-showOffices",(function(){var e=$(this).closest(".compCredential"),t="";$(".officeItem",e).each((function(){t+=$(this).clone().show().outerHTML()}));var o=$("<div class='bookingDesc limited'>").html(t);bookings.openDisplayDialog(o,$(".name",e).text(),500,500)})),bookings.container.on("click",".h-showMap",(function(){var e=$(this);ajaxServerCall("Home","GetGeoLocation",{companyId:e.closest(".compInfo").attr("data-compId")},(function(t){if(t.success){bookings.showMapContainer(e);var o=t.addresses[0],n={lat:o.Latitude,lng:o.Longitude},i={zoom:t.addresses.length>1?10:14,center:n,mapTypeId:google.maps.MapTypeId.ROADMAP},s=new google.maps.Map(document.getElementById("mapCanvas"),i),a=o.AddressLine+", "+o.City;marker=new google.maps.Marker({position:n,map:s,title:a});var r=new google.maps.InfoWindow({content:""});google.maps.event.addListener(marker,"click",(function(){r.setContent(this.title),r.open(s,this)}));for(var l=function(){r.setContent(this.title),r.open(s,this)},c=1;c<t.addresses.length;c++){var d=new google.maps.LatLng(t.addresses[c].Latitude,t.addresses[c].Longitude);a=t.addresses[c].AddressLine+", "+t.addresses[c].City,marker=new google.maps.Marker({position:d,map:s,title:a}),google.maps.event.addListener(marker,"click",l)}}}),(function(e){}))})),bookings.container.on("click",".h-showDirections",(function(){var e=$(this),t=$("#SearchBaseLatitude",bookings.container).val().replace(",","."),o=$("#SearchBaseLongitude",bookings.container).val().replace(",","."),n=e.parent("td").length>0?e.closest("tr"):e.closest("div");bookings.showMapContainer(e),bookings.initializeDirectionService(google,t,o);var i={origin:new google.maps.LatLng(t,o),destination:new google.maps.LatLng($(".latitude",n).val().replace(",","."),$(".longitude",n).val().replace(",",".")),travelMode:google.maps.TravelMode.DRIVING};bookings.directionsService.route(i,(function(t,o){o==google.maps.DirectionsStatus.OK?bookings.directionsDisplay.setDirections(t):(mapContainer.hide(),e.hide())}))}))}function setBookingEvents(){bookings.eventsSet||(bookings.eventsSet=!0,bookings.container.on("click",".h-newRequest",(function(){if(null!=agenda){var e=$("#newRequestContainer"),t=$(this).closest("tr"),o=t.attr("data-compId"),n=agenda.rowIsOfferService(t),i=agenda.rowWithRooms(t);0==t.length&&calendarPage&&(n=calendarPage.offerService,i=calendarPage.hasRooms),o?agenda.initialized&&o==agenda.currentCompanyId||initAgendaSettings(o,null,null,null,n,i):(n="1"==$("#infoCompIsServiceType").text(),i="1"==$("#infoCompHasRooms").text(),initAgendaSettings(agenda.currentCompanyId,null,null,null,n,i));var s=setInterval((function(){agenda.initialized&&(agenda.openRequestDialog(e,bookings.resources.CreateRequest,n,agenda.compHasGroups,i),window.clearInterval(s))}),100)}})),bookings.container.on("click",".h-addBooking",(function(){var e=$(this),t=e.closest("tr").length>0?e.closest("tr"):e.closest(".rowItem"),o="620px",n="1024px",i=0,s=0;$(window).width()<800?(o=.9*$(window).height()+"px",n=.95*$(window).width()+"px",i=s=5):(s=($(window).height()-620)/2,i=($(window).width()-1024)/2);var a="/POS/Widget/"+t.attr("data-compId");if(e.attr("data-params")&&(a+=e.attr("data-params")),memberPortal.userId){$("#inlineWidgetContainer").hide(),$("#portalPOSFrame").attr("src",a),$("#inlineWidgetContainer .collapsibleHeader").text(e.text()),$("#payment").remove(),setTimeout((function(){$("#inlineWidgetContainer").fadeIn("slow")}),800);try{window.self,window.top;setTimeout((function(){$("html, body").animate({scrollTop:$("#inlineWidgetContainer").offset().top-100},1e3)}),1200)}catch(e){}var r=document.getElementById("portalPOSFrame");r&&(setTimeout((function(){r.contentWindow.postMessage({userId:memberPortal.userId,userName:memberPortal.userName},"*")}),500),setTimeout((function(){r.contentWindow.postMessage({userId:memberPortal.userId,userName:memberPortal.userName},"*")}),2e3))}else $("<div style='background-color: white; overflow:scroll !important; -webkit-overflow-scrolling:touch !important;'><span class='bPopupButton b-close' style='position: absolute; cursor:pointer;top: 5px;right: 5px; font-size: 20px;font-weight: bold;'><span>X</span></span>").bPopup({position:[i,s],iframeAttr:" id='bFrame' style='height: "+o+"; width: "+n+";'",loadUrl:a,content:"iframe"})})),$("#newRequestContainer, #editBookingContainer, #widgetContainer",bookings.container).on("change",".hasAccount",(function(){var e=$(this).closest("form"),t=$(".switchItem:visible",e);$(".switchItem:not(.hidden):hidden",e).css("display","inline-block"),t.hide();var o=$(".passwordLabel",e),n=$("#Password",e);o.length>0&&(n.hasClass("data-label")?(n.removeClass("data-label"),o.text(n.attr("data-alt-label"))):(n.addClass("data-label"),o.text(n.attr("data-label")))),$(this).is(":checked")?($(".switchItem.forgot",e).show(),$(".socialLogIn.active").hide(),"true"==$(this).attr("data-shared")&&$(".sharedRow",e).show()):($(".sharedRow",e).hide(),$(".socialLogIn.active").show())})),$("#widgetContainer",bookings.container).on("change",".sharedAccount",(function(){var e=$(this).closest("form");$(this).is(":checked")?($(".hasAccount",e).attr("disabled",!0),$(".firstNameItem",e).show()):($(".hasAccount",e).removeAttr("disabled"),$(".firstNameItem",e).hide())})),$("#widgetContainer",bookings.container).on("change",".guestAccount",(function(){var e=$(this),t=$("#identification");e.is(":checked")?($(".name",t).val(e.attr("data-userName")),$("#main .userId").val(e.attr("data-userId")),setTimeout((function(){$(".row:not(.hidden)",t).hide(),$("#next").trigger("click")}),300)):($(".name",t).val(""),$("#main .userId").val(""),$(".row:not(.hidden)",t).show())})))}function setDayPickerEvents(e){$(".daypicker",e).on("focusin",(function(){var e=$(".dayPickerContent",$(this).closest(".dayPickerContainer"));if(e.not(":visible")){var t=$(this).position();e.css("width","150px").css("left",t.left+$(this).width()).toggle("slow")}})),$(".dayPickerContent",e).on("click",".confirmDays",(function(){var e=$(this).closest(".dayPickerSection"),t=0;$("input[type='checkbox']:checked",e).each((function(){t+=parseInt($(this).val(),10)})),GetWeeklyDays(e,t,(function(){$(".dayPickerContent",e).toggle("slow")}))})),$(".dayPickerContent",e).on("click",".cancel",(function(){$(".dayPickerContent",$(this).closest(".dayPickerContainer")).toggle("slow")}))}function GetWeeklyDays(e,t,o){ajaxServerCall("Home","GetWeeklyDays",{days:t},(function(n){$(".daysValue",e).val(t),$(".daypicker",e).val(n.value),SetSelectedWeeklyDays(e,t),o&&o()}),(function(e){}))}function SetSelectedWeeklyDays(e,t){$("input[type=checkbox]",e).each((function(){var e=parseInt($(this).val(),10);$(this).attr("checked",(t&e)==e)}))}function validateEvent(e,t){var o=!0;if($(".validation-summary-errors",e).remove(),$("input.required:visible, select.required:visible",e).each((function(){o&&""==$(this).val()&&(addErrorMessage($(".container",e),bookings.resources.IsRequired.replace("{0}",$(this).attr("data-label"))),o=!1)})),o&&!calendarPage.expandBookings&&!calendarPage.isLoggedIn()&&$(".visitorForm",e).length>0&&(o=$(".visitorForm",e).valid()),t&&o){var n=$(".datepicker",e),i=formatToDate(n.val()),s=$(".eventStartTime",e);s.length>0&&(i=formateDateWithHours(i,s.val())),n.is(":visible")&&(null==i||!calendarPage.expandBookings&&i<new Date)&&(addErrorMessage($(".container",e),bookings.resources.BookingEditDateError),o=!1)}return o}function validateBasicDialog(e){var t=!0;return $(".validation-summary-errors",e).remove(),$("input.required:visible, select.required:visible",e).each((function(){if(t&&""==$(this).val()){var o=$(this).closest(".editFieldSection"),n=o.length>0?$("label",o).text():$(this).attr("dataname");n&&""!=n||(n=$(this).attr("data-label")),addErrorMessage($(".container",e),bookings.resources.IsRequired.replace("{0}",n)),t=!1}})),t}function extractDate(e,t,o){var n=-1!=e.indexOf("-")?e.split("-"):e.split("/"),i=t?o:bookings.isMonthFirstDateFormat,s=null;if(3==n.length){var a=parseInt(n[0],10),r=parseInt(n[1],10),l=parseInt(n[2],10);s=i?new Date(l,a-1,r):new Date(l,r-1,a)}return s}function formatToDate(e,t,o){return extractDate(e,t,o)}function areEqualDates(e,t){return e.getDate()==t.getDate()&&e.getMonth()==t.getMonth()&&e.getFullYear()==t.getFullYear()}function areEqualDateTimes(e,t){return e.getTime()==t.getTime()&&e.getDate()==t.getDate()&&e.getMonth()==t.getMonth()&&e.getFullYear()==t.getFullYear()}function areEqualTimes(e,t){return e.getHours()==t.getHours()&&e.getMinutes()==t.getMinutes()}function formatWithCurreny(e,t){var o="";switch(void 0===e&&(e=""),t){case"AUD":case"CAD":case"MXN":case"USD":o="$"+e;break;case"GBP":o="£"+e;break;case"EUR":o="€"+e;break;default:o=e+" "+widgetPage.currency}return o}function numberWithCommas(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function isJsonString(e){try{JSON.parse(e)}catch(e){return!1}return!0}function getPageName(){return window.location.pathname}function getParameterByName(e,t){t||(t=window.location.href),e=e.replace(/[\[\]]/g,"\\$&");var o=new RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)").exec(t);return o?o[2]?decodeURIComponent(o[2].replace(/\+/g," ")):"":null}function setCulture(){var e=$(".top_container .currentCulture:first"),t=e.length>0?e.val():$("#pageCulture").val();void 0===t||"fr"!=t.substring(0,2)&&"en-gb"!=t.toLowerCase()&&"en-au"!=t.toLowerCase()||(bookings.dateFormat="DD, dd MM",bookings.shortDateFormat="dd/mm/yy",bookings.bookingDateFormat="d MM",bookings.isMonthFirstDateFormat=!1),null!=t&&"fr"==t.substring(0,2)?t="fr":t?t.length>2&&(t=t.substring(0,2)):t="en",bookings.culture=t,initValidatorTexts(t)}function setDateAndTimePickers(e,t,o,n,i){t||(t=bookings.container),$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),$.timepicker.setDefaults($.timepicker.regional[bookings.culture]);var s=null!=o?o:{};s.dateFormat||(s.dateFormat=bookings.shortDateFormat),i?$(".datepicker.childdatepicker:not(.hasDatepicker)",t).datepicker(s):n?$(".datepicker:not(.hasDatepicker):visible",t).datepicker(s):$(".datepicker:not(.hasDatepicker)",t).datepicker(s);var a=null!=e?e:{zindex:9999999};a.ampm=bookings.is12hrFormat,a.timeFormat=bookings.is12hrFormat?"h:mm TT":void 0,a.addSliderAccess=!0,$(".timepicker",t).timepicker(a),$(".datepicker",t).on("focusout",(function(){var e=$(this).val();e&&-1!=e.indexOf("/")&&e.length<10&&$(this).val(formatDate(e))})),$(".datepicker,.timepicker",t).attr("autocomplete","off")}function setColorPickers(){$(".colorpicker").colpick({layout:"rgbhex",submit:0,onChange:function(e,t,o,n,i){$(n).css("border-color","#"+t),i||$(n).val(t);var s=$(n).closest("tr");$(".rowChanged",s).val("true")}}).keyup((function(){$(this).colpickSetColor(this.value);var e=$(this).closest("tr");$(".rowChanged",e).val("true")})),$(".colorpicker").each((function(){var e=$(this).val();""!==e&&e.length>=3&&$(this).css("border-color","#"+e)}))}function getCultureAmount(e){return e&&("en"==bookings.culture&&-1!=e.toString().lastIndexOf(",")?e=e.replace(/,/g,""):"fr"==bookings.culture&&-1!=e.toString().lastIndexOf(".")&&(e=e.replace(/./g,""))),e.replace(/[^\d|.|,]+/g,"")}function getCultureTotal(e){return e&&("en"==bookings.culture&&-1!=e.indexOf(",")?e=e.replace(",","."):"fr"==bookings.culture&&-1!=e.indexOf(".")&&(e=e.replace(".",","))),e.replace(/[^\d|.|,]+/g,"")}function normalizeNumber(e){return e.replace(/,/g,"")}function formateDateWithHours(e,t,o){var n=0,i=0,s=0;if(t){if(t=$.trim(t).toLowerCase(),bookings.is12hrFormat){-1!=t.indexOf("pm")&&(s=12);var a=t.indexOf(" ");-1!=a&&(t=t.substring(0,a))}var r=parseInt(t.split(":")[0],10);bookings.is12hrFormat&&12==r&&12==s&&(s=0),n=r+s,i=parseInt(t.split(":")[1],10)}return o&&(i+=o)>59&&(n+=Math.floor(i/60),i%=60),new Date(e.getFullYear(),e.getMonth(),e.getDate(),n,i,0,0)}function formatEventTime(e,t){var o,n=e.getHours(),i=e.getMinutes(),s=(i<10?"0":"")+i;if(t&&(s+=":00"),bookings.is12hrFormat){var a="am";n>12?a="pm":12==n&&(a=0==i?"noon":"pm"),o=(n=(n%=12)||12)+":"+s+" "+a}else o=n+":"+s;return o}function dateToString(e,t,o){return(t?o:bookings.isMonthFirstDateFormat)?parseInt(e.getMonth()+1,10)+"/"+e.getDate()+"/"+e.getFullYear():e.getDate()+"/"+parseInt(e.getMonth()+1,10)+"/"+e.getFullYear()}function formatDate(e){var t=e.split("/");return pad(t[0],2)+"/"+pad(t[1],2)+"/"+t[2]}function daydiff(e,t){return Math.round((t-e)/864e5)}function monthDiff(e,t){var o;return o=12*(t.getFullYear()-e.getFullYear()),o-=e.getMonth(),(o+=t.getMonth())<=0?0:o}function setOffsetDate(e){return checkUserServerOffset(),0!=bookings.userServerOffset&&!isNaN(bookings.userServerOffset)&&-13<bookings.userServerOffset&&bookings.userServerOffset<13?new Date(e).addHours(-1*bookings.userServerOffset):e}function setOffsetDateToServer(e){return setOffsetDate(e)}function createOffset(){var e=new Date,t=e.getTimezoneOffset()>0?"-":"+",o=Math.abs(e.getTimezoneOffset()),n=pad(Math.floor(o/60)),i=pad(o%60);return n.length<2&&(n="0"+n),i.length<2&&(i="0"+i),t+n+":"+i}function checkUserServerOffset(){if(isNaN(bookings.userServerOffset)){var e=Math.abs(bookings.utcOffset),t=bookings.utcOffset<0;bookings.inDST?e+=t?1:-1:e+=t?-1:1;var o=bookings.inDST?5:4;bookings.userServerOffset=e-o;var n="Adjusted user server date. Hours: "+e+",  New value: "+bookings.userServerOffset+",  UTC Offset: "+bookings.utcOffset;console.log(n)}}function setUTCOffset(){var e=new Date;bookings.inDST=e.dst(),bookings.utcOffset=parseInt(e.getTimezoneOffset()/60*-1,10),$(".utcOffset").val(bookings.utcOffset);var t=Math.abs(bookings.utcOffset),o=bookings.utcOffset<0,n=o?"-":"+";bookings.inDST?t+=o?1:-1:t+=o?-1:1,bookings.dstOffset=n+(-10<t&&t<10?"0":"")+t+":00"}function addErrorMessage(e,t){clearForSection(e),"object"==typeof t&&(t=bookings.resources.UnexpectedError),$("<div class='validation-summary-errors'><div class='errorImage'><div class='fa fa-minus-circle fa-2x'></div></div><div class='message'>"+t+"</div><div class='clear'></div></div>").insertBefore(e)}function addSuccessMessage(e,t,o){clearForSection(e),$("<div class='message-summary "+o+"'><div class='imageContent'><div class='"+(o?"fa fa-exclamation-triangle fa-2x":"medium-icons confirm")+"'></div></div><div class='successMessage'>"+t+"</div></div><div class='clear'></div>").insertBefore(e)}function addInfoMessage(e,t,o){addSuccessMessage(e,t,"info "+(o||""))}function clearForSection(e){void 0!==e&&e.hasClass("ui-dialog-content")?clearMessageContentFrom(e.parent()):clearMessageContents()}function clearAllMessageCotentsForSection(e){$(".message-summary, .validation-summary-errors",e).remove()}function clearMessageContents(){$(".message-summary:not(.info), .validation-summary-errors",bookings.container).remove()}function clearMessageContentFrom(e){$(".message-summary:not(.info), .validation-summary-errors",e).remove()}function pad(e,t){for(var o=""+e;o.length<t;)o="0"+o;return o}function ajaxServerCall(e,t,o,n,i,s){var a="";null!=o&&(a=o);var r=s||{},l=window.location.origin;return r.type=r.type||"POST",r.url=l+"/"+e+"/"+t,r.data=r.data||JSON.stringify(a),r.contentType=r.contentType||"application/json; charset=utf-8",r.dataType=r.dataType||"json",r.success=n||function(){},r.error=i||ajaxPageMethodError,r.complete=function(){bookings.inDialogConfirmation=!1},$.ajax(r)}function ajaxPageMethodError(xhr,msg,e){var error={};try{200==xhr.status&&(error.Message=e.message),404==xhr.status?error.Message=xhr.statusText:xhr.responseText.length>0&&(error=eval("("+xhr.responseText+")"),error&&"object"==typeof error&&error.Unauthorized&&(window.location="/Account/LogOff"))}catch(e){error.Message=bookings.resources.UnexpectedError,window.location="/Account/LogOff"}return error}function isIE(){return navigator.userAgent.match(/msie/i)}function ajaxServerCallError(e,t,o){throw null!==e?e.responseText:"ajaxServerCallError: "+t}function getAjaxError(e,t,o){return e.statusText}function showProgress(e){bookings.loading||($("div#loadContent").fadeIn("fast",e),bookings.loading=!0)}function hideProgress(){bookings.loading&&($("div#loadContent").fadeOut("fast"),bookings.loading=!1)}function guid(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}$(document).ready((function(){bookings.container=$("#main").length>0?$("#main"):$("#homepage"),bookings.mobileRender=$(window).width()<800,bookings.userOffset=createOffset(),setCulture();var e=$("#SearchLocation",bookings.container);if(e.length>0){var t=$("#slider"),o=$("img",t).length,n=Math.floor(Math.random()*o+1),i=Math.min($(window).height()-$("#header").height()-$("#footer").height(),1e3);t.nivoSlider({startSlide:n,effect:"fade",animSpeed:1e3,pauseTime:6e3}),i>530&&(i>700&&(i-=10),t.attr("style","height: "+(i+20)+"px!important")),bookings.setBusinessTypeFields($("#BusinessType",bookings.container).val()),bookings.setLocationFilterFields(e.val()),bookings.container.on("change","#BusinessType",(function(){bookings.setBusinessTypeFields($(this).val())})),bookings.container.on("change","#SearchLocation",(function(){bookings.setLocationFilterFields($(this).val())})),"en"==bookings.culture?$(".homeSearch .buttonRow .button",bookings.constainer).addClass("wider"):$(".homeSearch .buttonRow .button",bookings.constainer).css("padding","15px 50px")}bookings.setLearnMoreMenu(),bookings.setTestimonials(),setGeneralEvents(),setProfileEvents(),setBookingEvents(),bookings.setIntegerValidation(bookings.container),setDayPickerEvents(bookings.container),setUTCOffset()})),Date.prototype.addHours=function(e){return this.setHours(this.getHours()+e),this},Date.prototype.addMinutes=function(e){return new Date(this.getTime()+6e4*e)},Date.prototype.toJSON=function(){var e=-this.getTimezoneOffset()/60,t=e>=0?"+":"-",o=-10<e&&e<10?"0":"",n=new Date(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());return n.setHours(this.getHours()+e),n.toISOString().replace("Z","")+t+o+Math.abs(e).toString()+":00"},Date.prototype.stdTimezoneOffset=function(){var e=new Date(this.getFullYear(),0,1),t=new Date(this.getFullYear(),6,1);return Math.max(e.getTimezoneOffset(),t.getTimezoneOffset())},Date.prototype.dst=function(){return this.getTimezoneOffset()<this.stdTimezoneOffset()},Date.prototype.yyyymmdd=function(){var e=this.getFullYear().toString(),t=(this.getMonth()+1).toString(),o=this.getDate().toString();return e+"-"+(t[1]?t:"0"+t[0])+"-"+(o[1]?o:"0"+o[0])},Date.prototype.getDOY=function(){var e=new Date(this.getFullYear(),0,1);return Math.ceil((this-e)/864e5)},Date.prototype.getMonday=function(){var e=this.getDay(),t=this.getDate()-e+(0==e?-6:1);return new Date(this.setDate(t))},Date.prototype.getWeekOfMonth=function(){return Math.ceil(this.getDate()/7)},String.prototype.replaceAt=function(e,t){return this.substr(0,e)+t+this.substr(e+t.length)},String.prototype.replaceAll=function(e,t){var o=0,n=this;do{n=n.replace(e,t)}while((o=n.indexOf(e,o+1))>-1);return n},jQuery.fn.outerHTML=function(e){return e?this.before(e).remove():jQuery("<p>").append(this.eq(0).clone()).html()},bookings.getContentType=function(e){var t="text/html";if(e){var o=(e=e.toLowerCase()).substring(e.indexOf(".")+1);switch(o){case"avi":case"mpeg":case"qt":t="video/"+o;break;case"bmp":case"gif":case"jpg":case"png":case"svg":case"tiff":t="image/"+o;break;case"au":case"midi":case"mpeg":case"wav":t="audio/"+o;break;case"css":case"html":case"sgml":case"tsv":t="text/"+o;break;case"txt":t="text/plain";break;case"xls":t="application/vnd.ms-excel";break;case"xlsx":t="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";break;case"doc":t="application/msword";break;case"docx":t="application/vnd.openxmlformats-officedocument.wordprocessingml.document";break;case"gz":t="application/x-gzip";break;case"jar":t="application/java-archive";break;case"js":t="application/x-javascript";break;case"ppt":t="application/vnd.ms-powerpointtd";break;case"pptx":t="application/vnd.openxmlformats-officedocument.presentationml.presentation";break;case"ogg":case"pdf":case"rtf":case"xml":case"zip":t="application/"+o}}return t},bookings.setSimpleFileUpload=function(e,t,o){$("input[type=file]",e).change((function(){var n="";$(this).simpleUpload(t,{start:function(t){showProgress(),n=t.name,$(".SU_filename",e).html(t.name)},success:function(i){hideProgress();var s=i.substring(i.lastIndexOf("/")+1),a=$(".filePathItem",e);memberPortal&&memberPortal.fileUploadedFn&&memberPortal.fileUploadedFn(e,s,i),0==a.length&&(a=$(".filePathItem:first",bookings.container)),o&&""!==a.val()?a.val(a.val()+","+i):a.val(i),$(".fileTypeItem",e).val(bookings.getContentType(i)),$(".fileLink",e).val(s),$(".h-removeFile,.v-fileSection",e).css("display","inline-block"),$("input[type=file]",e).hide();var r=$(".imageItem",e);r.length>0&&r.attr("src",i).show();var l=e.closest(".storageFile");$(".downloadLink",l).length>0?($(".downloadLink",l).attr("href",i).text(n).show(),bookings.addFileSelector(l)):o&&bookings.addFileSelector(l),bookings.setSimpleFileUpload($(".storageFile:not(.templateStorage):visible:last"),t,o),memberPortal&&memberPortal.userId&&addSuccessMessage(e.closest(".boxContent"),bookings.resources.FileUploaded)},error:function(e){hideProgress(),$(".SU_filename").html("Failure!<br>"+e.name+": "+e.message)}})})),e.on("click",".h-removeFile",(function(){var t=$(this).closest(".editFieldSection ");$(".filePathItem",t).val(""),$(".fileLink",e).val(""),$(".SU_filename",t).html(""),$(this).hide(),$("input[type=file]",e).show(),$("input[type=image]",e).hide()}))},function(e){var t={elems:null,copy_css:!1,external_css:null},o={init:function(o){var n=e.extend({},t,o);return elems=e(n.elems),this.each((function(){e(this).click((function(t){var o=document.createElement("iframe");document.body.appendChild(o),e(o).load((function(){if(elems.each((function(){o.contentWindow.document.body.appendChild(this.cloneNode(!0))})),n.copy_css){for(var t=document.getElementsByTagName("link"),i=0;i<t.length;i++)o.contentWindow.document.head.appendChild(t[i].cloneNode(!0));for(var s=document.getElementsByTagName("style"),a=0;a<s.length;a++)o.contentWindow.document.head.appendChild(s[a].cloneNode(!0))}if(n.external_css){var r=document.createElement("link");r.rel="stylesheet",r.type="text/css",r.href=n.external_css,o.contentWindow.document.head.appendChild(r)}var l=document.createElement("script");l.type="text/javascript",l.text="window.print();",o.contentWindow.document.head.appendChild(l),e(o).hide()}))}))}))},destroy:function(){return delete settings,this.each((function(){}))}};e.fn.printIt=function(t){return o[t]?o[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof t&&t?void e.error("Method "+t+" does not exist on jQuery.printIt"):o.init.apply(this,arguments)}}(jQuery),function(e){e.fn.bPopup=function(t,o){function n(){g.modal&&e('<div class="b-modal '+h+'"></div>').css({backgroundColor:g.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:g.zIndex+E}).appendTo(g.appendTo).fadeTo(g.speed,g.opacity),f(),O.data("bPopup",g).data("id",h).css({left:"slideIn"==g.transition||"slideBack"==g.transition?"slideBack"==g.transition?S.scrollLeft()+D:-1*(C+x):c(!(!g.follow[0]&&b||k)),position:g.positionStyle||"absolute",top:"slideDown"==g.transition||"slideUp"==g.transition?"slideUp"==g.transition?S.scrollTop()+P:$+-1*y:d(!(!g.follow[1]&&v||k)),"z-index":g.zIndex+E+1}).each((function(){g.appending&&e(this).appendTo(g.appendTo)})),r(!0)}function i(){return g.modal&&e(".b-modal."+O.data("id")).fadeTo(g.speed,0,(function(){e(this).remove()})),g.scrollBar||e("html").css("overflow","auto"),e(".b-modal."+h).unbind("click"),S.unbind("keydown."+h),F.unbind("."+h).data("bPopup",0<F.data("bPopup")-1?F.data("bPopup")-1:null),O.undelegate(".bClose, ."+g.closeClass,"click."+h,i).data("bPopup",null),r(),!1}function s(e){var t=e.width(),o=e.height(),n={};g.contentContainer.css({height:o,width:t}),o>=O.height()&&(n.height=O.height()),t>=O.width()&&(n.width=O.width()),y=O.outerHeight(!0),x=O.outerWidth(!0),f(),g.contentContainer.css({height:"auto",width:"auto"}),n.left=c(!(!g.follow[0]&&b||k)),n.top=d(!(!g.follow[1]&&v||k)),O.animate(n,250,(function(){e.show(),m=p()}))}function a(){F.data("bPopup",E),O.delegate(".bClose, ."+g.closeClass,"click."+h,i),g.modalClose&&e(".b-modal."+h).css("cursor","pointer").bind("click",i),I||!g.follow[0]&&!g.follow[1]||F.bind("scroll."+h,(function(){m&&O.dequeue().animate({left:g.follow[0]?c(!k):"auto",top:g.follow[1]?d(!k):"auto"},g.followSpeed,g.followEasing)})).bind("resize."+h,(function(){P=T.innerHeight||F.height(),D=T.innerWidth||F.width(),(m=p())&&(clearTimeout(w),w=setTimeout((function(){f(),O.dequeue().each((function(){k?e(this).css({left:C,top:$}):e(this).animate({left:g.follow[0]?c(!0):"auto",top:g.follow[1]?d(!0):"auto"},g.followSpeed,g.followEasing)}))}),50))})),g.escClose&&S.bind("keydown."+h,(function(e){27==e.which&&i()}))}function r(e){function t(t){O.css({display:"block",opacity:1}).animate(t,g.speed,g.easing,(function(){l(e)}))}switch(e?g.transition:g.transitionClose||g.transition){case"slideIn":t({left:e?c(!(!g.follow[0]&&b||k)):S.scrollLeft()-(x||O.outerWidth(!0))-M});break;case"slideBack":t({left:e?c(!(!g.follow[0]&&b||k)):S.scrollLeft()+D+M});break;case"slideDown":t({top:e?d(!(!g.follow[1]&&v||k)):S.scrollTop()-(y||O.outerHeight(!0))-M});break;case"slideUp":t({top:e?d(!(!g.follow[1]&&v||k)):S.scrollTop()+P+M});break;default:O.stop().fadeTo(g.speed,e?1:0,(function(){l(e)}))}}function l(e){e?(a(),u(o),g.autoClose&&setTimeout(i,g.autoClose)):(O.hide(),u(g.onClose),g.loadUrl&&(g.contentContainer.empty(),O.css({height:"auto",width:"auto"})))}function c(e){return e?C+S.scrollLeft():C}function d(e){return e?$+S.scrollTop():$}function u(t){e.isFunction(t)&&t.call(O)}function f(){$=v?g.position[1]:Math.max(0,(P-O.outerHeight(!0))/2-g.amsl),C=b?g.position[0]:(D-O.outerWidth(!0))/2,m=p()}function p(){return P>O.outerHeight(!0)&&D>O.outerWidth(!0)}e.isFunction(t)&&(o=t,t=null);var g=e.extend({},e.fn.bPopup.defaults,t);g.scrollBar||e("html").css("overflow","hidden");var h,m,v,b,k,$,C,y,x,w,O=this,S=e(document),T=window,F=e(T),P=T.innerHeight||F.height(),D=T.innerWidth||F.width(),I=/OS 6(_\d)+/i.test(navigator.userAgent),M=200,E=0;return O.close=function(){g=this.data("bPopup"),h="__b-popup"+F.data("bPopup")+"__",i()},O.each((function(){e(this).data("bPopup")||(u(g.onOpen),E=(F.data("bPopup")||0)+1,h="__b-popup"+E+"__",v="auto"!==g.position[1],b="auto"!==g.position[0],k="fixed"===g.positionStyle,y=O.outerHeight(!0),x=O.outerWidth(!0),g.loadUrl?function(){switch(g.contentContainer=e(g.contentContainer||O),g.content){case"iframe":var t=e('<iframe class="b-iframe" '+g.iframeAttr+"></iframe>");t.appendTo(g.contentContainer),y=O.outerHeight(!0),x=O.outerWidth(!0),n(),t.attr("src",g.loadUrl),u(g.loadCallback);break;case"image":n(),e("<img />").load((function(){u(g.loadCallback),s(e(this))})).attr("src",g.loadUrl).hide().appendTo(g.contentContainer);break;default:n(),e('<div class="b-ajax-wrapper"></div>').load(g.loadUrl,g.loadData,(function(){u(g.loadCallback),s(e(this))})).hide().appendTo(g.contentContainer)}}():n())}))},e.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",transitionClose:!1,zIndex:9997}}(jQuery),jQuery.fn.style=function(e,t,o){if(void 0!==this.get(0)){var n=this.get(0).style;if(void 0===e)return n;if(void 0===t)return n.getPropertyValue(e);o=void 0!==o?o:"";n.setProperty(e,t,o)}};
var calendarPage={calendarContent:null,calendar:null,content:null,bookings:null,clients:null,inscriptions:null,calCourseRegistration:null,calEventRegistration:null,groupData:[],selectedCalendarGroup:1,userId:0,companyId:0,editId:0,parentId:0,editFromRegistrations:!1,offerService:!0,offerBoth:!1,hasClasses:!1,hasRooms:!1,hasEvents:!1,displayOnly:!1,isWidget:!1,hasGallery:!1,maxPlaces:0,currentPlacesLeft:0,timeslots:4,timeslotHeight:20,timePickerOptions:{},refreshTimer:0,nbDays:7,messageContainer:null,buttonTexts:{},lastFindDate:null,findVisible:!1,emptyGuid:"00000000-0000-0000-0000-000000000000",editRequestId:0,expandBookings:!1,displayOnly:!1,canAdd:!1,canEdit:!1,canDelete:!1,canTrack:!1,canSend:!1,canReset:!1,initComplete:!1,courseList:null,eventList:null,reloadScheduleContent:function(e,t,a,n,r){var s=e.closest(".mainContent");ajaxServerCall("Schedule",a,n||null,(function(e){var a=$("#"+t,s);a.html(e.value).show(),$("html, body").animate({scrollTop:a.offset().top-100},1e3);var n=$("#DaysOfWeek",a).val();if(n){var o=parseInt(n,10);SetSelectedWeeklyDays($(".dayPickerContainer",schedule.container),o)}setDateAndTimePickers({},a),r&&r()}),(function(e){}))},isLoggedIn:function(){return $("#UserIsLoggedIn").length>0||calendarPage.userId>0&&"0000"!=calendarPage.userId.substr(0,4)},hasBookingForTime:function(e,t,a){getMinutesOfDay(e),getMinutesOfDay(t);var n,r=a.defaultFree?a.freeDays:a.events;return _.each(r,(function(a){a.start.getMonth()==e.getMonth()&&a.start.getDate()==e.getDate()&&(a.start<t&&t<a.end||a.start<e&&e<a.end||e<a.start&&a.start<t||e<a.end&&a.end<t)&&(n=a)})),n},hasAvailabilityForTime:function(e,t,a,n){var r=getMinutesOfDay(e),s=getMinutesOfDay(t),o=[{start:e,groupId:a.Id}];return a.defaultFree||(o=_.filter(a.freeDays,(function(t){return void 0!==t.groupId&&t.start.getMonth()==e.getMonth()&&t.start.getDate()==e.getDate()&&getMinutesOfDay(t.start)<=r&&s<=getMinutesOfDay(t.end)}))),_.any(o)||a.defaultFree?_.find(o,(function(t){var o=_.filter(a.events,(function(a){return t.groupId==a.groupId&&(5555!=a.status||a.available<=0)&&a.start.getMonth()==e.getMonth()&&a.start.getDate()==e.getDate()&&a.start.getYear()==e.getYear()&&r<getMinutesOfDay(a.end)&&getMinutesOfDay(a.start)<s})),i=_.reduce(o,(function(e,t){return e+Math.max(t.places,1)}),0);return t.available=n-i,i<n})):0},availabilityForAnyRoom:function(e,t,a,n,r){var s=[],o=convertToDate(e);o.setHours(o.getHours()+-1*bookings.utcOffset);var i=formateDateWithHours(o,t),l=convertToDate(a);l.setHours(l.getHours()+-1*bookings.utcOffset);var d=formateDateWithHours(l,n),c=getMinutesOfDay(i),u=getMinutesOfDay(d),g=_.pluck(_.filter(calendarPage.calendar.Rooms,(function(e){return e.Capacity>=r})),"Id"),h=_.filter(calendarPage.calendar.Schedules,(function(e){var t=getMinutesOfDay(convertToDate(e.StartTime)),a=getMinutesOfDay(convertToDate(e.EndTime)),n=calendarPage.getWeekOfMonthForSchedule(e.Type);return!e.Off&&(!e.ScheduleRoomId||_.contains(g,e.ScheduleRoomId))&&hasDay(i.getDay(),e.DaysOfWeek)>0&&(0==n||n<=4&&n==i.getWeekOfMonth()||n>=5&&monthDiff(o,i)%2==0&&n-4==i.getWeekOfMonth()||-1==n&&calendarPage.hasFrequency(o,o,i,e.Type))&&(null==e.EndDate||o<=convertToDate(e.EndDate))&&convertToDate(e.StartDate)<=l&&(t<=c&&c<a||t<u&&u<=a||c<=t&&a<=u)}));return _.each(h,(function(e){var t=_.find(calendarPage.calendar.Rooms,(function(t){return t.Id==e.ScheduleRoomId})),a=getGroupData(e.ScheduleGroupId);if(void 0===a&&(setGroupData(e.ScheduleGroupId),a=getGroupData(e.ScheduleGroupId)),t){var n=_.filter(a.events,(function(e){return t.itemId==t.Id&&(i<e.end&&e.start<d||e.start<=i&&i<=e.end||e.start<=d&&d<=e.end)}));0==_.size(n)&&s.push({Id:t.Id,Name:t.Name,Capacity:t.Capacity,Description:t.Description,Group:e.ScheduleGroupId})}else{var r=getGroup(e.ScheduleGroupId);r&&s.push({Id:r.Id,Name:r.Name,Capacity:r.NbPlaces?r.NbPlaces:1,Description:"",Group:r.Id})}})),_.size(s)>0&&(_.size(s)>5&&(s=_.first(s,5)),s=_.sortBy(s,(function(e){return e.Capacity}))),s},setCoursesTable:function(){datatable.getColumnPickerValue("Findjoo_pl1",15),$("#classes").dataTable({aaSorting:[[1,"desc"]],processing:!0,serverSide:!0,ajax:{url:"/Booking/CourseList",type:"POST",data:function(e){var t=datatable.getVisibleColumns("classes",e.columns),a=datatable.getRangeColumns("classes",e.columns,[1]);$("#classes_length .ui-button.ui-state-focus",bookings.container);e.parameters=[{custom:""},{custom:""},{custom:t.join(",")},{custom:JSON.stringify(a)}]}},bStateSave:!1,sPaginationType:"full_numbers",oLanguage:{sInfo:bookings.resources.PagerTotal,sEmptyTable:bookings.resources.PagerEmpty,sInfoEmpty:bookings.resources.PagerInfoEmpty,sLengthMenu:bookings.resources.PagerMenu,sSearch:bookings.resources.Search,sInfoFiltered:bookings.resources.SearchFiltered},fnDrawCallback:function(e,t,a,n){var r=$("#classes  tbody"),s=0;_.each(e.aoData,(function(e){e._aData.IsActive&&$("tr:eq("+s+") .activeField",r).addClass("active"),s++})),$(".h-refreshButton").removeClass("fa-spin")},aoColumns:[{data:"Name",name:"Name",sClass:"name rowName keep-all"},{data:"DateDisplay",name:"Date",sType:"date",sClass:"date-range no-break dVal32 ",bSortable:!0,visible:!0},{data:"InscriptionDisplay",name:"InscriptionType",sType:"enum",sWidth:"9%",sClass:"InscriptionTypeValues select addInfoColumn type keep-all dVal1 ",bSortable:!1,visible:!0},{data:"CostSingle",name:"CostSingle",sType:"decimal",sClass:"cost no-break dVal4 ",bSortable:!0},{data:"NbPlaces",name:"NbPlaces",sClass:"nbPlaces no-break dVal4 ",bSortable:!0},{data:"ActiveDisplay",name:"Active",sType:"enum",sClass:"ActiveTypeValues select activeField no-break dVal8 ",bSortable:!1,visible:!0},{data:"OfficeName",name:"OfficeName",searchable:!0,sClass:"officeId v-officeItem "+(companySpace.hasOffices?"":"hidden")},{data:"TotalRegistered",name:"TotalRegistered",sClass:"registered "},{data:"ScheduleDisplay",name:"ScheduleDisplay",sClass:"schedules ",sWidth:"20%",bSortable:!1,searchable:!1},{asSorting:[],data:null,sClass:"options",sWidth:"4%",render:function(e,t,a){var n="<input type='hidden' class='rowId' data-id='"+a.Id+"'' style='width:0px' value='"+a.Id+"' />"+("<input type='hidden' class='scheduleId' style='width:0px' value='"+a.ScheduleId+"' />")+("<input type='hidden' class='hasTickets' style='width:0px' value='"+a.HasTickets+"' />")+"<input type='hidden' class='rowItemType' style='width:0px' value='4' />",r=[];if(calendarPage.canEdit&&(r.push({title:bookings.resources.Questions,cssClass:"h-itemQuestion"}),r.push({title:bookings.resources.Products,cssClass:"h-itemProducts"}),r.push({title:bookings.resources.Pictures,cssClass:"h-itemPictures"}),r.push({title:"",cssClass:"rowSeperator"})),calendarPage.canAddSchedule&&(a.ScheduleId?r.push({title:bookings.resources.CopySchedule,cssClass:"h-copySchedule"}):r.push({title:bookings.resources.AddSchedule,cssClass:"h-addSchedule"})),calendarPage.canEdit&&(r.push({title:bookings.resources.Edit,cssClass:"h-editActivity"}),r.push({title:bookings.resources.Copy,cssClass:"h-copyActivity"})),calendarPage.canDeleteSchedule){var s=a.ScheduleId?"h-deleteSchedule":"h-deleteActivity";r.push({title:bookings.resources.Delete,cssClass:s})}return a.TotalRegistered>0&&(calendarPage.canViewRegistrations||calendarPage.canExportRegistrations)&&(r.push({title:"",cssClass:"rowSeperator"}),calendarPage.canViewRegistrations&&r.push({title:bookings.resources.Registrations,cssClass:"h-viewRegistrations"}),calendarPage.canExportRegistrations&&r.push({title:bookings.resources.Export,cssClass:"h-exportRegistration"})),a.IsActive&&(r.push({title:"",cssClass:"rowSeperator"}),r.push({title:bookings.resources.ViewInWidget,cssClass:"h-itemPreview",attributes:"data-params='&hideBookings=true&hideEvents=true&hideProducts=true'"})),datatable.setContextMenu(n,r)}}]}).columnFilter({sRangeFormat:bookings.resources.From+" {from} "+bookings.resources.To+" {to}"});var e=$("#classes").DataTable();datatable.handleError($("#classes")),datatable.setDataTableColumnFilters($("#classes")),datatable.bindDatatableSearch(e,$("#classesContent",bookings.container),!0)},setEventsTable:function(){datatable.getColumnPickerValue("Findjoo_el1",15),$("#events").dataTable({aaSorting:[[1,"desc"]],processing:!0,serverSide:!0,ajax:{url:"/Booking/EventList",type:"POST",data:function(e){var t=datatable.getVisibleColumns("events",e.columns),a=datatable.getRangeColumns("events",e.columns,[1]);$("#events_length .ui-button.ui-state-focus",bookings.container);e.parameters=[{custom:""},{custom:""},{custom:t.join(",")},{custom:JSON.stringify(a)}]}},bStateSave:!1,sPaginationType:"full_numbers",oLanguage:{sInfo:bookings.resources.PagerTotal,sEmptyTable:bookings.resources.PagerEmpty,sInfoEmpty:bookings.resources.PagerInfoEmpty,sLengthMenu:bookings.resources.PagerMenu,sSearch:bookings.resources.Search,sInfoFiltered:bookings.resources.SearchFiltered},fnDrawCallback:function(e,t,a,n){var r=$("#events  tbody"),s=0;_.each(e.aoData,(function(e){e._aData.IsActive&&$("tr:eq("+s+") .activeField",r).addClass("active"),s++})),$(".h-refreshButton").removeClass("fa-spin")},aoColumns:[{data:"Name",name:"Name",sClass:"name rowName keep-all"},{data:"DateDisplay",name:"Date",sType:"date",sClass:"date-range no-break dVal32 ",bSortable:!0,visible:!0,sWidth:"8%"},{data:"CostSingle",name:"CostSingle",sType:"decimal",sClass:"cost no-break dVal4 ",bSortable:!0},{data:"HasTicketsDisplay",name:"HasTickets",sClass:"hasTicketsLabel no-break dVal4 ",bSortable:!0},{data:"NbPlaces",name:"NbPlaces",sClass:"nbPlaces no-break dVal4 ",bSortable:!0},{data:"MaxRegister",name:"MaxRegister",sClass:"maxregister no-break dVal4 ",bSortable:!0,sWidth:"8%"},{data:"ActiveDisplay",name:"Active",sType:"enum",sClass:"ActiveTypeValues select no-break dVal8 ",bSortable:!1,visible:!0},{data:"OfficeName",name:"OfficeName",searchable:!0,sClass:"officeId v-officeItem "+(companySpace.hasOffices?"":"hidden")},{data:"TotalRegistered",name:"TotalRegistered",sClass:"registered "},{data:"ScheduleDisplay",name:"ScheduleDisplay",sClass:"schedules ",sWidth:"20%",bSortable:!1,searchable:!1},{asSorting:[],data:null,sClass:"options",sWidth:"4%",render:function(e,t,a){var n="<input type='hidden' class='rowId' data-id='"+a.Id+"'' style='width:0px' value='"+a.Id+"' />"+("<input type='hidden' class='scheduleId' style='width:0px' value='"+a.ScheduleId+"' />")+("<input type='hidden' class='scheduleOfst' style='width:0px' value='"+a.UTCOffset+"' />")+("<input type='hidden' class='hasTickets' style='width:0px' value='"+a.HasTickets+"' />")+"<input type='hidden' class='rowItemType' style='width:0px' value='9' />",r=[];if(calendarPage.canEdit&&(r.push({title:bookings.resources.Questions,cssClass:"h-itemQuestion"}),r.push({title:bookings.resources.Products,cssClass:"h-itemProducts"}),r.push({title:bookings.resources.Pictures,cssClass:"h-itemPictures"}),r.push({title:"",cssClass:"rowSeperator"})),calendarPage.canAddSchedule&&(a.ScheduleId?r.push({title:bookings.resources.CopySchedule,cssClass:"h-copySchedule"}):r.push({title:bookings.resources.AddSchedule,cssClass:"h-addSchedule"})),calendarPage.canEdit&&(r.push({title:bookings.resources.Edit,cssClass:"h-editEvent"}),r.push({title:bookings.resources.Copy,cssClass:"h-copyEvent"})),calendarPage.canDeleteSchedule){var s=a.ScheduleId?"h-deleteSchedule":"h-deleteEvent";r.push({title:bookings.resources.Delete,cssClass:s})}return(a.ScheduleId&&calendarPage.canTrack||a.TotalRegistered>0&&(calendarPage.canExportRegistrations||calendarPage.canViewRegistrations))&&r.push({title:"",cssClass:"rowSeperator"}),a.TotalRegistered>0&&calendarPage.canViewRegistrations&&r.push({title:bookings.resources.Registrations,cssClass:"h-viewRegistrations"}),a.ScheduleId&&calendarPage.canTrack&&r.push({title:bookings.resources.UploadAttendance,cssClass:"h-uploadRegistrations"}),a.TotalRegistered>0&&calendarPage.canExportRegistrations&&r.push({title:bookings.resources.Export,cssClass:"h-exportRegistration"}),a.IsActive&&(r.push({title:"",cssClass:"rowSeperator"}),r.push({title:bookings.resources.ViewInWidget,cssClass:"h-itemPreview",attributes:"data-params='&hideBookings=true&hideCourses=true&hideProducts=true'"})),datatable.setContextMenu(n,r)}}]}).columnFilter({sRangeFormat:bookings.resources.From+" {from} "+bookings.resources.To+" {to}"});var e=$("#events").DataTable();datatable.handleError($("#events")),datatable.setDataTableColumnFilters($("#events")),datatable.bindDatatableSearch(e,$("#eventsContent",bookings.container),!0)},setRoomsTable:function(){datatable.getColumnPickerValue("Findjoo_rl1",15),$("#rooms").dataTable({aaSorting:[[0,"asc"]],processing:!0,serverSide:!0,ajax:{url:"/Schedule/RoomList",type:"POST",data:function(e){var t=datatable.getVisibleColumns("rooms",e.columns),a=datatable.getRangeColumns("rooms",e.columns,[1]);$("#rooms_length .ui-button.ui-state-focus",bookings.container);e.parameters=[{custom:""},{custom:""},{custom:t.join(",")},{custom:JSON.stringify(a)}]}},bStateSave:!1,sPaginationType:"full_numbers",oLanguage:{sInfo:bookings.resources.PagerTotal,sEmptyTable:bookings.resources.PagerEmpty,sInfoEmpty:bookings.resources.PagerInfoEmpty,sLengthMenu:bookings.resources.PagerMenu,sSearch:bookings.resources.Search,sInfoFiltered:bookings.resources.SearchFiltered},fnDrawCallback:function(e,t,a,n){$(".h-refreshButton").removeClass("fa-spin")},aoColumns:[{data:"Name",name:"Name",sClass:"name rowName keep-all"},{data:"DateDisplay",name:"DateDisplay",sType:"date",sClass:"date no-break dVal32 ",bSortable:!1,visible:!0,sWidth:"8%"},{data:"CostDay",name:"CostDay",sType:"decimal",sClass:"cost no-break dVal4 ",bSortable:!0},{data:"CostHour",name:"CostHour",sType:"decimal",sClass:"cost no-break dVal4 ",bSortable:!0},{data:"Capacity",name:"Capacity",sClass:"nbPlaces no-break dVal4 ",bSortable:!0},{data:"OfficeName",name:"OfficeName",searchable:!0,sClass:"officeId v-officeItem "+(companySpace.hasOffices?"":"hidden")},{data:"ScheduleDisplay",name:"ScheduleDisplay",sClass:"schedules ",sWidth:"20%",bSortable:!1,searchable:!1},{asSorting:[],data:null,sClass:"options",sWidth:"4%",render:function(e,t,a){var n="<input type='hidden' class='rowId' data-id='"+a.Id+"'' style='width:0px' value='"+a.Id+"' />"+("<input type='hidden' class='scheduleId' style='width:0px' value='"+a.ScheduleId+"' />")+"<input type='hidden' class='rowItemType' style='width:0px' value='5' />",r=[];if(calendarPage.canEdit&&(r.push({title:bookings.resources.Questions,cssClass:"h-itemQuestion"}),r.push({title:bookings.resources.Products,cssClass:"h-itemProducts"}),r.push({title:bookings.resources.Pictures,cssClass:"h-itemPictures"}),r.push({title:"",cssClass:"rowSeperator"})),calendarPage.canAddSchedule&&(a.ScheduleId?r.push({title:bookings.resources.CopySchedule,cssClass:"h-copySchedule"}):r.push({title:bookings.resources.AddSchedule,cssClass:"h-addSchedule"})),calendarPage.canEdit&&(r.push({title:bookings.resources.Edit,cssClass:"h-editSpace"}),r.push({title:bookings.resources.Copy,cssClass:"h-copySpace"})),calendarPage.canDeleteSchedule){var s=a.ScheduleId?"h-deleteSchedule":"h-deleteSpace";r.push({title:bookings.resources.Delete,cssClass:s})}return a.ScheduleId&&(r.push({title:"",cssClass:"rowSeperator"}),r.push({title:bookings.resources.ViewInWidget,cssClass:"h-itemPreview",attributes:"data-params='&hidEvents=true&hideCourses=true&hideProducts=true'"})),datatable.setContextMenu(n,r)}}]}).columnFilter({sRangeFormat:bookings.resources.From+" {from} "+bookings.resources.To+" {to}"});var e=$("#rooms").DataTable();datatable.handleError($("#rooms")),datatable.setDataTableColumnFilters($("#rooms")),datatable.bindDatatableSearch(e,$("#roomsContent",bookings.container),!0)},hasBookingForDay:function(e,t,a){var n=t.defaultFree?_.union(t.freeDays,t.events).sort(compareDates):t.events,r=_.find(n,(function(t){return(!a||_.contains(a,t.itemId))&&(areEqualDates(e,t.start)||t.start<e&&new Date(e).setHours(23)<t.end)}));return _.size(r)>0},anyGroupHasBookingForDay:function(e,t,a,n){var r=_.find(calendarPage.bookings,(function(t){return _.contains(a,t.ScheduleGroupId)&&(!n||_.contains(n,t.ItemId))&&areEqualDates(e,convertToDate(t.StartTime))}));return 0==_.size(r)&&(r=_.find(t,(function(a){var r=convertToDate(a.StartDate),s=a.EndDate?convertToDate(a.EndDate):new Date(r),o=calendarPage.getWeekOfMonthForSchedule(a.Type);return!a.Off&&hasDay(e.getDay(),a.DaysOfWeek)>0&&(0==o||o<=4&&o==e.getWeekOfMonth()||o>=5&&monthDiff(r,e)%2==0&&o-4==e.getWeekOfMonth()||-1==o&&calendarPage.hasFrequency(r,r,e,a.Type))&&(areEqualDates(r,e)||areEqualDates(e,s)||(_.contains(n,a.ScheduleCourseId)||_.contains(n,a.ScheduleEventId))&&a.EndDate&&r<=e&&e<=s)&&!_.find(t,(function(t){return t.Off&&(_.contains(n,a.ScheduleCourseId)||_.contains(n,a.ScheduleEventId))&&areEqualDates(convertToDate(t.StartDate),e)&&t.EndDate&&areEqualDates(convertToDate(t.EndDate),e)&&areEqualTimes(convertToDate(t.StartTime),convertToDate(a.StartTime))&&areEqualTimes(convertToDate(t.EndTime),convertToDate(a.EndTime))}))}))),_.size(r)>0},hasOpeningsForDay:function(e,t){return _.some(t.freeDays,(function(t){return t.isFree&&areEqualDates(e,t.start)}))},getBookingsForDay:function(e,t){return _.filter(t.defaultFree?_.union(t.freeDays,t.events).sort(compareDates):t.events,(function(t){return t.title&&(areEqualDates(e,t.start)||t.start<=e&&e<=t.end)}))},allGroupBookingsForDay:function(e,t,a){var n=[];a||(n=_.filter(calendarPage.bookings,(function(t){return!t.Registration&&areEqualDates(e,convertToDate(t.StartTime))})),_.each(n,(function(t){var a=convertToDate(t.StartTime),n=t.EndTime?convertToDate(t.EndTime):new Date(a),r=new Date(e.getFullYear(),e.getMonth(),e.getDate(),a.getHours(),a.getMinutes()),s=new Date(e.getFullYear(),e.getMonth(),e.getDate(),n.getHours(),n.getMinutes());areEqualTimes(r,s)&&areEqualDates(r,s)&&t.Length>0&&s.setMinutes(s.getMinutes()+t.Length),t.start=r,t.end=s,t.title=t.Title})));var r=_.filter(t,(function(n){var r=convertToDate(n.StartDate),s=n.EndDate?convertToDate(n.EndDate):null,o=calendarPage.getWeekOfMonthForSchedule(n.Type);return!n.Off&&hasDay(e.getDay(),n.DaysOfWeek)>0&&(0==o||o<=4&&o==e.getWeekOfMonth()||o>=5&&monthDiff(r,e)%2==0&&o-4==e.getWeekOfMonth()||-1==o&&calendarPage.hasFrequency(r,r,e,n.Type))&&(areEqualDates(r,e)||n.EndDate&&areEqualDates(e,s)||(_.contains(a,n.ScheduleCourseId)||_.contains(a,n.ScheduleEventId))&&n.EndDate&&r<=e&&e<=s)&&!_.find(t,(function(t){return t.Off&&(_.contains(a,n.ScheduleCourseId)||_.contains(a,n.ScheduleEventId))&&areEqualDates(convertToDate(t.StartDate),e)&&t.EndDate&&areEqualDates(convertToDate(t.EndDate),e)&&areEqualTimes(convertToDate(t.StartTime),convertToDate(n.StartTime))&&areEqualTimes(convertToDate(t.EndTime),convertToDate(n.EndTime))}))}));if(_.size(r)>0){var s=[];_.each(r,(function(t){var a=convertToDate(t.StartTime),n=convertToDate(t.EndTime),r=new Date(e.getFullYear(),e.getMonth(),e.getDate(),a.getHours(),a.getMinutes()),o=new Date(e.getFullYear(),e.getMonth(),e.getDate(),n.getHours(),n.getMinutes());s.push({start:r,end:o,title:t.Name,StartTime:t.StartTime,Off:t.Off,EventId:t.ScheduleEventId,CourseId:t.ScheduleCourseId,Registered:t.Registered,TimeZone:t.TimeZone})})),n=n.concat(s)}return _.sortBy(n,(function(e){var t=convertToDate(e.StartTime);return t.getHours()+t.getMinutes()}))},getNbOccurencesOfSchedule:function(e,t){var a=0;if(e){var n=convertToDate(e.StartDate);t&&t>n&&(n=t);var r=convertToDate(e.StartTime);n=new Date(n.getFullYear(),n.getMonth(),n.getDate(),r.getHours(),r.getMinutes());var s=convertToDate(e.EndDate),o=convertToDate(e.EndTime);s=new Date(s.getFullYear(),s.getMonth(),s.getDate(),o.getHours(),o.getMinutes());var i=new Date(n.getTime());i.setDate(i.getDate()+1);for(var l=calendarPage.getWeekOfMonthForSchedule(e.Type);s>i;)hasDay(i.getDay(),e.DaysOfWeek)>0&&(0==l||l<=4&&l==i.getWeekOfMonth()||l>=5&&monthDiff(startTime,i)%2==0&&l-4==i.getWeekOfMonth()||-1==l&&calendarPage.hasFrequency(n,n,i,repeatFrequence))&&a++,i.setDate(i.getDate()+1)}return a},instructorHasBooking:function(e,t){var a=e.getTime();return _.find(calendarPage.bookings,(function(e){return _.contains(t,e.UserId)&&convertToDate(e.StartTime).getTime()==a}))},setGroupHoursForWeek:function(e){var t=$("#calendar").weekCalendar("getCurrentFirstDay"),a=$("#calendar").weekCalendar("getCurrentLastDay");t.setHours(0),t.setMinutes(0),a.setHours(23),a.setMinutes(59),minutes=0;var n=getGroupData(calendarPage.selectedCalendarGroup),r=_.filter(n.freeDays,(function(e){return t<=e.start&&e.end<=a}));_.size(r)>0&&_.each(r,(function(e){minutes+=Math.round((e.end-e.start)/6e4)}));var s=_.filter(n.events,(function(e){return!e.registration&&t<=e.start&&e.end<=a&&!_.some(n.freeDays,(function(t){return t.start<=e.start&&e.end<=t.end}))}));if(_.size(s)>0&&_.each(s,(function(e){minutes+=Math.round((e.end-e.start)/6e4)})),minutes>0){var o=parseInt(minutes/60),i=minutes%60;i>0&&(o=o.toString()+"."+(i/60).toFixed(2).toString().replace("0.","")),e.text(e.attr("data-label").replace("{0}",o))}e.toggle(minutes>0)},getScheduleStartDate:function(e,t,a,n,r){if(0==e)return a;var s=new Date(n),o=0;if(a>=n)s=new Date(a);else for(s=new Date(n);o++<r&&(hasDay(s.getDay(),t)<=0||!calendarPage.hasFrequency(a,a,s,e));)s.setDate(s.getDate()+1);return s},getWeekOfMonthForSchedule:function(e){var t=0;switch(e){case 1:t=-1;break;case 3:t=1;break;case 4:t=2;break;case 5:t=3;break;case 6:t=4;break;case 7:t=5;break;case 8:t=6;break;case 9:t=7;break;case 10:t=8;break;case 11:case 12:t=-1}return t},hasFrequency:function(e,t,a,n){var r=0;switch(n){case 0:r=0;break;case 1:r=14;break;case 11:r=21;break;case 12:r=28;break;default:r=7}var s=calendarPage.getMonday(t),o=calendarPage.getMonday(a);return!!areEqualDates(s,o)||(s.setHours(0,0),o.setHours(0,0),calendarPage.getDaysDiff(s,o)%r==0)},getDaysDiff:function(e,t){return Math.round((t-e)/864e5)},getDayOfYear:function(e){var t=e||new Date,a=new Date(t.getFullYear(),0,0),n=t-a;return Math.floor(n/864e5)},getMonday:function(e){var t=new Date(e),a=t.getDay(),n=t.getDate()-a+(0==a?-6:1);return new Date(t.setDate(n))},getBookingUser:function(e){var t=e.Title.indexOf("-");return t<0?e.Title:e.ServiceId?e.Title.substring(t+1).trim():e.Title.substring(0,t).trim()},countGroupHours:function(){var e=getGroup(calendarPage.selectedCalendarGroup);e&&null!=e.EmployeeId?calendarPage.setGroupHoursForWeek($("#hourTotal")):$("#hourTotal").hide()},updateBookingEndTime:function(e,t){var a=e.closest(".container"),n=$(".eventStartTime",a);if(t){var r=n.is(":input")?n.val():n.text(),s=formateDateWithHours(new Date,r);s.setMinutes(s.getMinutes()+t),$(".eventEndTime",a).text(formatEventTime(s))}else $(".eventEndTime:visible",a).length>0&&$(".eventEndTime",a).text("")},setCurrentGroup:function(e){$("#dataSource").val()!=e&&($("#dataSource").val(e),calendarPage.selectedCalendarGroup=e,getEventData())},setCourseList:function(){var e=new Date;e.setDate(e.getDate()-365);var t=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),a=(new Date).setDate(e.getDate()+Math.max(10,calendarPage.calendar.Settings.AdvanceDays)),n=_.filter(calendarPage.calendar.Schedules,(function(t){return null!=t.ScheduleCourseId&&e<convertToDate(t.EndDate)&&convertToDate(t.StartDate)<a&&_.find(calendarPage.calendar.Courses,(function(e){return e.Id==t.ScheduleCourseId}))})),r=1==_.size(_.uniq(n,(function(e){return e.ScheduleGroupName}))),s=1==_.size(_.uniq(n,(function(e){return convertToDate(e.StartDate).getDOY()}))),o=_.sortBy(_.map(n,(function(e){var a=_.find(calendarPage.calendar.Courses,(function(t){return t.Id==e.ScheduleCourseId})),n=convertToDate(e.StartTime),o=convertToDate(e.EndTime),i=convertToDate(e.StartDate),l=convertToDate(e.EndDate),d=t.formatDate("DD dd MM ",i)+" - "+t.formatDate("DD dd MM ",l)+" ("+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")";i=new Date(i.getFullYear(),i.getMonth(),i.getDate(),n.getHours(),n.getMinutes()),l=new Date(i.getFullYear(),i.getMonth(),i.getDate(),o.getHours(),o.getMinutes());var c=e.Registered,u=a.NbPlaces-c,g=a.Name;return r||(g+=" - "+e.ScheduleGroupName),g+=" (",g+=s?getFirstDay(e.DaysOfWeek):t.formatDate("MM dd",i),{label:g+=" - "+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")",title:g,value:a.Id,scheduleId:e.Id,start:i,end:l,courseId:a.Id,groupId:e.ScheduleGroupId,cost:a.CostSingle,days:d,places:a.NbPlaces,remaining:u,registered:c,teacher:e.Instructor,substitute:e.Substitute,regType:a.InscriptionType}})),(function(e){return e.label}));calendarPage.courseList=o},getCourseItem:function(e,t){return calendarPage.courseList||calendarPage.setCourseList(),_.find(calendarPage.courseList,(function(a){return("null"==t||a.scheduleId==t)&&a.value==e}))},setEventList:function(){var e=new Date;e.setDate(e.getDate()-365);var t=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),a=_.filter(calendarPage.calendar.Schedules,(function(t){return null!=t.ScheduleEventId&&(e<convertToDate(t.StartDate)||e<convertToDate(t.EndDate))&&_.find(calendarPage.calendar.Events,(function(e){return e.Id==t.ScheduleEventId}))})),n=_.sortBy(_.map(a,(function(e){var a=_.find(calendarPage.calendar.Events,(function(t){return t.Id==e.ScheduleEventId})),n=convertToDate(e.StartTime),r=convertToDate(e.EndTime),s=convertToDate(e.StartDate),o=convertToDate(e.EndDate),i=t.formatDate("DD dd MM ",s)+" ("+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")";s=new Date(s.getFullYear(),s.getMonth(),s.getDate(),n.getHours(),n.getMinutes()),o=new Date(s.getFullYear(),s.getMonth(),s.getDate(),r.getHours(),r.getMinutes());var l=e.Registered,d=a.NbPlaces-l;return{label:a.Name,value:a.Id,scheduleId:e.Id,start:s,end:o,eventId:a.Id,groupId:e.ScheduleGroupId,date:i,places:a.NbPlaces,remaining:d,registered:l}})),(function(e){return e.label}));calendarPage.eventList=n},getEventItem:function(e,t){return calendarPage.eventList||calendarPage.setEventList(),_.find(calendarPage.eventList,(function(a){return("null"==t||a.scheduleId==t)&&a.value==e}))},viewRegistrationList:function(e){var t=$(".rowId",e).val(),a=$(".scheduleId",e).val(),n=$(".scheduleOfst",e).val(),r="true"==$(".hasTickets",e).val(),s=parseInt($(".nbPlaces",e).text(),10),o=$("#eventsContent").length>0,i=GetScheduleById(a),l=o?calendarPage.getEventItem(t,a):calendarPage.getCourseItem(t,a);l&&l.groupId&&(calendarPage.selectedCalendarGroup=l.groupId);var d=$("#registrationsContainer");if(d.attr("data-schedule",a),t&&d.attr("data-event",t),$("#TicketsSection",d).toggle(null!=r),$(".ticketsContainer",d).html(""),r){var c=GetEventById(t);if(c||(c=GetScheduleCourseById(t)),c){var u=0,g=0;_.each(c.Tickets,(function(e){g+=e.NbPlaces,0==e.NbPlaces&&(u+=e.Registered)}));var h=c.NbPlaces-g-u;_.each(c.Tickets,(function(e){var t=e.NbPlaces>0?e.NbPlaces-e.Registered:h;$(".ticketsContainer",d).append("<div data-id='"+e.Id+"'><span class='ticketTitle'>"+e.Name+" ("+e.Registered+")</span><span class='ticketPlaces' style='float:right'>"+t+"</span></div>")}))}}$(".totalPlaces").text(s);var f=i.Registered;$(".remainingPlaces").text(s-f),calendarPage.getRegistrationBookings(t,l.start,d,l,n)},openRegistrationList:function(e,t){var a=!calendarPage.calendar.Settings.AutoRegister,n=$(".container",e);n.html("");var r=$(".templateItem",e),s=r.attr("data-label"),o=new Date,i=areEqualDates(t.start,o),l=new Date;l.setDate(l.getDate()-1);var d=areEqualDates(t.start,l);_.each(_.sortBy(calendarPage.bookings,(function(e){return e.Title})),(function(e){var o=r.clone(),l=calendarPage.getBookingUser(e);if(e.TicketName&&(l+=" ("+e.TicketName+(e.SeatName?" - "+e.SeatName:"")+") "),$(".titleR",o).text(l),calendarPage.canTrack)if(t.courseId)if(3!=t.regType)null!=e.UserId&&e.UserId!=calendarPage.userId&&(i||d)&&0==e.RegistrationStatus&&$('<span class="attending h-inClass">'+s+"</span>").insertAfter($(".placesR",o));else switch(e.RegistrationStatus){case 2:$('<span class="attending v-actionLink h-resetReg">'+bookings.resources.Reset+"</span>").insertAfter($(".placesR",o)),$('<span class="updated v-actionLink">'+bookings.resources.Accepted+"</span>").insertAfter($(".placesR",o));break;case 3:$('<span class="attending v-actionLink h-resetReg">'+bookings.resources.Reset+"</span>").insertAfter($(".placesR",o)),$('<span class="updated v-actionLink">'+bookings.resources.Declined+"</span>").insertAfter($(".placesR",o));break;default:$('<span class="attending v-actionLink h-declineApp">'+bookings.resources.Decline+"</span>").insertAfter($(".placesR",o)),$('<span class="attending v-actionLink h-acceptApp">'+bookings.resources.Accept+"</span>").insertAfter($(".placesR",o))}else t.eventId&&a&&null!=e.UserId&&e.UserId!=calendarPage.userId&&(0==e.RegistrationStatus?$('<span class="attending v-actionLink h-atEvent">'+r.attr("data-evt-label")+"</span>").insertAfter($(".placesR",o)):$('<span class="attending v-actionLink h-resetReg">'+bookings.resources.Reset+"</span>").insertAfter($(".placesR",o)));$(".placesR",o).text(e.NbPlaces),$(".idR",o).val(e.Id),$(".courseId",o).val(t.courseId),$(".courseName",o).val(t.courseName),$(".eventId",o).val(t.eventId),$(".eventName",o).val(t.courseId),o.attr("data-id",e.Id),calendarPage.canEdit||$(".h-editRegistrant",o).remove(),n.append(o.show())})),openEventListDialog(e,t,t.label,0==calendarPage.bookings.length)},getRegistrationBookings:function(e,t,a,n,r){ajaxServerCall("Booking","GetRegistrationBookings",{itemId:e,startTime:setOffsetDateToServer(t),ofst:r},(function(e){calendarPage.bookings=e.data,calendarPage.openRegistrationList(a,n)}))}};function initCalendarPage(){calendarPage.content=$(".calendarBox",bookings.container),calendarPage.firstHour=parseInt($("#firstHour",calendarPage.content).val(),10),calendarPage.lastHour=parseInt($("#lastHour",calendarPage.content).val(),10),calendarPage.calendarContent=$("#calendar",bookings.container),calendarPage.calendar=JSON.parse($("#calendarData",calendarPage.content).val()),calendarPage.inscriptions=$("#inscriptions",calendarPage.content).val()?JSON.parse($("#inscriptions",calendarPage.content).val()):null,calendarPage.bookings=JSON.parse($("#bookings",calendarPage.content).val()),calendarPage.messageContainer=$(".calendarMessageContent",bookings.container),calendarPage.isWidget=widgetPage.content&&widgetPage.content.length>0;var e=calendarPage.calendar.Settings,t=$("#usTimeFormat",bookings.container);bookings.is12hrFormat=t&&t.length>0&&"true"==t.val(),calendarPage.offerService=0==e.ServiceType||2==e.ServiceType||5==e.ServiceType,calendarPage.offerBoth=5==e.ServiceType,calendarPage.hasClasses=calendarPage.calendar.Courses.length>0,calendarPage.hasRooms=calendarPage.calendar.Rooms.length>0,calendarPage.hasEvents=calendarPage.calendar.Events.length>0,calendarPage.maxPlaces=calendarPage.offerService?0:e.NbPlaces,calendarPage.timeslots=Math.ceil(60/e.DefaultCalendarTimeSlot),calendarPage.timeslotHeight=Math.ceil(e.HeightType/calendarPage.timeslots),calendarPage.expandBookings?calendarPage.timePickerOptions={stepMinute:5}:calendarPage.timePickerOptions={stepMinute:Math.min(60/calendarPage.timeslots,60)},calendarPage.buttonTexts.today=bookings.resources.Today,calendarPage.buttonTexts.goto=bookings.resources.GoTo,calendarPage.buttonTexts.lastWeek=bookings.resources.Previous,calendarPage.buttonTexts.nextWeek=bookings.resources.Next;var a=firstGroup();calendarPage.selectedCalendarGroup=useGroupId(a),setGroupData(calendarPage.selectedCalendarGroup)}function initCommonCalendarFunction(){}function initCalendarFunctions(){setGroupSelection(calendarPage.content),setSelectGroups(),setServices(),setDateAndTimePickers(calendarPage.timePickerOptions),initCommonCalendarFunction(),calendarPage.content.on("change",".headerCalendarSelection select",(function(){calendarPage.calendarContent.weekCalendar("refresh"),setServices()})),calendarPage.content.on("change",".ui-widget-header .headerCalendarSelection",(function(){var e=$(this),t=e.find("option:selected");calendarPage.selectedCalendarGroup=t.val();var a=$(".descLink",e);a.length>0&&t&&a.css("display",t.attr("data-descId")?"inline-block":"none"),setVisiblePictures()})),$("#editRequestContainer",bookings.container).on("change",".unavailable",(function(){var e=$(this).closest(".container");$(".compFieldItem",e).toggle($(this).not(":checked"))})),$("#editEventContainer",bookings.container).on("change",".eventTicket",(function(){var e=$(this),t=e.closest(".container"),a=e.closest(".ticketItem"),n=$("option:selected",a);n.attr("data-chartId")?setSeats(n.attr("data-chartId"),t,e.attr("data-seat")):$(".seatItem",t).hide()})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("click",".h-showServiceDesc",(function(){var e=$(this).parent(),t=$("option:selected",e),a=t.attr("data-desc");if(a||(a=(t=getServiceForDialog($(this).closest(".ui-dialog-content"))).attr("data-desc")),a){var n=$("<div class='bookingDesc limited'>").html(a);bookings.openDisplayDialog(n,t.text(),null,400)}else $(this).hide()})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("change",".eventService",(function(){var e=$(this).closest(".container"),t=$(this).find("option:selected"),a=t.attr("data-length")?parseInt(t.attr("data-length"),10):null;calendarPage.updateBookingEndTime($(this),a);var n=t&&""!==$.trim(t.attr("data-desc"));$(".descLink",e).css("display",n?"inline-block":"none")})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("change",".eventGroups",(function(){if(calendarPage.offerService){var e=$(this).closest(".container"),t=$(this).find("option:selected").attr("data-services"),a=$(".eventService",e).next(".minict_wrapper");if($(".eventEndTime",e).text(""),void 0===t||""==t)$("li",a).show();else{var n=t.split(",");$("li",a).hide(),_.each(n,(function(e){$("li[data-value='"+e+"']",a).show()}))}bookings.isSettingSelects||$("input",a).val("").attr("placeholder",bookings.resources.DefaultSelect)}})),$("#editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("change",".eventStartTime",(function(){var e=$(this).closest(".container");calendarPage.hasRooms&&$(".nbHoursField:visible",e).length>0?($(".nbHours",e).keyup(),$(".nbMinutes",e).keyup()):calendarPage.hasRooms&&$(".nbDaysField:visible",e).length>0?$(".nbDays",e).keyup():""!==$(".eventService option:selected",e).val()&&$(".eventService",e).change(),$(".repeatDays",e).val()&&calendarPage.updateConflictDisplay(e)})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("change",".fullDay",(function(){var e=$(this).closest(".container"),t=$(this).is(":checked"),a=formatToDate($(".dateHolder",e).attr("data-val")),n=formateDateWithHours(a,$(".eventStartTime",e).val());$(".nbHoursField",e).toggle(!t),setBookingTimeForRoom(null,n,e,t?24:1)})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("keyup",".nbHours,.nbMinutes",(function(){var e=$(this).closest(".editFieldSection"),t=$(".nbHours:visible",e),a=t.val()?60*parseInt(t.val(),10):0,n=$(".nbMinutes:visible",e),r=n.val()?parseInt(n.val(),10):0;calendarPage.updateBookingEndTime($(this),a+r);var s=$(this).closest(".container");$(".repeatDays",s).val()&&calendarPage.updateConflictDisplay(s)})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",bookings.container).on("keyup",".nbDays",(function(){var e=$(this).val()?1440*parseInt($(this).val(),10):null;calendarPage.updateBookingEndTime($(this),e)})),calendarPage.content.on("click",".h-searchCalendar",(function(){var e=$(this),t=$(".headerCalendarSearch",calendarPage.content),a=getGroupData(calendarPage.selectedCalendarGroup).weekDays,n=function(){t.toggle("slow"),calendarPage.findVisible=!calendarPage.findVisible};if(parseInt($(".daysValue",t).val(),10)!=a?GetWeeklyDays(t,a,n):n(),!e.hasClass("init")&&calendarPage.hasClasses){var r=getUniqueCourses();$(".searchClassSection",t).toggleClass(t.length>0),r.length>0&&$("#SearchCourse",t).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(r,e.term))},minLength:0,delay:0,select:function(e,a){return $("#SearchCourseId",t).val(a.item.value),$("#SearchCourse",t).val(a.item.label),calendarPage.lastFindDate=null,!1}})}e.addClass("init")})),calendarPage.content.on("click",".wc-goto",(function(){$(this).find("input").focus()})),calendarPage.content.on("change",".searchFilter input",(function(){calendarPage.lastFindDate=null})),calendarPage.content.on("click",".h-findInCalendar",(function(){var e=$(".searchFilter",calendarPage.content),t=formatToDate($(".startDay",e).val()),a=formateDateWithHours(t,$(".startTimePicker",e).val()),n=formateDateWithHours(t,$(".endTimePicker",e).val()),r=$("#DaysOfWeek",e).val(),s=""!==$("#Length",e).val()?parseInt($("#Length",e).val(),10):0,o=$("#SearchCourseId",e).val();findEvent(a,n,parseInt(r,10),s,o)})),calendarPage.content.on("click",".h-showDesc",(function(){var e=$(this).closest(".headerCalendarSelection").find("option:selected"),t=e.attr("data-descId"),a=calendarPage.hasRooms?_.find(calendarPage.calendar.Rooms,(function(e){return e.Id==t})):null;if(a){var n=$("<div class='bookingDesc'>").html(a.Description);bookings.openDisplayDialog(n,e.text(),null,600)}})),calendarPage.hasGallery=$("#pictureGallery").length>0,calendarPage&&$(".popup-gallery").magnificPopup({delegate:"a:visible",type:"image",tLoading:"Loading image #%curr%...",mainClass:"mfp-img-mobile",gallery:{enabled:!0,navigateByImgClick:!0,preload:[0,1]},image:{tError:'<a href="%url%">The image #%curr%</a> could not be loaded.'}}),setVisiblePictures()}function getServiceForDialog(e){var t=$(".eventService",e),a=$("option:selected",t);if(!a||void 0===a.attr("data-length")||!a.attr("data-length")){var n=$("ul li.selected",t.parent()).attr("data-value");a=$("option[value='"+n+"']",t)}return a}function getGroupDescription(e){var t=null;if(calendarPage.hasRooms){var a=_.uniq(_.filter(calendarPage.calendar.Schedules,(function(t){return t.ScheduleGroupId==e&&null==t.ScheduleEventId&&null==t.ScheduleCourseId})),(function(e){return e.ScheduleRoomId}));a&&1==_.size(a)&&(t=_.first(a).ScheduleRoomId)}return t}function setGroupSelection(e,t){var a=$(".calendarSelection",bookings.container),n=$("select ",a);t&&t!=bookings.emptyGuid&&(_.any(calendarPage.calendar.Groups,(function(e){return e.Id==t}))&&(calendarPage.calendar.Groups=_.reject(calendarPage.calendar.Groups,(function(e){return e.Id!=t})),calendarPage.selectedCalendarGroup=t,setGroupData(calendarPage.selectedCalendarGroup)));if(calendarPage.displayOnly&&displayPage&&_.size(calendarPage.calendar.Groups)<=1)a.hide();else{var r=!1;calendarPage.displayOnly&&displayPage&&(0!=displayPage.calendarType||displayPage.showAllCalendar)&&_.size(_.filter(calendarPage.calendar.Groups,(function(e){return!e.Private})))>1&&(n.append($("<option>",{value:"All"}).text(bookings.resources.All)),calendarPage.selectedCalendarGroup="All",r=!0),_.each(calendarPage.calendar.Groups,(function(e){if(calendarPage.expandBookings&&!calendarPage.displayOnly||!e.Private){var t=getGroupDescription(e.Id),a=$("<option>",{value:e.Id}).text(e.Name);t&&a.attr("data-descId",t),n.append(a)}})),!r&&_.size(calendarPage.calendar.Groups)>2&&0==_.size(calendarPage.calendar.Rooms)&&n.append($("<option>",{value:bookings.emptyGuid}).text(bookings.resources.All)),e&&addHeaderItemsToWidget(e,a.clone())}}function setSelectGroups(){var e=bookings.container,t=$(".eventGroups",e);t.html(""),0==_.size(calendarPage.calendar.Groups)?$(".eventGroupSection",bookings.container).hide():(t.append("<option value=''>"+bookings.resources.Select+"</option>"),_.each(calendarPage.calendar.Groups,(function(e){t.append($("<option>",{value:e.Id}).text(e.Name).attr("data-services",e.ServiceIds))})))}function setServices(e){if(e||(e=bookings.container),calendarPage.offerService){var t=$(".calendarBox",bookings.container),a=$("#dataSource",t).val(),n=$(".eventService",e);n.html(""),n.append("<option value=''>"+bookings.resources.SelectService+"</option>");var r=_.find(calendarPage.calendar.Groups,(function(e){return e.Id==a})),s=null==r||0==_.size(r.ServiceIds)?null:r.ServiceIds;_.each(calendarPage.calendar.Services,(function(e){if(null==s||_.contains(s,e.Id)){var t=""!==$.trim(e.Price)?e.Item+" ($"+e.Price+")":e.Item;n.append($("<option>",{value:e.Id}).text(t).attr("data-length",e.Length).attr("data-desc",e.Description).attr("data-text",e.Item))}}))}}function setTickets(e,t){e||(e=bookings.container);var a=$(".eventTicket",e);a.html(""),a.append("<option value=''>"+bookings.resources.Select+"</option>");var n=_.find(calendarPage.calendar.Events,(function(e){return e.Id==t}));n&&(_.each(n.Tickets,(function(e){(Math.max(0,n.NbPlaces-n.Registered)>0||calendarPage.expandBookings)&&a.append($("<option>",{value:e.Id,"data-chartId":e.ChartId}).text(e.Name))})),$(".ticketItem",e).toggle($("option",a).length>1),n.ChartId&&setSeats(n.ChartId,e))}function setSeats(e,t,a){var n=$(".eventSeat",t);n.html(""),n.append("<option value=''>"+bookings.resources.Select+"</option>"),ajaxServerCall("POS","GetSeatingChart",{chartId:e},(function(e){if(e.value){var r=e.value,s=0;_.each(r.Seats,(function(e){n.append($("<option>",{value:e.Id,selected:a==e.Id?"selected":"",disabled:e.Taken?"disabled":""}).prop("disabled",e.Taken).text(e.Name)),e.Taken||s++})),$(".seatItem",t).toggle(s>0)}}))}function setGroupData(e){var t=!1,a=[],n=[],r=getGroup(e),s=null!=r?r.EmployeeId:null,o=_.sortBy(_.filter(calendarPage.calendar.Schedules,(function(t){var a=calendarPage.expandBookings&&null!=s&&null!=t.ScheduleCourseId?getCourseForSchedule(t.ScheduleCourseId):null;return e==calendarPage.emptyGuid||t.ScheduleGroupId==e||!t.ScheduleGroupId||a&&null!=a&&a.EmployeeId==s})),(function(e){return e.Off.toString()+e.EndDate})),i=_.filter(o,(function(e){return e.Off&&(e.ScheduleEventId||e.ScheduleCourseId)})),l=_.filter(o,(function(e){return!e.Off&&!e.ScheduleEventId&&!e.ScheduleCourseId}));if(1==_.size(l)){var d=_.first(l);127==d.DaysOfWeek&&getMinutesOfDay(convertToDate(d.EndTime))-getMinutesOfDay(convertToDate(d.StartTime))>1430&&(t=!0,o=_.filter(o,(function(e){return e.Off||e.ScheduleEventId||e.ScheduleCourseId})))}var c,u,g,h,f=0,p=null!=calendarPage.calendar.Settings.ActiveStartTime?convertToDate(calendarPage.calendar.Settings.ActiveStartTime):null,v=(calendarPage.calendar.Settings.MinHoursBeforeBooking,new Date),D=new Date(v.getFullYear()-(v.getMonth()>0?0:1),(v.getMonth()-1+12)%12,1),m=v,S=v,I=v,P=!1,b=[],T=0,y=0,k=(new Date).setDate(v.getDate()-60),C=_.filter(o,(function(e){return!e.EndDate||convertToDate(e.EndDate)>k}));C=_.sortBy(C,(function(e){return-1*e.DaysOfWeek})),_.each(C,(function(r){for(f=null!=calendarPage.calendar.Settings.AdvanceDays?calendarPage.calendar.Settings.AdvanceDays:0,c=convertToDate(r.StartDate),u=null!=r.EndDate?convertToDate(r.EndDate):null,g=convertToDate(r.StartTime),h=convertToDate(r.EndTime),originalStartDate=new Date(c),scheduleStart=calendarPage.getScheduleStartDate(r.Type,r.DaysOfWeek,c,v,f),y=calendarPage.getWeekOfMonthForSchedule(r.Type),P=u&&areEqualDates(c,u),c<v&&!P&&(c=(r.ScheduleCourseId||r.ScheduleEventId)&&(r.Registered>0||f>30)?c<D?new Date(D):c:v),null!=u&&0!=f&&!P&&(new Date).setDate(c.getDate()+f)>u?f=Math.ceil((u-c)/864e5):P&&(f=0),null!=p&&(p.getHours()>v.getHours()||p.getHours()==v.getHours()&&p.getMinutes()>v.getMinutes())&&f--;f>=0;){S=new Date(c.getFullYear(),c.getMonth(),c.getDate(),g.getHours(),g.getMinutes()),m=new Date(S.getTime()),S.setDate(S.getDate()+f--),I=new Date(S.getFullYear(),S.getMonth(),S.getDate(),h.getHours(),h.getMinutes());if(!r.Off&&(null==u||smallerOrEqualDate(S,u)&&I>=S)&&hasDay(S.getDay(),r.DaysOfWeek)>0&&(0==y||y<=4&&y==S.getWeekOfMonth()||y>=5&&monthDiff(c,S)%2==0&&y-4==S.getWeekOfMonth()||-1==y&&calendarPage.hasFrequency(originalStartDate,scheduleStart,S,r.Type))){var s=!1,o=null!=r.ScheduleCourseId?r.ScheduleCourseId:r.ScheduleEventId,l=!1;if(null==o&&(l=!0,o=r.ScheduleRoomId),e!=bookings.emptyGuid||!widgetPage||!widgetPage.content||calendarPage.expandBookings&&0!=$("#compCalendar").length){var d=freeDayAlreadyAdded(o,b,S,I);(s=null!=d)&&e==bookings.emptyGuid&&(S<=d.start&&(d.start=S),d.end<I&&(d.end=I))}if((!s||null!=r.ScheduleEventId||null!=r.ScheduleCourseId)&&(s||b.push({start:S,end:I,free:!0,scheduleId:r.Id,groupId:r.ScheduleGroupId,itemId:o,isFree:l,originalStart:m}),null!=r.ScheduleEventId||null!=r.ScheduleCourseId)){var k,C,E,M=!1,w=0,G=null,F=!1,R=5555,O=null;if(null!=r.ScheduleEventId?(k=getEventForSchedule(r.ScheduleEventId),C=r.ScheduleEventId,G=r.ScheduleEventName,k&&(w=k.NbPlaces,E=k.Color,F=k.Active)):(k=getCourseForSchedule(r.ScheduleCourseId),C=r.ScheduleCourseId,G=r.ScheduleCourseName,k&&(w=k.NbPlaces,E=k.Color,F=k.Active,O=k.Length)),k&&(1!=F||!calendarPage.displayOnly||displayPage&&0==displayPage.calendarType)&&(n.push({group:r.ScheduleGroupId,start:S}),c!=u&&u&&_.find(i,(function(e){return(e.ScheduleCourseId==C||e.ScheduleEventId==C)&&areEqualDates(convertToDate(e.StartDate),S)&&e.EndDate&&areEqualDates(convertToDate(e.EndDate),I)&&areEqualTimes(convertToDate(e.StartTime),convertToDate(r.StartTime))&&areEqualTimes(convertToDate(e.EndTime),convertToDate(r.EndTime))}))?R=9:0!=F&&widgetPage&&!widgetPage.internalView&&(r.Registered=w),9!=R||S>v))if(O)for(var x=getMinutesOfDay(S),N=getMinutesOfDay(I);x+O<=N;){M=0!=F?r.Registered:compileNbPlacesForTimeslot(S,r.ScheduleGroupId,r.ScheduleCourseId);a.push({id:C,itemId:C,scheduleId:r.Id,groupId:r.ScheduleGroupId,createdBy:calendarPage.userId,start:S,end:S.addMinutes(O),title:G,status:R,userId:calendarPage.userId,places:w,courseId:r.ScheduleCourseId,courseName:r.ScheduleCourseName,color:E,eventId:r.ScheduleEventId,eventName:r.ScheduleEventName,available:w-M,roomId:r.ScheduleRoomId,roomName:r.ScheduleRoomName,instructor:r.Instructor,instructorId:r.InstructorId,substitute:r.Substitute,substituteId:r.SubstituteId}),x=getMinutesOfDay(S=S.addMinutes(O))}else{M=0!=F?r.Registered:compileNbPlacesForTimeslot(S,r.ScheduleGroupId,r.ScheduleCourseId);a.push({id:C,itemId:C,scheduleId:r.Id,groupId:r.ScheduleGroupId,createdBy:calendarPage.userId,start:S,end:I,title:G,status:R,userId:calendarPage.userId,places:w,courseId:r.ScheduleCourseId,courseName:r.ScheduleCourseName,color:E,eventId:r.ScheduleEventId,eventName:r.ScheduleEventName,available:w-M,roomId:r.ScheduleRoomId,roomName:r.ScheduleRoomName,instructor:r.Instructor,instructorId:r.InstructorId,substitute:r.Substitute,substituteId:r.SubstituteId})}}}else if(r.Off&&!r.ScheduleEventId&&!r.ScheduleCourseId&&hasDay(S.getDay(),r.DaysOfWeek)>0&&(0==y||y<=4&&y==S.getWeekOfMonth()||y>=5&&monthDiff(c,S)%2==0&&y-4==S.getWeekOfMonth()||-1==y&&calendarPage.hasFrequency(originalStartDate,scheduleStart,S,r.Type)))if(t)b.push({start:S,end:I,free:!1,title:r.Name,groupId:r.ScheduleGroupId,originalStart:m});else if(b.length>0){var B=_.filter(b,(function(e){return areEqualDates(e.start,S)}));_.each(B,(function(e){var t=e.start<S&&I<e.end,a=!1;(t||areEqualDateTimes(S,e.start)&&e.end<=I)&&(b.push({start:I,end:e.end,free:!0,title:r.Name,groupId:r.ScheduleGroupId,originalStart:m}),a=!0),(t||S<=e.start&&areEqualDateTimes(I,e.end))&&(b.push({start:e.start,end:S,free:!0,title:r.Name,groupId:r.ScheduleGroupId,originalStart:m}),a=!0),!a&&getMinutesOfDay(convertToDate(I))-getMinutesOfDay(convertToDate(S))>1430&&(a=!0),(a||t)&&(e.toRemove=!0)}))}}0==(T&r.DaysOfWeek)&&(T+=r.DaysOfWeek)})),b=_.reject(b,(function(e){return e.toRemove}));var E,M,w,G,F=firstGroup(),R=F?F.Id:-1,O=_.filter(calendarPage.bookings,(function(t){return e<0||t.ScheduleGroupId==e||t.ScheduleGroupId==calendarPage.emptyGuid&&_.size(calendarPage.calendar.Groups)>0&&R==e||e==calendarPage.emptyGuid&&_.size(calendarPage.calendar.Groups)>0})),x=!1,N=(b.length>0&&_.max(b,(function(e){return e.end})).end,calendarPage.offerService&&isSingleBookingForService(e)),B=_.pluck(calendarPage.calendar.Events,"Id").concat(_.pluck(calendarPage.calendar.Courses,"Id"));if(_.each(O,(function(e){g=convertToDate(e.StartTime,e),e.Length<=0&&(e.Length=calendarPage.calendar.Settings.DefaultCalendarTimeSlot),h=new Date(g.getTime()+6e4*e.Length),x=!1,calendarPage.expandBookings&&!e.Registration||_.each(b,(function(e){if(e.start<=g&&g<=e.end&&e.start<=h&&h<=e.end)return x=!0,!0})),E=e.Title,M=e.Status,w=null,calendarPage.expandBookings||calendarPage.displayOnly||0==calendarPage.userId||calendarPage.userId==e.UserId||(E="",M=""),e.ServiceId&&(G=getServiceById(e.ServiceId))&&G&&G.Color&&(w=G.Color);var t=e.ItemId&&_.contains(B,e.ItemId);if(calendarPage.isWidget||calendarPage.offerService&&N&&(calendarPage.expandBookings||x)||(calendarPage.expandBookings||calendarPage.userId==e.UserId)&&(!t||x)||!t&&!userHasBooking(g)&&compileNbPlacesForTimeslot(g,e.ScheduleGroupId,e.ItemId)>=getMaxCountForBooking(e)&&x)if(!(n.length>0&&_.find(n,(function(t){return t.group==e.ScheduleGroupId&&t.start.getTime()==g.getTime()&&(null!=e.EndRegistrationDate||!getRoomForSchedule(e.ItemId))})))||calendarPage.isWidget||calendarPage.displayOnly)a.push({id:e.Id,itemId:e.ItemId,groupId:e.ScheduleGroupId,createdBy:e.CreatedBy,start:g,end:h,title:E,status:M,userId:e.UserId,places:e.NbPlaces,registration:e.Registration,color:w,parentId:e.ParentId});else if(!calendarPage.expandBookings){var r=_.find(a,(function(e){return 5555==e.status&&areEqualDateTimes(e.start,g)}));r&&(r.id=e.Id,r.status=M,r.places=e.NbPlaces,E&&""!==E&&(r.title=E))}})),calendarPage.offerService&&!calendarPage.expandBookings){var H=_.filter(a,(function(e){return e.createdBy==calendarPage.userId})),A=_.filter(_.difference(a,H),(function(e){return!_.find(H,(function(t){return areEqualDates(t.start,e.start)&&daysOverlap(t.start,t.end,e.start,e.end)}))}));a=_.union(H,A)}calendarPage.groupData.push({Id:e,freeDays:b.sort(compareDates),events:a,defaultFree:t,weekDays:T})}function getNextFreeDayForEvent(e,t,a){do{t.setDate(t.getDate()+1)}while(!findEventWithTime(e,t)&&t<a);return t}function findEventWithTime(e,t){return _.find(e,(function(e){return e.start.getTime()==t.getTime()}))}function getMaxCountForBooking(e,t){var a,n=calendarPage.maxPlaces;return null!=(a=getScheduleForBooking(e))&&null!=a.ScheduleCourseId&&null!=(course=getCourseForSchedule(a.ScheduleCourseId))?n=course.NbPlaces:calendarPage.offerService&&null!=a&&null!=a.ScheduleGroupId&&(n=getGroup(a.ScheduleGroupId).NbPlaces),n}function isSingleBookingForService(e){var t=!0;e!=calendarPage.emptyGuid&&(t=getGroup(e).NbPlaces<=1);return t}function userHasBooking(e){var t=e.getTime();return _.find(calendarPage.bookings,(function(e){return e.UserId==calendarPage.userId&&convertToDate(e.StartTime).getTime()==t}))}function compileNbPlacesForTimeslot(e,t,a,n){var r=0,s=e.getTime(),o=n,i=o?n.getTime():null,l=t||calendarPage.selectedCalendarGroup;return _.each(_.filter(calendarPage.bookings,(function(e){return e.ScheduleGroupId==l&&(null==a||e.ItemId==a)})),(function(e){(convertToDate(e.StartTime).getTime()==s||o&&convertToDate(e.StartTime).getTime()==i)&&(r+=Math.max(e.NbPlaces,1))})),r}function getEventData(){var e=$(".ui-widget-header .headerCalendarSelection",bookings.container),t=calendarPage.initComplete?e.length>0?$("option:selected",e).val():calendarPage.selectedCalendarGroup:useGroupId(firstGroup()),a=getGroupData(t);return void 0===a&&(setGroupData(t),a=getGroupData(t)),{options:{timeslotsPerHour:calendarPage.timeslots,timeslotHeight:calendarPage.timeslotHeight,defaultFreeBusy:{free:a.defaultFree}},events:a.events,freebusys:a.freeDays}}function findEvent(e,t,a,n,r){$(".headerCalendarSearch .messageItem",calendarPage.content).hide();var s=!1,o=getMinutesOfDay(e),i=new Date,l=null;if(_.each(getGroupData(calendarPage.selectedCalendarGroup).freeDays,(function(d){if(!s&&(!calendarPage.lastFindDate||followingDate(calendarPage.lastFindDate,d.start))&&o<getMinutesOfDay(d.end)&&hasDay(d.start.getDay(),a)>0&&(0==n||getMinutesOfDay(d.start)+n<getMinutesOfDay(t)||o+n<=getMinutesOfDay(d.end))&&i.getTime()<d.end&&null!=(l=firstOpenTime(d.start,e,t,n,r))&&(!r||void 0===r||hasScheduleWithTimeForItem(d.start,d.end,r)))return(s=new Date(d.start.getTime())).setHours(getHoursFromDayMinutes(l)),s.setMinutes(getMinutesFromDayMinutes(l)),!1})),null!=calendarPage.lastFindDate||s)if(s){$("#calendar").weekCalendar("gotoDate",s);var d=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]).formatDate("DD dd MM ",s)+pad(s.getHours(),2)+":"+pad(s.getMinutes(),2);$(".headerCalendarSearch .h-findMatch",calendarPage.content).html(d).show()}else $(".headerCalendarSearch .h-findEndMathes",calendarPage.content).show();else $(".headerCalendarSearch .h-findNoMatch",calendarPage.content).show();return calendarPage.lastFindDate=s||null,s}function firstOpenTime(e,t,a,n,r){if(e<t)return null;var s=null,o=_.filter(getGroupData(calendarPage.selectedCalendarGroup).events,(function(t){return t.start.getDate()==e.getDate()&&t.start.getMonth()==e.getMonth()}));o=o.sort(compareDates);var i=getMinutesOfDay(t),l=i+n;return 0==o.length?s=getMinutesOfDay(t):_.each(o,(function(e){if(null==s){var t=getMinutesOfDay(e.start),a=getMinutesOfDay(e.end);a<i||!r&&t<l&&i<=a||!r&&t<=i&&l<=a?i=a:s=t}})),s&&a<s+n&&(s=null),s}function getBookingLength(e,t,a){var n=null,r=calendarPage.calendar.Settings.DefaultCalendarTimeSlot,s=$("input.nbHours:visible",a),o=$("input.nbMinutes:visible",a),i=s.length>0&&""!==s.val()?60*parseInt(s.val(),10):0,l=o.length>0&&""!==o.val()?parseInt(o.val(),10):0;if(calendarPage.offerService&&e.length>0){var d=e.attr("data-length");d||(d=(e=getServiceForDialog(a))?e.attr("data-length"):calendarPage.calendar.DefaultCalendarTimeSlot),r=parseInt(d,10)}else if((calendarPage.hasClasses||calendarPage.hasEvents)&&(n=getScheduleForEvent(t,!0)))r=Math.round((convertToDate(n.EndTime)-convertToDate(n.StartTime))/6e4),(n.ScheduleCourseId||n.ScheduleEventId)&&(i>0||l>0)&&(r=i+l);else if(calendarPage.hasRooms){var c=$("input.nbDays:visible",a).length>0?parseInt($("input.nbDays",a).val(),10):0;if($("span.eventEndTime:visible",a).length>0||""!==$("input.eventEndTime:visible",a).val()){var u=$("span.eventEndTime:visible",a).length>0?$("span.eventEndTime:visible",a).text():$("input.eventEndTime:visible",a).val(),g=formateDateWithHours(t,u);((c>0||$(".requestSectionItem",a).length>0)&&g<=t||g<t)&&g.setDate(g.getDate()+Math.max(1,c)),r=Math.abs(Math.floor((g-t)/36e5*60))}else c>0?r=Math.floor(1440*c):(i>0||l>0)&&(r=i+l)}return 0==r&&(r=calendarPage.calendar.Settings.DefaultCalendarTimeSlot),r}function getBookingTitle(e,t,a,n,r){if(r)n="",r.ScheduleCourseId?n+=r.ScheduleCourseName:r.ScheduleEventId?n+=r.ScheduleEventName:r.ScheduleGroupId&&(n+=r.ScheduleGroupName);else if(!n&&calendarPage.initComplete){var s=getGroup(calendarPage.selectedCalendarGroup);n=s?s.Name:""}n=n?" - "+n:"";var o="";return calendarPage.offerService&&t&&""!==t?o=" - "+t:a&&a>1&&(o=" - "+a),e+n+o}function getBookingRegistration(e,t){var a=!1;return calendarPage.offerService||(a=$(".registrationSection",e).is(":visible")&&$(".inscription",e).is(":checked")||null!=t&&null!=t.ScheduleEventId),a}function bookingIsForEvent(e,t){var a=null;return t&&t.scheduleId&&null!=(a=getScheduleById(t.scheduleId))||calendarPage.hasEvents&&null!=(a=getScheduleForEvent(e,!0))&&null!==a.ScheduleEventId||calendarPage.hasClasses&&null!=(a=getScheduleForEvent(e,!0))&&null!==a.ScheduleCourseId&&null!=(c=getCourseForSchedule(a.ScheduleCourseId))&&!c.Length?a:null}function updateCalendarEvents(e,t,a,n,r,s,o,i,l,d,c,u,g,h,f,p,v,D,m,S,I,P){var b=new Date(a),T=getEvent(e.id),y=null,k=null!=T&&T.ItemId!=e.itemId;t.NbPlaces=T?T.NbPlaces:0,t.ServiceId=l,T&&(t.TicketId=T.TicketId,t.SeatId=T.SeatId,y={groupId:T.ScheduleGroupId,start:T.StartTime,length:T.Length,nbPlaces:T.NbPlaces,itemId:T.ItemId,ticketId:T.TicketId,seatId:T.SeatId}),t.inList&&(m=!0,deleteEvent(e.id)),(a=e.startTime?convertToDate(e.startTime):new Date(a)).setHours(b.getHours()),(n=new Date(a.getTime())).setMinutes(a.getMinutes()+o);var C=e.id,E=new Date(a),M=new Date(n);if(m)calendarPage.bookings.push({Id:C,ScheduleGroupId:r,CompanyId:calendarPage.calendar.CompanyId,UserId:s,Year:E.getYear(),DayOfYear:E.getDate(),StartTime:E,Length:o,NbPlaces:i,Title:d,ServiceId:l,TicketId:h,ticketName:f,SeatId:p,seatName:v,Comment:c,Notes:u,Status:g,Registration:D,ItemId:e.itemId,ParentId:calendarPage.parentId});else if(S){var w=T.ScheduleGroupId;T.UserId=s,T.Year=E.getYear(),T.DayOfYear=E.getDate(),T.StartTime=E,T.Length=o,T.NbPlaces=i,T.ScheduleGroupId=r,T.ServiceId=l,T.Title=d,T.Comment=c,T.Notes=u,T.Status=g,T.Registration=D,T.ItemId=e.itemId,T.TicketId=h,T.TicketName=f,T.SeatId=p,T.SeatName=v,r!=calendarPage.emptyGuid&&w!=r&&transferEventToAnotherGroup(w,r,t)}else I&&(T.Year=E.getYear(),T.DayOfYear=E.getDate(),T.StartTime=E,T.Length=o,D=T.Registration);P&&updateCalendarEvent(getEventData(),C,t,E,M,d,l,i,"",h,f,g,k,m);if(D){var G,F=null,R=!1;if(null!=(G=getScheduleById(t.scheduleId))){var O;if(O=getScheduleForEventWithId(E,!0,!1,e.itemId)){O.Registered+=i;var x=getCalendarEventByscheduleAndId(r,e.itemId,t.scheduleId);if(x){var N=y?y.nbPlaces:0,B=!y||e.itemId==y.itemId&&getMinutesOfDay(E)==getMinutesOfDay(convertToDate(y.start))?i:0;R=!0,_.each(x,(function(e){e.available-=B-N}))}}if(y&&null!=(F=getScheduleForEventWithId(convertToDate(y.start),!0,!1,y.itemId))&&(F.Registered-=y.nbPlaces,e.itemId!=y.itemId||t.scheduleId!=F.Id)){var H=getCalendarEventByscheduleAndId(y.groupId,y.itemId,F.Id);H&&_.each(H,(function(e){e.available+=y.nbPlaces}))}if(e.itemId&&h){var A=_.find(calendarPage.calendar.Events,(function(t){return t.Id==e.itemId}));if(A){if(y&&y.ticketId){var q=_.find(A.Tickets,(function(e){return e.Id==y.ticketId}));q&&(q.Registered-=y.nbPlaces)}var W=_.find(A.Tickets,(function(e){return e.Id==h}));W&&(W.Registered+=i)}}calendarPage.expandBookings&&G&&G.ScheduleCourseId?setCourseList():calendarPage.expandBookings&&G&&G.ScheduleEventId&&setEventList()}R&&$("#calendar").weekCalendar("refresh")}}function updateCalendarEvent(e,t,a,n,r,s,o,i,l,d,c,u,g,h){var f;if(e||(e=getEventData()),a.id=t,a.start=new Date(n),a.end=new Date(r),a.title=s,a.body=l,a.status=u,a.createdBy=calendarPage.userId,a.places=i,a.userId=calendarPage.userId,h&&(a.parentId=calendarPage.parentId),o&&(f=getServiceById(o))&&f&&f.Color&&(a.color=f.Color),_.find(e.events,(function(e){return e.id==t}))&&removeFromGroup(calendarPage.selectedCalendarGroup,t),a.inList){if(t){var p=t,v=$("#registrationsContainer"),D=$(".templateItem[data-id='"+p+"']",v),m=calendarPage.getBookingUser({Title:s,NbPlaces:a.NbPlaces,ServiceId:a.ServiceId});if(c&&""!==c){var S;if(m+=" ("+c+") ",a.TicketId)if(S=$(".ticketsContainer div[data-id="+a.TicketId+"]",v)){var I=parseInt($(".ticketPlaces",S).text(),10);$(".ticketPlaces",S).text(I+a.NbPlaces)}if(S=$(".ticketsContainer div[data-id="+d+"]",v)){I=parseInt($(".ticketPlaces",S).text(),10);$(".ticketPlaces",S).text(I-i)}}if(void 0===g||null==g||!g){if(D.length>0)$(".titleR",D).text(m),$(".placesR",D).text(i),D.show();else{D=$(".templateItem:hidden",v).clone();$(".titleR",D).text(m),$(".placesR",D).text(i),$(".idR",D).val(t),D.attr("data-id",t),$(".container",v).append(D.show())}var P=parseInt($(".remainingPlaces",v).text(),10);$(".remainingPlaces",v).text(P-i)}}}else addToGroup(calendarPage.selectedCalendarGroup,a),calendarPage.calendarContent.weekCalendar("removeUnsavedEvents"),calendarPage.calendarContent.weekCalendar("updateEvent",a);(n.getHours()<calendarPage.firstHour||60*calendarPage.lastHour<getMinutesOfDay(r))&&setTimeout((function(){window.location.href=window.location.href}),2e3)}function gotoDate(e){var t=$("#calendar").weekCalendar("getCurrentFirstDay"),a=$("#calendar").weekCalendar("getCurrentLastDay");if(e<t)for(var n=$(".ui-widget-header .wc-prev",calendarPage.content);e<t;)n.click(),t=$("#calendar").weekCalendar("getCurrentFirstDay");else if(a<e)for(var r=$(".ui-widget-header .wc-next",calendarPage.content);a<e;)r.click(),a=$("#calendar").weekCalendar("getCurrentLastDay")}function setVisiblePictures(){if(calendarPage.hasGallery){var e=$("#pictureGallery");$("a",e).hide(),$("a[data-group='"+calendarPage.selectedCalendarGroup+"']",e).show(),$("a[data-group='"+calendarPage.emptyGuid+"']",e).show()}}function addHeaderItemsToWidget(e,t){var a=$(".ui-widget-header.wc-toolbar:first",e);if(calendarPage.calendar.Groups.length>0?(a.append(t.attr("class","headerCalendarSelection ui-corner-all hidden").show().outerHTML()),$("select option[value='"+calendarPage.selectedCalendarGroup+"']",a).attr("selected","selected"),$(".headerCalendarSelection",a).show()):a.append('<div class="emptyCalendarSelection">&nbsp;</div>'),0==$(".h-searchCalendar",a).length){var n=calendarPage.expandBookings||bookings.mobileRender?"":"button button_blue",r=calendarPage.expandBookings||bookings.mobileRender?"":"user-button";a.append('<label class=" h-searchCalendar customButton '+r+' ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left ui-corner-right " role="button" aria-disabled="false"><span class=" '+n+' ui-button-text">'+bookings.resources.Search+"</span></label>");var s=$(".calendarSearch",e).clone();a.after(s.attr("class","headerCalendarSearch hidden").outerHTML()),calendarPage.findVisible&&$(".headerCalendarSearch",calendarPage.content).show(),bookings.mobileRender&&!calendarPage.expandBookings&&$(".h-searchCalendar",calendarPage.content).css("left","0px"),$(".headerCalendarSearch .hasDatepicker",calendarPage.content).removeClass("hasDatepicker"),setDateAndTimePickers(calendarPage.timePickerOptions),setDayPickerEvents($(".headerCalendarSearch",calendarPage.content))}calendarPage.expandBookings||calendarPage.displayOnly||a.append('<label class=" h-newRequest customButton '+r+' rightButton ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left ui-corner-right " role="button" aria-disabled="false"><span class=" '+n+' ui-button-text">'+bookings.resources.Request+"</span></label>");var o=$(".wc-goto input",e);if(!o.hasClass("datepicker")){o.removeClass("hasDatepicker").addClass("datepicker");var i=null!=calendarPage.calendar.Settings.AdvanceDays?calendarPage.calendar.Settings.AdvanceDays:0,l={changeMonth:!0,changeYear:!0,hideIfNoPrevNext:!0,minDate:0,maxDate:"+"+Math.max(i,60)+"d",onSelect:function(e,t){var a=new Date(t.currentYear,t.currentMonth,t.currentDay,0,0,0,0);$("#calendar").weekCalendar("gotoDate",a)}};setDateAndTimePickers({},o.parent(),l)}var d=$(".ui-widget-content.wc-header:last",e);$(".ui-widget-header.wc-toolbar:last",e).insertAfter(d).show()}function setAvailabilityForRegistration(e,t,a){var n=t-a;t=calendarPage.expandBookings?n:Math.max(0,n);$(".availability",e).text(t)}function resetInfoForRegistrations(e,t){$(".singleCost",e).text(""),$(".sessionCost",e).text(""),$(".teacherName",e).text(""),$(".inscription",e).attr("checked",!1).attr("disabled",!1);var a=null,n=null;if(t&&t.inList)if($(".availability",e).text(""),calendarPage.hasClasses&&t){var r=null;if(null!=(r=getScheduleForEvent(t.start,!0))&&null!=(a=getCourseForSchedule(r.ScheduleCourseId))){if($(".singleCost",e).text(null!=a.CostSingle?"$"+a.CostSingle:""),$(".sessionCost",e).text(null!=a.CostSession?"$"+a.CostSession:""),loadScheduleForAvailability(e,t,a.NbPlaces,r,a.Id),$(".teacherName",e).text(r.Instructor),$(".teacherSection",e).toggle(null!==r.Instructor&&""!==a.Instructor),$(".registrationSection",e).toggle(0!=a.InscriptionType),$(".registrationSection",e).toggleClass("phantom",3==a.InscriptionType),0!=a.InscriptionType&&$(".inscription",e).attr("checked",!0),calendarPage.expandBookings||$(".inscription",e).attr("disabled",!0),!calendarPage.expandBookings||1!=a.InscriptionType&&2!=a.InscriptionType||$(".h-changeCourse",e).css("display","inline-block"),calendarPage.expandBookings&&a.Length){var s=Math.round(a.Length/60),o=a.Length%60;$(".nbHours",e).val(s),$(".nbMinutes",e).val(o),$(".nbHoursField",e).show();var i=new Date(t.start);i.setHours(i.getHours()+s),$(".eventEndTime",e).text(formatEventTime(i)),$(".endTimeSection",e).show()}}else $(".registrationSection",e).hide(),$(".teacherSection",e).hide()}else if(calendarPage.hasEvents&&t&&null!=(r=getScheduleForEvent(t.start,!0))&&null!=r.ScheduleEventId&&null!=(n=getEventForSchedule(r.ScheduleEventId)))loadScheduleForAvailability(e,t,n.NbPlaces,r,n.Id);else if(t&&null!=(r=getScheduleForEvent(t.start,!1,!0))&&null!=r.ScheduleRoomId&&null!=(room=getRoomForSchedule(r.ScheduleRoomId)))setAvailabilityForRegistration(e,room.Capacity,compileNbPlacesForTimeslot(t.start));else if(null==a&&null==n&&!calendarPage.offerService){var l=t?compileNbPlacesForTimeslot(t.start):0;setAvailabilityForRegistration(e,calendarPage.maxPlaces,l)}}function loadScheduleForAvailability(e,t,a,n,r){var s=convertToDate(n.StartTime),o=new Date(t.start);o.setHours(s.getHours()),o.setMinutes(s.getMinutes());var i=convertToDate(n.StartDate);i.setHours(s.getHours()),i.setMinutes(s.getMinutes()),setAvailabilityForRegistration(e,a,compileNbPlacesForTimeslot(o,n.ScheduleGroupId,r,i))}function resetInfoForRooms(e,t){$(".roomItem",e).hide();var a=null;if(calendarPage.hasRooms&&t&&!t.inList){var n;if($(".endTimeSection",e).show(),$(".registrationSection",e).hide(),$(".nbHoursField",e).show(),$(".availability",e).text(""),null!=(n=getScheduleForEvent(t.start,!1,!0))&&null!=(a=getRoomForSchedule(n.ScheduleRoomId))){var r=a.CostDay>0,s=r&&!1;t.scheduleId=n.Id,$(".fullDayField",e).toggle(r&&!a.MultiDay),$(".nbDaysField",e).toggle(a.MultiDay),$(".nbHoursField",e).toggle(!0).attr("data-date",t.start),$(".fullDay",e).toggle(r).prop("checked",s),$(".availability",e).text(a.Capacity),setBookingTimeForRoom(n,t.start,e,s?24:1,t.end)}}return a}function setBookingTimeForRoom(e,t,a,n,r){var s=e;if(t&&r&&(n=parseInt((r-t)/36e5,10)),null!=s||null!=(s=getScheduleForEvent(t,!1,!0))){var o=convertToDate(t);if($(".nbHours",a).val(n),n>=24){$(".eventStartTime",a).val(formatEventTime(o)),$(".eventEndTime",a).text(formatEventTime(convertToDate(s.EndTime)));var i=r?Math.round((r-o)/864e5):1;$(".nbDays",a).is(":visible")&&$(".nbDays",a).val(i).trigger("keyup")}else $(".nbHours",a).trigger("keyup")}}function getMinutesOfDay(e){return 60*e.getHours()+e.getMinutes()}function getHoursFromDayMinutes(e){return parseInt(e/60,10)}function getMinutesFromDayMinutes(e){return e%60}function sameDate(e,t){return e.getDate()==t.getDate()&&e.getMonth()==t.getMonth()&&e.getYear()==t.getYear()}function followingDate(e,t){return e.getYear()<t.getYear()||e.getMonth()<t.getMonth()||e.getDate()<t.getDate()&&e.getMonth()<=t.getMonth()&&e.getYear()<=t.getYear()}function smallerOrEqualDate(e,t){return e.getYear()<t.getYear()||e.getMonth()<t.getMonth()&&e.getYear()<=t.getYear()||e.getDate()<=t.getDate()&&e.getMonth()<=t.getMonth()&&e.getYear()<=t.getYear()}function getMinDateForToday(e){var t=new Date;return e<t&&e.getDate()!=t.getDate()&&(e=new Date(t.getFullYear(),t.getMonth(),t.getDate(),e.getHours(),e.getMinutes(),0)),e}function convertToDateOld(e){var t=(e=e.toString()).indexOf("T"),a=new Date(e);return-1==e.indexOf("+",t)&&-1==e.indexOf("-",t)&&(e="Z"!=e.charAt(e.length-1)?e+"Z":e,a=new Date(e)),a}function convertToDate(e){var t=e,a=(e=e.toString()).indexOf("T"),n=bookings.userOffset;new Date(e).dst()!=bookings.inDST&&(n=bookings.dstOffset),-1==e.indexOf("+",a)&&-1==e.indexOf("-",a)?e="Z"!=e.charAt(e.length-1)?e+"Z":e:-1!=e.indexOf("+",a)?e=e.substring(0,e.indexOf("+",a))+n:-1!=e.indexOf("-",a)&&(e=e.substring(0,e.indexOf("-",a))+n);var r=new Date(e);return bookings.isValidDate(r)||(r=extractDate(t)),r}function convertStringToJsDate(e){var t=e.split("/"),a=t.length>5?t[5]:0;return new Date(t[0],parseInt(t[1],10)-1,t[2],t[3],t[4],a)}function hasDay(e,t){return Math.pow(2,0==e?6:e-1)&t}function getFirstDay(e){for(var t="",a=new Date,n=0;n<7;){var r=a.getDay(),s=0==r?6:r-1;Math.pow(2,s)&e?(n=8,t=$.datepicker.formatDate("DD",a)):(a.setDate(a.getDate()+1),n++)}return t}function useGroupId(e){return null!=e?e.Id:calendarPage.emptyGuid}function getGroup(e){return _.find(calendarPage.calendar.Groups,(function(t){return t.Id==e}))}function getGroupName(e){var t=getGroup(e);return t?t.Name:null}function firstGroup(){var e=null;return!calendarPage.displayOnly&&calendarPage.expandBookings||(e=_.find(calendarPage.calendar.Groups,(function(e){return!e.Private}))),null!=e?e:_.first(calendarPage.calendar.Groups)}function getGroupData(e){return _.find(calendarPage.groupData,(function(t){return t.Id==e}))}function clearGroupData(e){calendarPage.groupData=_.reject(calendarPage.groupData,(function(t){return t.Id==e}))}function removeFromGroup(e,t){var a=getGroupData(e);a&&(a.events=_.reject(a.events,(function(e){return e.id==t})))}function addToGroup(e,t){var a=getGroupData(e);a&&a.events.push(t)}function getCalendarEventByscheduleAndId(e,t,a,n){var r=getGroupData(e),s=null;return r&&(s=_.filter(r.events,(function(e){return(e.eventId==t||e.courseId==t)&&e.scheduleId==a}))),s}function transferEventToAnotherGroup(e,t,a){removeFromGroup(e,a.id),addToGroup(t,a)}function freeDayAlreadyAdded(e,t,a,n){return _.find(t,(function(t){return t.itemId==e&&areEqualDates(a,t.start)&&daysOverlap(t.start,t.end,a,n)}))}function daysOverlap(e,t,a,n){return e==a||(e<a?a<t:e<n)}function getEvent(e){return _.find(calendarPage.bookings,(function(t){return t.Id==e}))}function deleteEvent(e){if(calendarPage.calendarContent.weekCalendar("removeEvent",e),calendarPage.bookings=_.reject(calendarPage.bookings,(function(t){return t.Id==e})),calendarPage.groupData){var t=calendarPage.selectedCalendarGroup==calendarPage.emptyGuid?calendarPage.groupData[0]:_.find(calendarPage.groupData,(function(e){return e.Id==calendarPage.selectedCalendarGroup}));t&&t.events&&(t.events=_.reject(t.events,(function(t){return t.id==e})))}var a=$("#registrationsContainer .templateItem[data-id='"+e+"']");if(a.length>0){var n=parseInt($(".placesR",a).text(),10);a.remove();var r=parseInt($("#registrationsContainer .remainingPlaces").text(),10);$("#registrationsContainer .remainingPlaces").text(r+n)}}function compareDates(e,t){return e.start.getTime()<t.start.getTime()?-1:1}function setStartTimeForSchedule(e,t,a){if(t&&a){e=new Date(convertToDate(t.StartDate));var n=convertToDate(t.StartTime);e.setHours(n.getHours()),e.setMinutes(n.getMinutes())}return e}function getScheduleForEvent(e,t,a,n){var r=e.getTime(),s=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),o=getMinutesOfDay(e);return _.find(calendarPage.calendar.Schedules,(function(n){return(t||n.ScheduleGroupId==calendarPage.emptyGuid||null==n.ScheduleGroupId||n.ScheduleGroupId==calendarPage.selectedCalendarGroup)&&(!t||n.ScheduleEventId||n.ScheduleCourseId)&&(!a||n.ScheduleRoomId)&&hasDay(e.getDay(),n.DaysOfWeek)>0&&getMinutesOfDay(convertToDate(n.StartTime))<=o&&o<getMinutesOfDay(convertToDate(n.EndTime))&&convertToDate(n.StartDate).getTime()<=r&&(null==n.EndDate||r<convertToDate(n.EndDate).getTime()||s==convertToDate(n.EndDate).getTime())}))}function getScheduleForEventWithId(e,t,a,n){var r=e.getTime(),s=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),o=getMinutesOfDay(e);return _.find(calendarPage.calendar.Schedules,(function(e){return(e.ScheduleGroupId==calendarPage.emptyGuid||null==e.ScheduleGroupId||e.ScheduleGroupId==calendarPage.selectedCalendarGroup)&&(!t||e.ScheduleEventId==n||e.ScheduleCourseId==n)&&(!a||e.ScheduleRoomId==n)&&getMinutesOfDay(convertToDate(e.StartTime))<=o&&o<getMinutesOfDay(convertToDate(e.EndTime))&&convertToDate(e.StartDate).getTime()<=r&&(null==e.EndDate||r<convertToDate(e.EndDate).getTime()||s==convertToDate(e.EndDate).getTime())}))}function hasScheduleWithTimeForItem(e,t,a){var n=getMinutesOfDay(e),r=getMinutesOfDay(t),s=_.filter(calendarPage.calendar.Schedules,(function(s){return(s.ScheduleCourseId==a||s.ScheduleEventId==a)&&e<convertToDate(s.EndDate)&&convertToDate(s.StartDate)<t&&n<=getMinutesOfDay(convertToDate(s.StartTime))&&getMinutesOfDay(convertToDate(s.EndTime))<=r})),o=0,i=getCourseForSchedule(a);if(i)o=i.NbPlaces;else{var l=getEventForSchedule(a);l&&(o=l.NbPlaces)}return _.size(s)>0&&o>_.first(s).Registered+compileNbPlacesForTimeslot(e,calendarPage.selectedCalendarGroup,a)}function getRoomFromBooking(e){var t=_.find(calendarPage.calendar.Schedules,(function(t){return(t.ScheduleGroupId==e||null==t.ScheduleGroupId&&e==calendarPage.emptyGuid)&&!t.ScheduleCourseId&&!t.ScheduleEventId&&t.ScheduleRoomId&&!t.EndDate}));return t?getRoomForSchedule(t.ScheduleRoomId):null}function getScheduleForBooking(e){var t=getMinutesOfDay(convertToDate(e.StartTime));return _.find(calendarPage.calendar.Schedules,(function(a){return(a.ScheduleGroupId==e.ScheduleGroupId||null==a.ScheduleGroupId&&e.ScheduleGroupId==calendarPage.emptyGuid)&&getMinutesOfDay(convertToDate(a.StartTime))<=t&&t<=getMinutesOfDay(convertToDate(a.EndTime))}))}function getRegistrationBookings(e,t,a){var n=t.getTime();return _.filter(calendarPage.bookings,(function(t){return t.ItemId==e&&(t.Registration&&convertToDate(t.StartTime).getTime()==n||!t.Registration&&areEqualDateTimes(convertToDate(t.StartTime),a))}))}function getCourseForSchedule(e){return _.find(calendarPage.calendar.Courses,(function(t){return t.Id==e}))}function getRoomForSchedule(e){return _.find(calendarPage.calendar.Rooms,(function(t){return t.Id==e}))}function getEventForSchedule(e){return _.find(calendarPage.calendar.Events,(function(t){return t.Id==e}))}function getScheduleById(e){return _.find(calendarPage.calendar.Schedules,(function(t){return t.Id==e}))}function getServiceById(e){return _.find(calendarPage.calendar.Services,(function(t){return t.Id==e}))}function getItemSchedule(e){var t=new Date;return _.find(calendarPage.calendar.Schedules,(function(a){return a.ScheduleGroupId!=calendarPage.emptyGuid&&null!=a.ScheduleGroupId&&!a.Off&&(a.ScheduleEventId==e||a.ScheduleCourseId==e||a.ScheduleRoomId==e)&&t<=convertToDate(a.StartDate)}))}function getItemCustomQuestion(e,t){var a="",n=e||t,r=_.filter(calendarPage.calendar.Questions,(function(e){return e.ForItem==n}));return _.each(r,(function(e){a+=e.Name+(e.Code?" ("+e.Code+")":"")+" : \n"})),a}function getUniqueCourses(){var e=new Date,t=($.datepicker.setDefaults($.datepicker.regional[bookings.culture]),(new Date).setDate(e.getDate()+Math.max(10,calendarPage.calendar.Settings.AdvanceDays))),a=_.filter(calendarPage.calendar.Schedules,(function(a){return null!=a.ScheduleCourseId&&e<convertToDate(a.EndDate)&&convertToDate(a.StartDate)<t&&_.find(calendarPage.calendar.Courses,(function(e){return e.Id==a.ScheduleCourseId&&0!=e.InscriptionType}))}));return _.sortBy(_.uniq(_.map(a,(function(e){return{label:e.ScheduleCourseName,value:e.ScheduleCourseId}})),(function(e){return e.label})),(function(e){return e.label}))}function getApplications(){var e=new Date;e.setDate(e.getDate()-60);var t=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),a=(new Date).setDate(e.getDate()+Math.max(10,calendarPage.calendar.Settings.AdvanceDays)),n=_.filter(calendarPage.calendar.Schedules,(function(t){return null!=t.ScheduleCourseId&&e<convertToDate(t.EndDate)&&convertToDate(t.StartDate)<a&&_.find(calendarPage.calendar.Courses,(function(e){return e.Id==t.ScheduleCourseId&&3==e.InscriptionType}))})),r=1==_.size(_.uniq(n,(function(e){return e.ScheduleGroupName}))),s=1==_.size(_.uniq(n,(function(e){return convertToDate(e.StartDate).getDOY()})));return _.sortBy(_.map(n,(function(e){var a=_.find(calendarPage.calendar.Courses,(function(t){return t.Id==e.ScheduleCourseId})),n=convertToDate(e.StartTime),o=convertToDate(e.EndTime),i=convertToDate(e.StartDate),l=convertToDate(e.EndDate),d=t.formatDate("DD dd MM ",i)+" - "+t.formatDate("DD dd MM ",l)+" ("+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")";i=new Date(i.getFullYear(),i.getMonth(),i.getDate(),n.getHours(),n.getMinutes()),l=new Date(i.getFullYear(),i.getMonth(),i.getDate(),o.getHours(),o.getMinutes());var c=e.Registered,u=a.NbPlaces-c,g=a.Name;return r||(g+=" - "+e.ScheduleGroupName),g+=" (",g+=s?getFirstDay(e.DaysOfWeek):t.formatDate("MM dd",i),{label:g+=" - "+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")",value:a.Id,scheduleId:e.Id,start:i,end:l,groupId:e.ScheduleGroupId,cost:a.CostSingle,days:d,places:a.NbPlaces,remaining:u,registered:c,teacher:e.Instructor,substitute:e.Substitute,regType:a.InscriptionType}})),(function(e){return e.label}))}function getRegistrationCourses(){var e=new Date;e.setDate(e.getDate()-30);var t=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),a=(new Date).setDate(e.getDate()+Math.max(10,calendarPage.calendar.Settings.AdvanceDays)),n="true"==$("#isInstructor").val(),r=_.filter(calendarPage.calendar.Schedules,(function(t){return null!=t.ScheduleCourseId&&(!n||t.InstructorId==calendarPage.userId||t.SubstituteId==calendarPage.userId)&&e<convertToDate(t.EndDate)&&convertToDate(t.StartDate)<a&&_.find(calendarPage.calendar.Courses,(function(e){return e.Id==t.ScheduleCourseId&&0!=e.InscriptionType&&3!=e.InscriptionType}))})),s=1==_.size(_.uniq(r,(function(e){return e.ScheduleGroupName}))),o=1==_.size(_.uniq(r,(function(e){return convertToDate(e.StartDate).getDOY()})));return _.sortBy(_.map(r,(function(e){var a=_.find(calendarPage.calendar.Courses,(function(t){return t.Id==e.ScheduleCourseId})),n=convertToDate(e.StartTime),r=convertToDate(e.EndTime),i=convertToDate(e.StartDate),l=convertToDate(e.EndDate),d=t.formatDate("DD dd MM ",i)+" - "+t.formatDate("DD dd MM ",l)+" ("+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")";i=new Date(i.getFullYear(),i.getMonth(),i.getDate(),n.getHours(),n.getMinutes()),l=new Date(i.getFullYear(),i.getMonth(),i.getDate(),r.getHours(),r.getMinutes());var c=e.Registered,u=a.NbPlaces-c,g=a.Name;return s||(g+=" - "+e.ScheduleGroupName),g+=" (",g+=o?getFirstDay(e.DaysOfWeek):t.formatDate("MM dd",i),{label:g+=" - "+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")",value:a.Id,scheduleId:e.Id,start:i,end:l,groupId:e.ScheduleGroupId,cost:a.CostSession,days:d,places:a.NbPlaces,remaining:u,registered:c,teacher:e.Instructor,substitute:e.Substitute}})),(function(e){return e.label}))}function getRegistrationEvents(){var e=new Date;e.setDate(e.getDate()-14);var t=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),a=_.filter(calendarPage.calendar.Schedules,(function(t){return null!=t.ScheduleEventId&&(e<convertToDate(t.StartDate)||e<convertToDate(t.EndDate))&&_.find(calendarPage.calendar.Events,(function(e){return e.Id==t.ScheduleEventId}))}));return _.sortBy(_.map(a,(function(e){var a=_.find(calendarPage.calendar.Events,(function(t){return t.Id==e.ScheduleEventId})),n=convertToDate(e.StartTime),r=convertToDate(e.EndTime),s=convertToDate(e.StartDate),o=convertToDate(e.EndDate),i=t.formatDate("DD dd MM ",s)+" ("+pad(n.getHours(),2)+":"+pad(n.getMinutes(),2)+")";s=new Date(s.getFullYear(),s.getMonth(),s.getDate(),n.getHours(),n.getMinutes()),o=new Date(s.getFullYear(),s.getMonth(),s.getDate(),r.getHours(),r.getMinutes());var l=e.Registered,d=a.NbPlaces-l;return{label:a.Name,value:a.Id,scheduleId:e.Id,start:s,end:o,groupId:e.ScheduleGroupId,date:i,places:a.NbPlaces,remaining:d,registered:l}})),(function(e){return e.label}))}
var datatable={handleError:function(t){$.fn.dataTable.ext.errMode="none",t.on("error.dt",(function(e,a,n,s){var l=t.closest(".boxContent");addErrorMessage(l,"Your session has expired. Please login again to complete this action")})).DataTable()},bindDatatableSearch:function(t,e,a){$(".dataTables_filter input",e).unbind(),$(e).on("keypress",".dataTables_filter input",(function(e){if(13==e.keyCode){var a=$(this).val();t.search(a).draw()}return 13!=e.keyCode})),$(e).on("keypress",".dataTables_wrapper table thead tr.filterRow input",(function(e){return 13!=e.keyCode&&void 0!==e.keyCode||(t.column(parseInt($(this).attr("rel"),10)).search($(this).val()),t.draw()),13!=e.keyCode})),$(".dataTables_filter",e).append($("<span />",{class:"h-filterButton filter-button small-icons-25 loop"})),$("div.dataTables_wrapper",e).append('<div class="h-refreshButton refresh-button fa fa-menu-icon fa-sync"></div>'),$(e).on("click",".h-refreshButton",(function(e){$(this).addClass("fa-spin"),t.draw()})),a&&($(".dataTables_filter",e).append($("<span />",{class:"filterButton small-icons-25 filter"})),datatable.setFilterEvent(e)),$(".h-filterButton",e).click((function(){var a=$(".dataTables_filter input[type='search']",e),n=a.val();a.is(":visible")?t.search(n).draw():($('.filterRow:first input[type="text"],.filterRow:first select',e).each((function(){t.column(parseInt($(this).attr("rel"),10)).search($(this).val())})),t.draw())})),$(".filterRow:first select",e).change((function(){$(".h-filterButton",e).click()}))},setFilterEvent:function(t){$(".filterButton",t).click((function(){var e=$(".dataTable",t),a=e.DataTable();$("thead tr.filterRow",e).is(":visible")?a.columns().search(""):($(".dataTables_filter label input").attr("value",""),a.search("")),$(".dataTables_filter label").toggle(),$("thead tr.filterRow",e).toggle(),$("thead tr.filterRow input",e).val(""),a.draw(),setDateAndTimePickers(null,$(".filterRow",t),{changeYear:!0,changeMonth:!0,onSelect:function(t){$(this).trigger("keypress")}})}))},setColumnPickerEvent:function(){$(document).on("click",".columnPickerButton",(function(){var t=$(this).next(".columnPicker");if(t.not(":visible")){var e=$(this).position(),a=bookings.mobileRender?e.left-360:e.left+$(this).width()-400;t.css("width","400px").css("left",a).css("top","65px"),t.toggle("slow").css("display","flex")}}))},setDataTableColumnFilters:function(t,e){var a=$("thead",t);$(".filterRow",a).remove();var n=$("tfoot tr",t).clone();a.prepend(n.css("display","none").outerHTML()),$("thead tr.filterRow input",t).each((function(){var t=$(this);""==t.val()&&t.hasClass("search_init")&&$(this).addClass("phantom"),t.attr("placeholder",t.val()).attr("value","")}))},getVisibleColumns:function(t,e){var a=$("#"+t).DataTable(),n=[];return a.columns().eq(0).each((function(t){a.column(t).visible()&&n.push(e[t].data)})),n},getRangeColumns:function(t,e,a){var n=[];return _.each(a,(function(a){var s=e[a].name;n.push({name:s,min:$("#"+t+"_range_from_"+a).val(),max:$("#"+t+"_range_to_"+a).val()})})),n},getColumnPickerValue:function(t,e){var a=$.cookie(t);return null!=a?parseFloat(a):e},setColumnPicker:function(t,e,a,n,s){var l=!0,i=$("#"+e+"_wrapper .dataTables_filter",bookings.container),o=$(".columnContainer").clone();i.append(o.addClass("active").css("display","inline-block").outerHTML()),o=$(".columnContainer.active"),$("input",o).on("click",(function(n){if(!l){$(this).closest("ul");var s=t,i=$(this).attr("data-column"),o=s.column(i);if(o.visible(!o.visible()),!l){var r=datatable.calculateColumnPickerValue(),c=new Date;c.setFullYear(c.getFullYear()+10),$.cookie(a,r,{expires:c})}$("#"+e+" th.hidden, #"+e+" td.hidden").removeClass("hidden"),datatable.setDataTableColumnFilters($("#"+e))}})),datatable.setColumnsFromInit($.cookie(a),datatable.getColumnPickerValue(a,n),$(".columnPicker",o),o,s),datatable.setColumnPickerEvent(),l=!1},calculateColumnPickerValue:function(){var t=0;return $(".columnContainer.active input:checked").each((function(){t+=parseFloat($(this).val())})),t},setColumnsFromInit:function(t,e,a,n,s){var l=1;do{(Boolean((l&e)>0)||null==t&&$("input[value='"+l+"']",a).hasClass("default"))&&$("input[value='"+l+"']",a).trigger("click"),l*=2}while(l<=s)},setDataTableToolbar:function(t,e){var a=$(".dataTables_length",t.closest(".dataTables_wrapper"));a.addClass("toolbar");var n="ui-button ui-widget ui-state-default ui-button-text-only",s="<div class='wc-nav ui-buttonset filterSet'><button data-val='0' class='v-allClients ui-corner-left ui-state-focus "+n+"'><span class='ui-button-text'>"+bookings.resources.All+"</span><button data-val='1' class='v-individualClients "+n+"'><span class='ui-button-text'>"+bookings.resources.PrimaryContacts+"</span><button data-val='2' class='v-organizationClients ui-corner-right "+n+"'><span class='ui-button-text'>"+bookings.resources.Organizations+"</span></div>";a.append(s)},setDataTableSearchToolbar:function(t,e){var a=$("#clients_filter .columnContainer");a.addClass("toolbar");var n="ui-button ui-widget ui-state-default ui-button-text-only",s="<div class='wc-nav ui-buttonset searchSet'><button data-val='0' class='v-clientSearch ui-corner-left ui-state-focus "+n+"'><span class='ui-button-text'>"+bookings.resources.ClientLabel+"</span><button data-val='1' class='v-noteSearch "+n+"'><span class='ui-button-text'>"+bookings.resources.Notes+"</span><button data-val='2' class='v-formSearch ui-corner-right "+n+"'><span class='ui-button-text'>"+bookings.resources.Forms+"</span></div>";a.prepend(s)},setContextMenu:function(t,e){var a=t;if(e&&e.length>0){a+='<div class="headerPicker userMenu"><span class="small-icons down-arrow-blue select"></span><ul class="headerList accountItems hidden">';for(var n=0;n<e.length;n++){var s=e[n].attributes?e[n].attributes:"";a+="<li class='"+e[n].cssClass+"' "+s+">"+e[n].title+"</li>"}a+="</ul></div>"}return a}};
var displayPage={groupData:[],datepicker:null,freeGroups:null,bookingEvents:[],calendarType:0,layoutType:0,writeInCells:!1,showNbMonths:4,noAvailabilityMsg:"",noEntryMessage:$("#noBookingMessage").val(),entryMessage:$("#bookingMessage").val(),companyId:$("#companyId").val(),itemId:$("#itemId").val(),groupId:$("#editId").val(),isEvents:!1,isCourses:!1,oneDayBookings:!1,showStatus:!0,maxDisplay:20,cancellations:[],extraPadding:0,hideProducts:"true",singleItem:"false",productDisplay:"1",resize:!0,initDisplayCalendarFn:null,disableRegistrations:!1,externalRegistrations:!1,nbMonthlyEvents:0,initDate:null,showAllCalendar:!1,fullNames:!1,restrictedCalendars:[],groupDisplay:!0,prevItemDay:null,initialized:!1,initBookingEvents:function(e,a){if(null!=displayPage.freeGroups&&0!=displayPage.freeGroups.length||(displayPage.isEvents=2==displayPage.calendarType||5==displayPage.calendarType,displayPage.isCourses=1==displayPage.calendarType||5==displayPage.calendarType,displayPage.freeGroups=_.filter(calendarPage.calendar.Schedules,(function(e){return!e.Off&&(127==e.DaysOfWeek&&getMinutesOfDay(convertToDate(e.EndTime))-getMinutesOfDay(convertToDate(e.StartTime))>1430||e.ScheduleEventId||e.ScheduleCourseId)&&(displayPage.isEvents&&e.ScheduleEventId||displayPage.isCourses&&e.ScheduleCourseId)})),displayPage.isEvents||0==displayPage.calendarType&&_.every(calendarPage.calendar.Schedules,(function(e){return e.ScheduleEventId}))?(displayPage.noEntryMessage=$("#noEventsMessage").val(),displayPage.entryMessage=$("#eventsMessage").val(),displayPage.noAvailabilityMsg=$("#noEventsAvailable").val(),displayPage.isEvents=!0):(displayPage.isCourses||0==displayPage.calendarType&&_.every(calendarPage.calendar.Schedules,(function(e){return e.ScheduleCourseId})))&&(displayPage.noEntryMessage=$("#noCoursesMessage").val(),displayPage.entryMessage=$("#coursesMessage").val(),displayPage.noAvailabilityMsg=$("#noCoursesAvailable").val(),displayPage.isCourses=!0)),_.size(displayPage.freeGroups)>0){var t,s,n=_.pluck(displayPage.freeGroups,"ScheduleGroupId");displayPage.bookingEvents=_.filter(calendarPage.calendar.Schedules,(function(i){return(i.Off||0==displayPage.calendarType||displayPage.isEvents&&i.ScheduleEventId&&(t=getEventForSchedule(i.ScheduleEventId))&&1!=t.Active||displayPage.isCourses&&i.ScheduleCourseId&&(s=getCourseForSchedule(i.ScheduleCourseId))&&1!=s.Active)&&_.contains(n,i.ScheduleGroupId)&&(convertToDate(i.StartDate)<=e&&(null==i.EndDate||e<=convertToDate(i.EndDate))||e<convertToDate(i.StartDate)&&convertToDate(i.StartDate)<=a)})),_.size(displayPage.bookingEvents)>0&&_.each(displayPage.bookingEvents,(function(e){displayPage.isEvents&&e.ScheduleEventName?e.Name=e.ScheduleEventName:displayPage.isCourses&&e.ScheduleCourseName&&(e.Name=e.ScheduleCourseName),e.ScheduleGroupId&&-1==e.Name.indexOf(e.ScheduleGroupName)&&(e.Name+=" - "+e.ScheduleGroupName),e.EndDateFormat=e.EndDate?convertToDate(e.EndDate):new Date}))}else displayPage.freeGroups=_.filter(calendarPage.calendar.Schedules,(function(e){return!e.Off&&(e.DaysOfWeek>0&&getMinutesOfDay(convertToDate(e.EndTime))-getMinutesOfDay(convertToDate(e.StartTime))>60||e.ScheduleEventId)&&(0==displayPage.calendarType||!displayPage.isEvents||e.ScheduleEventId)&&(0==displayPage.calendarType||!displayPage.isCourses||e.ScheduleCourseId)}))},getSubGroupIds:function(e){var a=[];return(displayPage.isEvents||e)&&(a=_.pluck(_.filter(calendarPage.calendar.Events,(function(e){return 1!=e.Active})),"Id")),(displayPage.isCourses||e)&&(a=a.concat(_.pluck(_.filter(calendarPage.calendar.Courses,(function(e){return 1!=e.Active})),"Id"))),0==a.length?null:a},getAllMonthlyEvents:function(e,a,t){var s="All"==calendarPage.selectedCalendarGroup,n=!1,i=$("#bookingBox");$(".bookings",i).html(""),a.setHours(0),a.setMinutes(0);var r=[],l=[];displayPage.nbMonthlyEvents=0,displayPage.prevItemDay=null;do{if(r=s?calendarPage.allGroupBookingsForDay(e,displayPage.bookingEvents,t):calendarPage.getBookingsForDay(e,displayPage.groupData),(r=displayPage.cleanupBookings(r)).length>0){var d=$.datepicker.formatDate("dd",e),o=$.datepicker.formatDate("mm-dd",e);$(".bookings",i).append("<div id='day"+o+"' class='dayContainer'><div class='items'></div></div>");var g=$("#day"+o+" .items",i),p=displayPage.displayItems(r,g,d,l);if(displayPage.nbMonthlyEvents+=p,!n&&4!=displayPage.layoutType){n=!0;var c=displayPage.entryMessage.replace("{0}",$.datepicker.formatDate("MM",e));$(".title",i).text(c)}}e.setDate(e.getDate()+1)}while(e<a&&displayPage.nbMonthlyEvents<=displayPage.maxDisplay);0==displayPage.nbMonthlyEvents&&3==displayPage.layoutType&&$(".bookings",i).append("<div class='dayContainer'><div class='items'>"+displayPage.noAvailabilityMsg+"</div></div>"),displayPage.resizeContainer()},cleanupBookings:function(e){if(e.length>0){var a=new Date;a.setHours(a.getHours()-2),e=_.filter(e,(function(e){return e.start>a})),e=displayPage.isEvents&&displayPage.isCourses?_.filter(e,(function(e){return(e.eventId||e.EventId||e.courseId||e.CourseId)&&!e.Off&&(!e.status||9!=e.status)})):displayPage.isEvents?_.filter(e,(function(e){return(e.eventId||e.EventId)&&!e.Off&&(!e.status||9!=e.status)})):displayPage.isCourses?_.filter(e,(function(e){return(e.courseId||e.CourseId)&&!e.Off&&(!e.status||9!=e.status)})):3==displayPage.calendarType?_.filter(e,(function(e){return!(e.courseId||e.CourseId||e.eventId||e.EventId||e.Off||e.status&&9==e.status)})):_.filter(e,(function(e){return!(e.Off||e.status&&9==e.status)})),displayPage.itemId&&displayPage.itemId!=bookings.emptyGuid&&(e=_.filter(e,(function(e){return e.id==displayPage.itemId})))}return e},hasCancellation:function(e,a,t){return _.find(displayPage.cancellations,(function(s){return(s.ScheduleCourseId==e||s.ScheduleEventId==e)&&areEqualDates(convertToDate(s.StartDate),a)&&s.EndDate&&areEqualDates(convertToDate(s.EndDate),t)&&areEqualTimes(new Date(s.StartTime),a)&&areEqualTimes(new Date(s.EndTime),t)}))},getStatus:function(e,a){return displayPage.showStatus?"<span class='booked'>("+a+")</span>":""},getTarget:function(){return displayPage.externalRegistrations?"target='_blank'":""},getHref:function(){return displayPage.externalRegistrations?"href":"data-href"},getLayoutContent:function(e,a,t,s,n,i,r,l){return $("#layoutContainer").clone().html().replace("{weekday}",e).replace("{day}",a).replace("{date}",t).replace("{title}",s).replace("{description}",n).replace("{picture}",i).replace("{register}",r).replace("{id}",l)},displayItems:function(e,a,t,s){var n=$("#bookingBox"),i="All"==calendarPage.selectedCalendarGroup,r=(a=a||$(".bookings",n),""),l="",d="",o="",g="",p=0;displayPage.oneDayBookings=!1;var c=$.datepicker.formatDate("mm-dd",e[0].start);t?r="<span class='currentDay'>"+t+" -&nbsp;</span>":e.length>0&&(t=$.datepicker.formatDate("dd",e[0].start)),e=displayPage.cleanupBookings(e),e=_.sortBy(e,(function(e){return getMinutesOfDay(e.start?e.start:convertToDate(e.StartTime))}));var u=[];return _.each(e,(function(e){var c=!0;l="",o="",(i&&void 0===e.start||void 0===e.end)&&(e.start=convertToDate(e.StartTime),e.end=new Date(e.start.getTime()),e.end.setMinutes(e.start.getMinutes()+e.Length),l=e.Title,e.eventId=e.EventId,e.courseId=e.CourseId),void 0===e.eventId&&(e.eventId=e.EventId),void 0===e.courseId&&(e.courseId=e.CourseId),l||(-1==(l=e.title).indexOf(":")||e.courseId||e.eventId||(l=l.substring(0,l.indexOf(":"))),l=l.replace(/ - 1/,""));var y=e.start.getHours()+":"+e.start.getMinutes(),P=null,v=null,h="<span style='white-space: nowrap'>"+formatEventTime(e.start).toUpperCase()+" - "+formatEventTime(e.end).toUpperCase()+"</span>";d=l,l=r+"<span class='itemTitle' data-courseId='"+e.courseId+"' data-eventId='"+e.eventId+"' data-time='"+y+"'>"+l+"</span>: "+h;var f=new Date;f.setHours(f.getHours()-1);var D=(new Date).setDate(f.getDate()-1);D=new Date(D);var m=1,I=e.start.getMonth();if(displayPage.isCoursesOrEvents())if(e.eventId&&(P=getEventForSchedule(e.eventId)))o=P.Description,e.start>=D&&P.Description&&P.Description.length>3&&(l+="&nbsp;<a class='descriptionLink'>"+bookings.resources.Details+"</a><div class='descriptionContent hidden'>"+P.Description+"</div>"),displayPage.disableRegistrations||(e.start<f||2==P.Active?(g=displayPage.getStatus(l,bookings.resources.RegistrationClosed),l+=g,m=0):P.NbPlaces>e.Registered||e.available>0?(g="<a class='registerLink' "+displayPage.getTarget()+" "+displayPage.getHref()+"='/POS/Widget/"+displayPage.companyId+"?editId="+e.eventId+"&hideBookings=true&hideProducts="+displayPage.hideProducts+"&hideCourses=true&pDisplay="+displayPage.productDisplay+"&singleItem="+displayPage.singleItem+"&time="+e.start.getTime()+"' target='_blank'>"+bookings.resources.Register+"</a>",l+="&nbsp"+g):(g=displayPage.getStatus(l,bookings.resources.SoldOut),l+=g,m=2));else if(e.courseId&&(v=getCourseForSchedule(e.courseId))){if(o=v.Description,e.start>=D&&v.Description&&v.Description.length>3&&(l+="&nbsp;<a class='descriptionLink'>"+bookings.resources.Details+"</a><div class='descriptionContent hidden'>"+v.Description+"</div>"),1!=v.InscriptionType){var k=_.filter(calendarPage.bookings,(function(a){return a.ItemId==v.Id&&!e.Registration&&areEqualDateTimes(convertToDate(a.StartTime),e.start)}));e.Registered=_.reduce(k,(function(e,a){return e+Math.max(a.NbPlaces,1)}),0),e.available-=e.Registered}displayPage.disableRegistrations||(2!=v.Active&&displayPage.hasCancellation(e.courseId,e.start,e.end)?(g=displayPage.getStatus(l,bookings.resources.ClassCancelled),l+=g,m=0):2==v.Active||e.start<f?(g=displayPage.getStatus(l,bookings.resources.RegistrationClosed),l+=g,m=2):v.NbPlaces>e.Registered||e.available>0?(g="<a class='registerLink' "+displayPage.getTarget()+" "+displayPage.getHref()+"='/POS/Widget/"+displayPage.companyId+"?editId="+e.courseId+"&hideBookings=true&hideProducts="+displayPage.hideProducts+"&hideEvents=true&time="+e.start.getTime()+"' target='_blank'>"+bookings.resources.Register+"</a>",l+="&nbsp;"+g):(g=displayPage.getStatus(l,bookings.resources.SoldOut),l+=g,m=2))}var b=null;if(e.courseId&&s&&displayPage.groupDisplay)(b=_.find(s,(function(a){return a.Id==e.courseId&&a.Time==y&&a.Status==m})))?(c=!1,(C=$(".itemTitle[data-courseid='"+e.courseId+"'][data-time='"+y+"']",n).prev()).length>0?b.Month!=I?(b.Month=I,C.html(C.html()+", "+$.datepicker.formatDate("MM",e.start)+" "+t)):C.html(C.html()+", "+t):(s.push({Id:e.courseId,Time:y,Status:m,Month:I}),p++)):(s.push({Id:e.courseId,Time:y,Status:m,Month:I}),p++);else if(e.eventId&&s&&displayPage.groupDisplay){var C;if(b=_.find(s,(function(a){return a.Id==e.eventId&&a.Time==y&&a.Status==m})))if(c=!1,(C=$(".itemTitle[data-eventId='"+e.eventId+"']",n)).length>0){var M=(C=C.prev()).html();b.Month!=I?(b.Month=I,C.html(M+$.datepicker.formatDate("MM",e.start)+" - "+t+" -&nbsp;")):C.html(M+t+" -&nbsp;")}else s.push({Id:e.eventId,Time:y,Status:m,Month:I}),p++;else s.push({Id:e.eventId,Time:y,Status:m,Month:I}),p++}else p++;if(c){if(3==displayPage.layoutType){if(displayPage.prevItemDay&&displayPage.prevItemDay.getMonth()!=e.start.getMonth()){var S=displayPage.entryMessage.replace("{0}",$.datepicker.formatDate("MM",e.start));a.append('<div class="title">'+S+"</div>")}var T="";(G=_.find(calendarPage.calendar.Pictures,(function(a){return a.ScheduleGroupId==e.eventId||a.ScheduleGroupId==e.courseId})))&&(T="<div class='itemImage'><input type='image' src='"+G.ImageLink+"' alt='"+G.ImageName+"' /></div>");var E=e.eventId?e.eventId:e.courseId;dateDisplay=displayPage.datepicker.formatDate(bookings.bookingDateFormat,e.start)+" @ "+h,e.TimeZone&&(dateDisplay+=" / "+e.TimeZone);var w=displayPage.datepicker.formatDate("DD",e.start);if(o&&o.length>300){var B=bookings.smartSubstr(o,300);o="<div class='shortDescriptionContent'>"+B+" ... </div>&nbsp;<div class='descriptionContent hidden'>"+o+"</div><a class='fullDescriptionLink'>"+bookings.resources.Details+"</a>"}var x=displayPage.getLayoutContent(w,e.start.getDate(),dateDisplay,d,o,T,g,E);a.append(x+"<br/><br/>"),p++}else if(4==displayPage.layoutType){E=e.eventId?e.eventId:e.courseId;a.append('<div class="title" data-id='+E+">"+d+"</div>");var G;T="";(G=_.find(calendarPage.calendar.Pictures,(function(a){return a.ScheduleGroupId==e.eventId||a.ScheduleGroupId==e.courseId})))&&(T="<div class='itemImage'><input type='image' src='"+G.ImageLink+"' alt='"+G.ImageName+"' /></div>"),a.append(T);E=e.eventId?e.eventId:e.courseId;dateDisplay=displayPage.datepicker.formatDate(bookings.bookingDateFormat,e.start)+" @ "+h,e.TimeZone&&(dateDisplay+=" / "+e.TimeZone),a.append('<div class="title dateDisplay">'+dateDisplay+"</div>");w=displayPage.datepicker.formatDate("DD",e.start);if(o&&o.length>300){B=bookings.smartSubstr(o,300);o="<div class='shortDescriptionContent'>"+B+" ... </div>&nbsp;<div class='descriptionContent hidden'>"+o+"</div><a class='fullDescriptionLink'>"+bookings.resources.Details+"</a>"}a.append(o+"<br/><br/>"),a.append("<div class='registerContent'>"+g+"</div><br/><br/>"),a.append("<div class='itemSeparator'></div>"),p++}else if(displayPage.isCoursesOrEvents()||calendarPage.calendar.Settings.BookingsPublic)a.append(l+"<br/><br/>");else{if(getMinutesOfDay(e.start)==getMinutesOfDay(e.end)&&0==p)l=t+" -&nbsp;"+$("#bookedMessage").val(),displayPage.oneDayBookings=!0,_.contains(u,t)||u.push(t);else{var O=$.datepicker.formatDate("MM",e.start)+" "+t+", ";l=O+h+" - "+$("#bookedMessage").val()}displayPage.oneDayBookings||a.append(l+"<br/><br/>")}displayPage.prevItemDay=e.start}})),displayPage.oneDayBookings&&u.length>0&&a.append(u.toString()+" "+$("#bookedMessage").val()+"<br/>"),0==p?$("#day"+c+".dayContainer").remove():n.trigger("contentchanged"),p},resizeContainer:function(e){displayPage.resize&&(e=e||0,displayPage.extraPadding+=e,setTimeout((function(){var e=document.getElementById("displayBox").scrollHeight+Math.max(50,displayPage.extraPadding);window.parent.postMessage({calendarHeight:e},"*")}),350))},setInitBookings:function(e){firstDate=new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0);var a=3==displayPage.layoutType||4==displayPage.layoutType?displayPage.showNbMonths:1;lastDay=new Date(new Date(firstDate).setMonth(firstDate.getMonth()+a)),displayPage.initBookingEvents(firstDate,lastDay),groupItemIds=displayPage.getSubGroupIds(),displayPage.getAllMonthlyEvents(new Date(firstDate),new Date(lastDay),groupItemIds),displayPage.resizeContainer()},isCoursesOrEvents:function(){return 1==displayPage.calendarType||2==displayPage.calendarType||5==displayPage.calendarType},updateDatePickerCells:function(e,a){var t=a.getDate();setTimeout((function(){var a=$("td.day"+t);_.each(e,(function(e){var t="";e.eventId&&(evt=getEventForSchedule(e.eventId))?t=evt.Description:e.courseId&&(course=getCourseForSchedule(e.courseId))&&(t=course.Description);var s=formatEventTime(e.start).toUpperCase()+" - "+formatEventTime(e.end).toUpperCase(),n=t&&""!=t?t.replaceAll('"',"'"):e.title;$(a).append("<span class='innerItem' data-desc="+n+" title="+e.title+" style='z-index: 1000;'>"+e.title+": "+s+"</span>")}))}),100)},clearDisableCells:function(){setTimeout((function(){$("#displayCalendar .ui-state-disabled.free").removeClass("ui-state-disabled")}),80)}};function initDisplayPicker(){calendarPage.displayOnly=!0,calendarPage.expandBookings=!0,displayPage.calendarType=parseInt($("#calendarType",calendarPage.content).val(),10),displayPage.layoutType=parseInt($("#layoutType",calendarPage.content).val(),10),initCalendarPage(),displayPage.cancellations=_.filter(calendarPage.calendar.Schedules,(function(e){return e.Off&&(e.ScheduleEventId||e.ScheduleCourseId)})),displayPage.datepicker=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]);var e=window.location.href,a=getParameterByName("maxDisplay",e);a&&""!=a&&!isNaN(a)&&(console.log("Max:"+a),displayPage.maxDisplay=a);var t=getParameterByName("innerContent",e);t&&""!=t&&"true"==t&&(displayPage.writeInCells=!0);var s=null!=calendarPage.calendar.Settings.AdvanceDays?calendarPage.calendar.Settings.AdvanceDays:0,n=calendarPage.calendar.Settings.MinHoursBeforeBooking<=0||displayPage.isCoursesOrEvents()?0:Math.round(calendarPage.calendar.Settings.MinHoursBeforeBooking/12),i=null,r=displayPage.getSubGroupIds(),l=null,d=null,o=new Array(366);o.fill(0);var g={changeMonth:!0,changeYear:!0,hideIfNoPrevNext:!0,minDate:n,maxDate:"+"+s+"d",onChangeMonthYear:function(e,a){l=new Date(e,a-1,1,0,0,0,0),d=new Date(new Date(l).setMonth(l.getMonth()+1));var t=displayPage.entryMessage.replace("{0}",$.datepicker.formatDate("MM",l)),s=$("#bookingBox");$(".title",s).text(t),$(".bookings",s).html(""),displayPage.initBookingEvents(l,d),r=displayPage.getSubGroupIds(),displayPage.getAllMonthlyEvents(new Date(l),new Date(d),r)},beforeShowDay:function(e){null==r&&(r=displayPage.getSubGroupIds(),i=_.pluck(displayPage.freeGroups,"ScheduleGroupId"));var a="All"==calendarPage.selectedCalendarGroup?calendarPage.anyGroupHasBookingForDay(e,displayPage.bookingEvents,i,r):calendarPage.hasBookingForDay(e,displayPage.groupData,r),t=a?[!0,"booking"]:[!0,"free"];return!displayPage.groupData||displayPage.groupData.defaultFree||calendarPage.hasOpeningsForDay(e,displayPage.groupData)||(t=!1),o[e.getDOY()]=a?1:0,t},onSelect:function(e,a){var t=$("#bookingBox"),s=new Date(a.currentYear,a.currentMonth,a.currentDay,0,0,0,0),n=o[s.getDOY()];if($(".bookings",t).html(""),n){if(n){s=new Date(a.currentYear,a.currentMonth,a.currentDay,0,0,0,0);var i="All"==calendarPage.selectedCalendarGroup,l=displayPage.entryMessage.replace("{0}",$.datepicker.formatDate(bookings.dateFormat,s)),d=i?calendarPage.allGroupBookingsForDay(s,displayPage.bookingEvents,r):calendarPage.getBookingsForDay(s,displayPage.groupData);$(".title",t).text(l),displayPage.displayItems(d),!(0==displayPage.calendarType&&_.size(d)>0)||displayPage.oneDayBookings||"All"==calendarPage.selectedCalendarGroup||0!=displayPage.restrictedCalendars.length&&_.contains(displayPage.restrictedCalendars,calendarPage.selectedCalendarGroup)||$("#bookingBox .bookings").append("<a class='registerLink' data-href='/POS/Widget/"+displayPage.companyId+"?editId="+calendarPage.selectedCalendarGroup+"&hideEvents=true&hideProducts="+displayPage.hideProducts+"&hideCourses=true&time="+s.getTime()+"' target='_blank'>"+bookings.resources.BookNow+"</a>"),displayPage.resizeContainer()}}else{$(".title",t).html("");var g=displayPage.noEntryMessage;displayPage.isEvents||"All"==calendarPage.selectedCalendarGroup||0!=displayPage.restrictedCalendars.length&&_.contains(displayPage.restrictedCalendars,calendarPage.selectedCalendarGroup)||(g+="&nbsp;<a class='registerLink' data-href='/POS/Widget/"+displayPage.companyId+"?editId="+calendarPage.selectedCalendarGroup+"&hideEvents=true&hideProducts="+displayPage.hideProducts+"&hideCourses=true&time="+s.getTime()+"' target='_blank'>"+bookings.resources.BookNow+"</a>"),$(".title",t).append(g)}}};displayPage.writeInCells&&($("#bookingBox").hide(),$("#pickerBox").addClass("innerContent"),g.onChangeMonthYear=function(e,a,t){displayPage.clearDisableCells()},g.beforeShowDay=function(e){var a="All"==calendarPage.selectedCalendarGroup,t=displayPage.entryMessage.replace("{0}",$.datepicker.formatDate(bookings.dateFormat,e)),s=a?calendarPage.allGroupBookingsForDay(e,displayPage.bookingEvents,r):calendarPage.getBookingsForDay(e,displayPage.groupData);$(".title",bookingBox).text(t);var n=_.size(s)>0,i=[!1,"free day"+e.getDate()];return n&&displayPage.updateDatePickerCells(s,e),displayPage.resizeContainer(),i},g.onSelect=function(e,a){var t,s=parseInt(e.substring(3,5));$("td>a").each((function(e,a){parseInt($(a).html())!==s||(t=$(a).parent())})),console.log(t)}),calendarPage.calendar.Settings.WelcomeMessage&&jQuery.trim(calendarPage.calendar.Settings.WelcomeMessage).length>3&&$("#instructionsContent").html(calendarPage.calendar.Settings.WelcomeMessage).attr("style","margin: 10px 0px 20px 0px;"),displayPage.initDisplayCalendarFn&&displayPage.initDisplayCalendarFn();var p=$("#pickerBox");setGroupSelection(null,displayPage.groupId),displayPage.groupData=getGroupData(calendarPage.selectedCalendarGroup);var c=new Date;displayPage.initDate=c,displayPage.setInitBookings(c),0==_.size(_.filter(displayPage.bookingEvents,(function(e){return c<=e.EndDateFormat&&!e.Off})))&&0==displayPage.nbMonthlyEvents&&(c.setMonth(c.getMonth()+1),displayPage.setInitBookings(c),g.defaultDate="1m",displayPage.initDate=c),!bookings.mobileRender&&displayPage.fullNames&&(g.dayNamesMin=$.datepicker.regional[bookings.culture].dayNames),3==displayPage.layoutType||4==displayPage.layoutType?$("#displayBox").addClass("listLayout").addClass("lisType"+displayPage.layoutType):(setDateAndTimePickers({},p,g),displayPage.clearDisableCells()),p.on("change","#dataSourceGroups",(function(){if(calendarPage.selectedCalendarGroup=$(this).val(),displayPage.groupData=getGroupData(calendarPage.selectedCalendarGroup),void 0===displayPage.groupData&&"All"!=calendarPage.selectedCalendarGroup&&(setGroupData(calendarPage.selectedCalendarGroup),displayPage.groupData=getGroupData(calendarPage.selectedCalendarGroup)),$("#bookingBox .title").html(""),$("#bookingBox .bookings").html(""),$("#displayCalendar").datepicker("refresh"),r=displayPage.getSubGroupIds(),!l){var e=new Date;l=new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0),d=new Date(new Date(l).setMonth(l.getMonth()+1))}displayPage.getAllMonthlyEvents(new Date(l),new Date(d),r),displayPage.clearDisableCells()})),$(document).on("click","span.innerItem",(function(){var e=$(this),a=$("<div class='cellInnerContent'>").html(e.attr("data-desc"));bookings.openDisplayDialog(a,e.attr("title"),280,600)})),$(document).on("click",".descriptionLink",(function(){var e=$(this).next(".descriptionContent").is(":visible")?-130:130;displayPage.resizeContainer(e),$(this).next(".descriptionContent").toggle()})),$(document).on("click",".fullDescriptionLink",(function(){var e=$(this).next(".descriptionContent").is(":visible")?-130:130;displayPage.resizeContainer(e),$(this).siblings(".shortDescriptionContent").toggle(),$(this).siblings(".descriptionContent").toggle()})),$(document).on("click",".registerLink",(function(){if(!displayPage.externalRegistrations){if($("#inlineWidgetContainer").hide(),3==displayPage.layoutType||4==displayPage.layoutType){var e=$(this).closest(".layoutItem");$("#inlineWidgetContainer").insertAfter(e)}var a=window.location.origin+$(this).attr("data-href");$("#calendarFrame").attr("src",a),setTimeout((function(){$("#inlineWidgetContainer").fadeIn("slow")}),800);try{window.self,window.top;1==window.top.length&&setTimeout((function(){if(3==displayPage.layoutType||4==displayPage.layoutType)$("html, body").animate({scrollTop:$("#inlineWidgetContainer").offset().top-100},1e3);else{var e=$("#displayBox").height();$("html, body").animate({scrollTop:e-100},1e3)}displayPage.resizeContainer()}),1200)}catch(e){}}}));var u=document.getElementById("calendarFrame"),y=window.addEventListener?"addEventListener":"attachEvent",P=window[y],v=300;P("attachEvent"==y?"onmessage":"message",(function(e){var a=window.self!==window.top;if(e.data&&e.data.scroll)console.log(e.data.scroll+" in disp scroll"),v=Math.max(e.data.scroll,300),u.style.height=v+"px",a&&window.parent.postMessage({calendarHeight:e.data.scroll},"*");else if(e.data&&e.data.calendarHeight){if(console.log(e.data.calendarHeight+" in disp height"),v=Math.max(e.data.calendarHeight,300),u.style.height=v+"px",a){var t=e.data.calendarHeight+Math.max(50,displayPage.extraPadding);window.parent.postMessage({calendarHeight:t},"*")}}else if(e.data&&e.data.calendarTop){var s=$("#displayBox").height();$("html, body").animate({scrollTop:s-100},1e3)}})),displayPage.initialized=!0}
var agenda={clientAccounts:[],favorites:[],currentCompanyId:0,compOfferServices:!0,compHasGroups:!1,compHasRooms:!1,messageContainer:null,initialized:!1,inlineForm:!1,familyMembers:null,content:null,setupInlineForm:function(e,t,a){var n=$("#makeRequestContainer",bookings.container);n.prepend($("#newRequestContainer",bookings.container));var i=$("#newRequestContainer",n);i.show(),agenda.currentCompanyId=e,agenda.inlineForm=!0,initAgenda(),initAgendaSettings(agenda.currentCompanyId,null,null,null,t,a),agenda.initEventWindow(i,t)},rowIsOpenBooking:function(e){return $("td.options",e).hasClass("Service")||$("td.options",e).hasClass("Places")},rowIsOfferService:function(e){return $("td.options",e).hasClass("RequestService")||$("td.options",e).hasClass("Service")},rowWithRooms:function(e){return $("td.options",e).hasClass("withRooms")||$("td.withRooms",e).length>0},rowHasGroup:function(e){var t=$(".groupId",e).text();return""!==t&&"0000"!=t.substr(0,4)},hasFavorite:function(e){return _.any(agenda.favorites,(function(t){return t.CompanyId==e}))},hasClientAccount:function(e){return _.any(agenda.clients,(function(t){return t.CompanyId==e}))},hasActiveMembership:function(e){var t=new Date;return _.any(agenda.clients,(function(a){return a.CompanyId==e&&a.MembershipEnd&&convertToDate(a.MembershipEnd)>t}))},setEventGroups:function(e,t){var a=$(".eventGroups",e),n=t.length>0;if(a.html(""),!n||calendarPage.initComplete)$(".eventGroupSection",e).hide();else{a.append("<option value=''>"+bookings.resources.Select+"</option>");var i=agenda.hasActiveMembership(agenda.currentCompanyId);_.each(_.filter(t,(function(e){return!e.Private&&(!e.MembersOnly||i)})),(function(e){a.append($("<option>",{value:e.Id}).text(e.Name).attr("data-services",e.ServiceIds))})),$(".eventGroupSection",e).show()}calendarPage.calendar||(calendarPage.calendar={}),calendarPage.calendar.Groups=t},setEventWindowServices:function(e,t,a){agenda.setEventGroups(e,a);var n=$(".eventService",e);n.html(""),n.append("<option value=''>"+bookings.resources.SelectService+"</option>"),_.each(t,(function(e){name=void 0!==e.ServiceName?e.ServiceName:e.Item,""!==$.trim(e.Price)&&("fr"==bookings.culture&&(e.Price=String(e.Price).replace(".",",")),name+=" ($"+e.Price+")"),n.append($("<option>",{value:e.Id}).text(name).attr("data-length",Math.max(0,e.Length)).attr("data-desc",e.Description))}))},setFormFromRequest:function(e,t,a,n){$(".bookingName",e).val($(".bookingName",t).text()),$(".selectDateSection",e).toggle(n),$(".requestSectionItem",e).toggle(!n),$(".roomItem",e).toggle(n),$(".eventGroups",e).val($(".groupId",t).text()),$(".eventService",e).val($(".serviceId",t).text());var i=convertStringToJsDate($(".startTime",t).text());$("input.eventStartTime",e).val(formatEventTime(i)),$(".datepicker",e).val(dateToString(i));var o=new Date(i),r=$("input.eventEndTime",e);r.length>0?(o=convertStringToJsDate($(".endTime",t).text()),r.val(formatEventTime(o)),GetWeeklyDays(e,parseInt($(".days",t).text(),10))):(o.setMinutes(i.getMinutes()+parseInt($(".length",t).text(),10)),$(".eventEndTime",e).text(formatEventTime(o))),$(".userItem",e).hide(),$(".nbPlaces",e).val($(".nbPlaces",t).text()),$(".comment",e).val($(".comment",t).text());var s=$(".statusValue",t).text();$(".acceptSuggestedTime",e).toggle("2"==s),$(".cancelSection",e).toggle("1"==s),$(".cancel",e).attr("checked",!1);var d="true"==$(".registration",t).text();if($(".registrationSection",e).toggle(d),n){var c=parseInt($(".length",t).text(),10)/60;$(".nbHours",e).val(c);var l=$(".nbPlaces",e);$(".editor-label",l.closest(".editFieldSection")).text(l.attr("data-alt-label"))}},getServices:function(e,t,a){ajaxServerCall("Agenda","GetGroupServices",{id:e},(function(e){if(e){agenda.setEventWindowServices(t,e.services,e.groups);var n=_.filter(e.fields,(function(e){return e.ForItem==bookings.emptyGuid}));bookings.setEventFields(t,n),a&&a(e.groups)}}),(function(e){addErrorMessage(agenda.content,e.message)}))},getGroups:function(e,t,a){ajaxServerCall("Agenda","GetGroups",{id:e},(function(e){if(e){agenda.setEventGroups(t,e.groups);var n=_.filter(e.fields,(function(e){return e.ForItem==bookings.emptyGuid}));bookings.setEventFields(t,n),a&&a(e.groups)}}),(function(e){addErrorMessage(agenda.content,e.message)}))},getFields:function(e,t){ajaxServerCall("Agenda","GetFields",{id:e},(function(e){if(e){var a=_.filter(e.fields,(function(e){return e.ForItem==bookings.emptyGuid}));bookings.setEventFields(t,a)}}),(function(e){addErrorMessage(agenda.content,e.message)}))},initEditRequest:function(e,t,a,n,i){agenda.setFormFromRequest(e,t,a,i);var o=$(".bookingName",t).text(),r=bookings.resources.EditRequest.replace("{0}",o);agenda.openRequestDialog(e,r,n,a,i,t.attr("data-id"))},initNewEvent:function(e,t,a,n){var i=new Date;$(".datepicker",e).val(dateToString(i));var o=Math.min(Math.max(i.getHours(),8),20);i.setHours(o+1,0,0,0),$(".visitorContent input",e).val(""),$(".visitorContent",e).toggle(!calendarPage.isLoggedIn()),$(".selectDateSection",e).toggle(!t),$(".requestSectionItem",e).toggle(t),$("span.eventStartTime",e).remove(),$("input.eventStartTime",e).val(formatEventTime(i)),i.setHours(o+2,0,0,0),$("input.eventEndTime",e).val(formatEventTime(i)),$(".eventGroupSection",e).toggle(a&&!calendarPage.initComplete),$(".eventStatus",e).hide(),$(".eventService",e).val(""),$(".comment",e).val(""),e.addClass("request");var r=$(".customQuestions",e);if(r.toggle(r.text().length>1),n){var s=$(".nbPlaces",e);$(".editor-label",s.closest(".editFieldSection")).text(s.attr("data-alt-label")),s.attr("data-label",s.attr("data-alt-label"))}$(".endTimeSection",e).hide()},initEventWindow:function(e,t){$(".serviceItem",e).toggle(t),$(".placesItem:not(.registrationSection)",e).toggle(!t),$(".customQuestions",e).hide(),$(".teacherSection",e).hide(),$(".availabilityField",e).hide(),$(".fullDayField",e).hide()},openRequestDialog:function(e,t,a,n,i,o){agenda.initEventWindow(e,a),o||agenda.initNewEvent(e,a,n,i);var r=[{text:bookings.resources.Cancel,class:"dialogCancel",click:function(){e.dialog("close")}},{text:bookings.resources.Confirm,click:function(){bookings.inDialogConfirmation||(bookings.inDialogConfirmation=!0,agenda.eventDialogConfirmation(e,o))}}];e.dialog({modal:!0,title:t,resizable:!1,open:function(){if(!o){var t=new Date((new Date).getTime()+864e5);$(".datepicker",e).val(dateToString(t))}$(".email",e).focus()},close:function(){e.dialog("destroy"),e.hide()},width:600,buttons:r}).show()},logBookingInfo:function(e,t,a,n,i){try{console.log(a),console.log(n);var o=a&&""!==a&&a.length>1?formatToDate(a):i,r="Title: "+t+",  Action: "+e+",  Date picker: "+a+",  Calendar Event:  "+i+",  Time: "+n+",  Format date: "+o+",  Format with hours: "+formateDateWithHours(o,n)+",  Offset date: "+setOffsetDate(formateDateWithHours(o,n))+",  Server date: "+bookings.serverDate+",  Client date: "+bookings.clientDate+",  System date: "+bookings.systemDate+",  Client time diff: "+(bookings.serverDate.getTime()-bookings.clientDate.getTime())/36e5+",  User utc offset: "+bookings.userServerOffset;ajaxServerCall("Processing","LogBookingDateData",{values:r})}catch(e){console.log(e)}},eventDialogConfirmation:function(e,t){clearMessageContentFrom(e.parent());var a=$(".daysValue",e);if(validateEvent(e,!0)){var n=a.length>0?parseInt(a.val(),10):0,i=formatToDate($(".datepicker",e).val()),o=$("input.eventStartTime:visible",e),r=formateDateWithHours(i,o.val()),s=$("span.eventEndTime:visible",e).length>0?$("span.eventEndTime:visible",e).text():$("input.eventEndTime:visible",e).val();void 0===s&&(s=$("span.eventEndTime",e).text());var d=formateDateWithHours(i,s);d<r&&d.setDate(d.getDate()+1);var c=$(".eventGroups",e).is(":visible")?$(".eventGroups option:selected",e).val():calendarPage.initComplete?calendarPage.selectedCalendarGroup:calendarPage.emptyGuid,l=c!=calendarPage.emptyGuid?getGroupName(c):null,g=$(".eventService option:selected",e),u=g&&g.length>0&&""!==g.attr("data-length")&&!isNaN(g.attr("data-length"))?parseInt(g.attr("data-length"),10):-1;-1==u&&(u=calendarPage&&calendarPage.calendar.Settings?calendarPage.calendar.Settings.DefaultCalendarTimeSlot:(d.getTime()-r.getTime())/6e4);var v=""==$(".nbPlaces",e).val()?0:parseInt($(".nbPlaces",e).val(),10),m=bookingIsForEvent(r);r=setStartTimeForSchedule(r,m,!1);var p=getBookingTitle("{0}",g.text(),v,l,m),f="Create agenda request ";if(null!=t)if($("input.cancel:visible:checked",e).length>0)agenda.cancelBooking(e,t,agenda.currentCompanyId,agenda.messageContainer,$(".ui-dialog-title",e.parent()).text(),(function(){var e=$("#userBookings tr.bookingRow[data-id="+t+"]");e&&e.remove()})),f="Delete agenda booking ";else{var h=0===$("input[name=acceptGroup]:visible",e).length,b=h?0:parseInt($("input[name=acceptGroup]:checked",e).val(),10);agenda.updateRequest(e,t,n,r,d,c,g.val(),p,u,v,$(".comment",e).val(),h,b),f="Update agenda request "}else{var S=function(t){agenda.completeRequest(e,n,r,d,c,g.val(),p,u,v,$(".comment",e).val(),bookings.extractFields(e))};$(".visitorContent",e).is(":hidden")?S():agenda.processAccount(e,S)}agenda.logBookingInfo(f,p,$(".datepicker",e).val(),$("input.eventStartTime:visible",e).val())}else bookings.inDialogConfirmation=!1},processOtherAccount:function(e,t,a){var n={email:jQuery.trim($(".otherEmail",e).val()),first:jQuery.trim($(".otherFirst",e).val()),last:jQuery.trim($(".otherLast",e).val()),zip:jQuery.trim($(".otherZip",e).val()),phone:jQuery.trim($(".otherPhone",e).val()),address:jQuery.trim($(".otherAddress",e).val()),dob:jQuery.trim($(".otherDOB",e).val()),gender:$(".gender",e).val(),type:$(".otherType",e).val(),isOffline:!0,companyId:agenda.currentCompanyId,isGuestCheckout:!0,hasOverride:t};ajaxServerCall("Account","CreateAccountForBooking",n,(function(t){t.success?a(t,n):addErrorMessage(e,t.message)}),(function(t){addErrorMessage(e,t)}))},processAccount:function(e,t,a,n,i,o,r,s){var d=($(".name",e).is(":visible")||$(".last",e).is(":visible")||o)&&!$("#guestAccount").is(":checked"),c=d?"CreateAccountForBooking":"LoginAccountForBooking",l=widgetPage.preLoad?agenda.currentCompanyId:bookings.emptyGuid,g=jQuery.trim($(".email",e).val()),u=jQuery.trim($(".password",e).val()),v=$(".first",e).is(":visible")?jQuery.trim($(".first",e).val()):null,m=jQuery.trim($(".last",e).val()),p=jQuery.trim($(".dob",e).val()),f=$(".gender",e).val(),h=$(".zip",e).val(),b=$(".telephone",e).val(),S=$(".alt_telephone",e).val(),k=$(".prefix",e).val(),C=d?{email:g,first:v,last:m,zip:h,phone:b,altPhone:S,prefix:k,address:$(".address",e).val(),dob:p,gender:f,password:u,companyId:l,isOffline:i,hasOverride:r,hasSSO:s}:{email:g,first:v,password:u,getMembers:a,companyId:l,isOffline:i,hasOverride:r,hasSSO:s};ajaxServerCall("Account",c,C,(function(a){a.success?($(".name",e).val(a.name),$("#memberPortal .name").val(a.name),d||$(".first",e).val(a.firstName),agenda.familyMembers=a.members?JSON.parse(a.members):null,$("#main .userId,#memberPortal .userId").val(a.userId),t(a)):(addErrorMessage(e,a.message),n&&n(a))}),(function(t){addErrorMessage(e,t)}))},completeRequest:function(e,t,a,n,i,o,r,s,d,c,l){var g=$(".messageResultContainer",bookings.container);0===g.length&&(g=$(".boxContent:first")),ajaxServerCall("Agenda","CreateRequest",{companyId:agenda.currentCompanyId,userId:bookings.emptyGuid,days:t,groupId:i,serviceId:o,title:r,startTime:setOffsetDateToServer(a),endTime:setOffsetDateToServer(n),length:s,nbPlaces:d,comment:c,notes:l},(function(t){if(t.success){var a=$("#userBookings #bookings tbody");a.length>0&&a.append(t.rowContent),t.mustViewStore&&(window.location="/Store/Booking/"+t.id+"?companyId="+agenda.currentCompanyId),agenda.inlineForm?agenda.initNewEvent(e,agenda.compOfferServices,agenda.compHasGroups,agenda.compHasRooms):e.dialog("close"),addSuccessMessage(g,t.message)}else addErrorMessage(e,t.message)}),(function(t){addErrorMessage(e,t)}))},updateRequest:function(e,t,a,n,i,o,r,s,d,c,l,g,u){var v=$("#userBookings",agenda.content);ajaxServerCall("Agenda","UpdateRequest",{bookingId:t,companyId:agenda.currentCompanyId,days:a,groupId:o,serviceId:r,title:s,startTime:setOffsetDateToServer(n),endTime:setOffsetDateToServer(i),length:d,nbPlaces:c,comment:l,changeMade:g,accept:u},(function(a){a.success?(a.mustViewStore?window.location="/Store/Booking/"+t+"?companyId="+agenda.currentCompanyId:a.paymentRequired&&(window.location="/Store/Payment/"+t+"?companyId="+agenda.currentCompanyId),agenda.setEventAfterUpdate(t,a,o,r,d,c,l),e.dialog("close"),addSuccessMessage(v,a.message)):addErrorMessage(e,a.message)}),(function(t){addErrorMessage(e,t)}))},cancelBooking:function(e,t,a,n,i,o){ajaxServerCall("Agenda","CancelBooking",{bookingId:t,companyId:a,title:i},(function(t){t.success?(o&&o(),e.dialog("close"),addSuccessMessage(n,t.message)):addErrorMessage(n,t.message)}),(function(e){addErrorMessage(n,e)}))},setEventAfterUpdate:function(e,t,a,n,i,o,r){var s=$(".reservations tr.bookingRow[data-id="+e+"]");s.length>0&&(s.attr("class","bookingRow "+t.status),$(".groupId",s).text(n),$(".serviceId",s).text(n),$(".startTime",s).text(t.ticks),$(".endTime",s).text(t.endTicks),$(".length",s).text(i),$(".nbPlaces",s).text(o),$(".comment",s).text(r),$(".statusValue",s).text(t.statusVal),0!=t.statusVal?$(".startDisplay",s).text(t.startTime):$(".startDisplay",s).text(bookings.resources.PendingCompany))},addToFavorites:function(e){var t=e.closest("tr"),a=t.attr("data-compId");clearMessageContents(),ajaxServerCall("Favorite","Add",{companyId:a},(function(e){e.success&&(agenda.applyFavorite(t),agenda.favorites.push({Id:e.id,CompanyId:a}))}),(function(e){addErrorMessage(agenda.content,e)}))},requestAccount:function(e){var t=e.closest("tr"),a=t.attr("data-compId"),n=t.closest(".searchResults");ajaxServerCall("Client","MakeRequest",{companyId:a},(function(e){e.success?($(".h-becomeClient:visible",t).hide(),agenda.clients.push({Id:e.id,CompanyId:a}),addSuccessMessage(n,e.message)):addErrorMessage(n,e.message)}),(function(e){addErrorMessage(n,getAjaxError(e))}))},applyFavorite:function(e){e.addClass("favorite"),$(".h-addToFavorites:visible",e).hide()},applyUserCompanySetting:function(){var e,t=$("#companies",bookings.container),a=0;$("tbody tr",t).each((function(t,n){a=$(n).attr("data-compId"),e=$(".h-becomeClient:visible",$(n)),agenda.hasFavorite(a)&&agenda.applyFavorite($(n)),agenda.hasClientAccount(a)&&(agenda.rowIsOpenBooking(n)?$(".h-addBooking",n).show():$(".h-newRequest",n).show(),e.length>0&&e.hide())}))}};function initAgenda(){agenda.content=bookings.container,agenda.messageContainer=$("#userBookings",agenda.content),setDateAndTimePickers({stepMinute:5}),setDateAndTimePickers({stepMinute:5},$("#header"));var e=$("#editBookingContainer");agenda.clients=jQuery.parseJSON($("#clients",agenda.content).val()),agenda.favorites=jQuery.parseJSON($("#favorites",agenda.content).val()),_.isNull(agenda.clients)&&(agenda.clients=[]),_.isNull(agenda.favorites)&&(agenda.favorites=[]),bookings.container.on("click",".h-addToFavorites",(function(){agenda.addToFavorites($(this))})),bookings.container.on("click",".h-becomeClient",(function(){agenda.requestAccount($(this))})),bookings.container.on("click",".h-createInlineRequest",(function(){var e=$("#makeRequestContainer",bookings.container);agenda.eventDialogConfirmation(e)})),bookings.container.on("click",".h-editBooking",(function(){if("undefined"==typeof memberPortal){var e=$(this).closest("tr"),t=parseInt($(".statusValue",e).text(),10),a=0===t?$("#newRequestContainer"):$("#editBookingContainer");if(agenda.currentCompanyId=e.attr("data-compId"),agenda.rowIsOpenBooking(e)&&1==t)window.location="/Agenda/Booking?id="+agenda.currentCompanyId+"&editId="+e.attr("data-id");else if(4==t)window.location="/Store/Payment/"+e.attr("data-id")+"?companyId="+agenda.currentCompanyId;else{var n=agenda.rowIsOfferService(e),i=agenda.rowHasGroup(e);n?agenda.getServices(agenda.currentCompanyId,a,(function(t){agenda.initEditRequest(a,e,i,!0,!1)})):agenda.getGroups(agenda.currentCompanyId,a,(function(t){agenda.initEditRequest(a,e,i,!1,agenda.rowWithRooms(e))}))}}})),bookings.container.on("click",".h-deleteRequest",(function(){var e=$(this).closest("tr"),t=e.attr("data-id"),a=e.attr("data-compId"),n=$(".bookingName",e).text(),i=$("#cancelEventContainer");i.html(i.attr("data-content").replace("{0}",n)),bookings.openConfirmDialog(i,i.attr("data-title"),(function(){agenda.cancelBooking(i,t,a,agenda.messageContainer,n,(function(){var e=$("tr.bookingRow[data-id="+t+"]");e&&e.remove()}))}))})),e.on("change",".datepicker,.timepicker,.nbPlaces",(function(){var e=$(this).closest(".container");$(".acceptSuggestedTime",e).hide()})),e.on("change",".eventService,.eventGroups",(function(){var e=$(this).closest(".container");!bookings.isSettingSelects&&e.is(":visible")&&$(".acceptSuggestedTime",e).hide();var t=$(this).find("option:selected").attr("data-length");if(t){var a=formateDateWithHours(new Date,$(".eventStartTime",e).val(),parseInt(t,10));$(".eventEndTime",e).text(a.getHours()+":"+(a.getMinutes()<10?"0":"")+a.getMinutes())}else $(".eventEndTime:visible",e).length>0&&$(".eventEndTime",e).text("")})),e.on("change",".eventStartTime",(function(){var e=$(this).closest(".container");""!==$(".eventService option:selected",e).val()&&$(".eventService",e).change()})),$("#newRequestContainer, #editRequestContainer, #editEventContainer, #editBookingContainer",agenda.content).on("change",".eventGroups",(function(){var e=$(this).closest(".container"),t=$(this).find("option:selected").attr("data-services"),a=$(".eventService",e).next(".minict_wrapper");if(!bookings.isSettingSelects&&$(".eventEndTime:visible",e).length>0&&$(".eventEndTime",e).text(""),void 0===t||""===t)$("li",a).show();else{var n=t.split(",");$("li",a).hide(),_.each(n,(function(e){$("li[value='"+e+"']",a).show()}))}bookings.isSettingSelects||$("input",a).val("").attr("placeholder",bookings.resources.DefaultSelect)}))}function initAgendaSettings(e,t,a,n,i,o){agenda.initialized=!0,agenda.currentCompanyId=e,agenda.compOfferServices=i,agenda.compHasGroups=null!=a&&a.length>0,agenda.compHasRooms=o;var r=$("#newRequestContainer"),s=function(e){agenda.compHasGroups=null!=e&&e.length>0,agenda.initNewEvent(r,i,agenda.compHasGroups,o),agenda.initialized=!0};i?null!=t&&null!=a?agenda.setEventWindowServices(r,t,a):(agenda.initialized=!1,agenda.getServices(agenda.currentCompanyId,r,s)):null==a?(agenda.initialized=!1,agenda.getGroups(agenda.currentCompanyId,r,s)):agenda.setEventGroups(r,a),agenda.initialized&&null==n&&(agenda.initialized=!1,agenda.getFields(agenda.currentCompanyId)),agenda.initNewEvent(r,i,agenda.compHasGroups,o),setDateAndTimePickers({stepMinute:5},r)}
var widgetPage={content:null,groupData:[],companyData:{},products:[],forms:[],formAnswers:[],maxCount:null,customLocations:null,locations:[],hasQuestions:!1,hasEnterprise:!1,hasQBO:!1,isMultiLocation:!1,internalView:!1,forceBEValidation:!1,isInline:!1,inlineRequiredFields:3,singleOperationMode:!1,showDateInCart:!0,enableLockedSelection:!0,enableLocationSearch:!1,enableClassMultiReg:!1,enableProratedSessions:!1,showClassStart:!0,freeGroups:null,bookingEvents:[],scheduleCourses:[],scheduleEvents:[],discounts:[],instructors:[],others:[],currentTickets:[],curQs:[],registrations:[],autocompleteRegs:!1,otherAutoConfigure:!1,registerOtherProducts:!1,otherCount:0,uniqueAssig:!1,skipCheckUniqueOnCheckout:!1,groupMemberships:!1,guestMode:0,maskMode:0,showOptionsMode:0,showLiability:!0,showRegistrationTime:!0,enforceConfirmStep:!1,excludeRegistrationClosed:!1,datepicker:null,confirmActions:[],processError:!1,validateError:!1,validFields:0,hideIdentificationOnReset:!1,inPopup:!1,tabWidth:.98,dateFormat:"DD MM dd",currency:"USD",multiCurrency:!1,cost:0,cartItems:0,optProdPerRow:1,addOptProdHeader:!1,minAge:0,productItems:[],cartCount:0,bkHourlyLength:60,showQtyMemberships:!1,allMembershipsDisplay:!1,forceMembershipDisplay:!1,showQuantityLeft:!1,isRequestMode:!1,maxRegistrationTime:null,cartSessionLength:0,inDefaultSelection:!1,singleCQDisplay:!1,numberCQ:2,familyMbrsNoSpouse:!1,familyMbrsWithEmail:!1,shareContent:null,overwriteMobile:null,clientLoginFn:null,clientSelectCategoryFn:null,clientSelectProductFn:null,clientSelectEventFn:null,clientSelectCourseFn:null,clientSelectSeatFn:null,clientSelectTicketFn:null,clientSeatingChartFn:null,clientSelectBookingDateFn:null,clientAddCartFn:null,clientSelectItemFn:null,clientSelectGroupFn:null,clientNextFn:null,clientSubmitFn:null,clientPreInitFn:null,clientInitCompleteFn:null,clientCheckCartFN:null,clientCartCheckedFN:null,customQuestionsSetFn:null,optProductsSetFn:null,resetWidgetFN:null,clientLocationSearchFN:null,autoAssignOtherFn:null,preLoad:!0,enableScroll:!0,embedded:!1,insidePortal:!1,disableMembershipQsInPortal:!1,enableValueScroll:!0,clientMinWidth:550,calendarFrameHeight:0,lastClientPostMess:0,interval:0,nbChecks:0,userIsMember:!1,userOfficeId:null,userMembershipEnd:null,canProcessProducts:!0,canProcessEvents:!0,canProcessClasses:!0,canProcessBookings:!0,seatClickDelay:700,seatClicks:0,seatClickTimer:null,clientResize:function(e){setTimeout((function(){var t=$("fieldset.current").attr("id"),a="confirm"==t||"payment"==t?widgetPage.clientMinWidth+250:widgetPage.clientMinWidth,i=document.getElementById("widgetContainer").scrollHeight+100;if(i=Math.max(a,i),console.log(i+" , "+a+" , "+t+" , "+widgetPage.lastClientPostMess+", checkPos: "+e),i!=widgetPage.lastClientPostMess){if(window.parent.postMessage({calendarHeight:i},"*"),widgetPage.calendarFrameHeight=i,e&&(!widgetPage.validateError||widgetPage.productItems.length>0||widgetPage.cartCount>0)&&Math.abs(widgetPage.lastClientPostMess-i)>200&&widgetPage.enableValueScroll&&widgetPage.getParentCalendar()&&!widgetPage.preLoad){var n=Math.max(100,widgetPage.calendarFrameHeight+150);window.top.postMessage({valueScroll:n},"*")}widgetPage.lastClientPostMess=i}}),400)},clientDefaultAction:function(e){widgetPage.embedded&&widgetPage.clientResize(e)},getParentCalendar:function(){var e=null;try{(e=window.parent?window.parent.displayPage:displayPage)&&!e.initialized&&(e=null)}catch(e){}return e},canAccessParent:function(){var e=!0;try{top.document}catch(t){e=!1}return e},initEmbedded:function(){try{var e=window.self!==window.top;widgetPage.embedded=e&&!widgetPage.internalView}catch(e){widgetPage.embedded=!0}try{portal=window.parent?window.parent.memberPortal:memberPortal,widgetPage.insidePortal=portal&&portal.initialized}catch(e){}},checkBookingCanBeDebitedFromPurchase:function(e,t,a,i,n){return _.any(widgetPage.productItems,(function(r){return t&&3==r.Type&&r.TypeItemId==t||null!=a&&4==r.Type&&r.TypeItemId==a||null!=i&&5==r.Type&&r.TypeItemId==i||null!=n&&9==r.Type&&r.TypeItemId==n||null!=e&&2==r.Type&&r.TypeItemId==e}))},setDiscountDetails:function(e,t){var a=!1,i=t.cost,n=!1;$(".infoRow",e).hide();var r=$(".cartTotal",widgetPage.content);r.text(r.attr("data-text")+": "+widgetPage.formatCost(i)),t.purchaseDebit&&t.purchaseDebit>0&&($(".puchaseDebit",e).html($(".puchaseDebit",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.purchaseDebit))),$(".purchaseDebitRow",e).show(),a=!0),t.discount&&t.discount>0&&($(".rebateAmount",e).html($(".rebateAmount",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.discount))),$(".rebateRow",e).show(),a=!0),t.memberDiscount&&t.memberDiscount>0&&($(".memberDiscount",e).html($(".memberDiscount",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.memberDiscount))),$(".memberDiscountRow",e).show(),a=!0),t.clientDebit&&t.clientDebit>0&&($(".accountDebit",e).html($(".accountDebit",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.clientDebit))),$(".clientDebitRow",e).show(),a=!0),t.balanceOwed&&t.balanceOwed>0&&($(".tabTotal",e).html($(".tabTotal",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.balanceOwed))),$(".memberBalanceOwed",e).val(t.balanceOwed),$(".infoRowBalance",e).show());var o=widgetPage.companyData.Payments.Taxes;if(t.fee1&&t.fee1>0){var s=t.localFeeName?t.localFeeName:o.TaxOneName,d=$(".fee1",e).attr("data-label").replace("{0}",s).replace("{1}",widgetPage.formatCost(t.fee1));o.OneCreditOnly&&(d+=" "+bookings.resources.WidgetCreditSalesOnly,i-=t.fee1,n=!0),$(".fee1",e).html(d),$(".fee1Row",e).show(),a=!0}if(t.fee2&&t.fee2>0){var l=$(".fee2",e).attr("data-label").replace("{0}",o.TaxTwoName).replace("{1}",widgetPage.formatCost(t.fee2));o.TwoCreditOnly&&(l+=" "+bookings.resources.WidgetCreditSalesOnly,i-=t.fee2,n=!0),$(".fee2",e).html(l),$(".fee2Row",e).show(),a=!0}if(t.fee3&&t.fee3>0){var c=$(".fee3",e).attr("data-label").replace("{0}",o.TaxThreeName).replace("{1}",widgetPage.formatCost(t.fee3));o.ThreeCreditOnly&&(c+=" "+bookings.resources.WidgetCreditSalesOnly,i-=t.fee3,n=!0),$(".fee3",e).html(c),$(".fee3Row",e).show(),a=!0}if(t.shippingCost&&t.shippingCost>0&&($(".shippingAmount",e).html($(".shippingAmount",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.shippingCost))),$(".shippingRow",e).show(),a=!0),n){var g=parseFloat(i).toFixed(2),u=widgetPage.formatCost(g);$("#mailInPaymentItem .orderAmount").attr("data-cost",g).text(u),$("#poPaymentItem .orderAmount").attr("data-cost",g).text(u),$("#memberTabPaymentItem .orderAmount").attr("data-cost",g).text(u)}a&&($(".originalTotal",e).html($(".originalTotal",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.originalCost))),$(".newTotal",e).html($(".newTotal",e).attr("data-label").replace("{0}",widgetPage.formatCost(t.cost))),$(".infoRowPricing",e).show())},processBooking:function(e,t,a,i,n,r,o,s,d,l,c,g){l=l&&!widgetPage.isRequestMode;var u=widgetPage.getCompleteTabContent(),p=null,m=$("#BookInternalCost").val();widgetPage.internalView&&m&&m.length>0&&!isNaN(m)&&(p=JSON.stringify({Id:bookings.emptyGuid,Type:8,Name:i,Cost:m,Value:m,Quantity:1,index:0})),t||(t=bookings.emptyGuid);var v=$("#BookingOtherId").val(),h=v&&v.length>30,w=h?v:$("#userId").val(),P=h?$("#BookingOtherFullName").val():widgetPage.formatUserName();if(widgetPage.isRequestMode){var f=new Date(n).addMinutes(r);widgetPage.confirmActions.push((function(){if(!widgetPage.processError){var d=bookings.extractFields(widgetPage.content);ajaxServerCall("Agenda","CreateRequest",{companyId:calendarPage.companyId,userId:w,days:0,groupId:t,serviceId:a,title:i,startTime:setOffsetDateToServer(n),endTime:setOffsetDateToServer(f),length:r,nbPlaces:o,comment:s,notes:d,name:P},(function(t){if(t.success){t.cost&&t.cost;var a=_.find(widgetPage.productItems,(function(t){return t.Id==e}));a&&(a.Id=t.id)}else addErrorMessage(u,t.message);widgetPage.processError=!t.success}),(function(e){addErrorMessage(u,e),widgetPage.processError=!0}),{async:!1})}}))}else widgetPage.confirmActions.push((function(){if(!widgetPage.processError){var l=$("#book"),c=bookings.extractFields(l);agenda.logBookingInfo("Widget",i,"",formatEventTime(n),n),ajaxServerCall("Agenda","CreateBooking",{companyId:calendarPage.companyId,userId:w,scheduleGroupId:t,serviceType:calendarPage.calendar.Settings.ServiceType,serviceId:a,title:i,startTime:setOffsetDateToServer(n),length:r,nbPlaces:o,comment:s,notes:c,registration:d,isCartConfirmation:!0,reserverId:w,cartItem:p,name:P},(function(i){if(i.success){var n=$(".discountContent");$(".infoRow",n).hide(),i.cost||(i.cost=0);i.cost;widgetPage.checkBookingCanBeDebitedFromPurchase(t,a,i.CourseId,i.RoomId,i.EventId)&&0;var r=_.find(widgetPage.productItems,(function(t){return t.Id==e}));r&&(r.Id=i.id),widgetPage.setDiscountDetails(n,i)}else addErrorMessage($("#confirm"),i.message);widgetPage.processError=!i.success}),(function(e){addErrorMessage($("#confirm"),e),widgetPage.processError=!0,console.log("Create Booking error"),console.log(e)}),{async:!1})}}))},applySurcharge:function(e,t){return t&&parseInt(t,10)>0&&(e=parseFloat(e*(1+t/100)).toFixed(2)),e},setPaymentOptions:function(e,t,a,i,n,r){var o=$("#payment");$(".paymentContainer:visible").attr("data-total",e),$("input.orderAmount",o).val(e),$("span.orderAmount",o).text(widgetPage.formatCost(e)),$(".paymentInfoRow",o).show(),$("#orderDisplayAmount",o).text(widgetPage.formatCost(e)),$("input[type=submit]",o).show();var s=$("input[name='x_line_item']",o);if(s.val("1<|><|>"+s.attr("data-title")+"<|>1<|>"+e),widgetPage.productItems.length>0){var d=[];_.each(widgetPage.productItems,(function(e){var t=_.find(d,(function(t){return t.Name==e.Name})),a=parseInt(e.Quantity,10);a,t?t.Quantity+=a:d.push({Name:e.Name,Quantity:a})}));var l=$.map(d,(function(e){return e.Name+" ("+e.Quantity+")"})).join(", ");$(".orderName",o).val(l)}var c=$("#paypalContent").is(":visible")?"Processing":"ProcessingFD",g=$("#domain").val();$(".orderCallback",o).val("https://"+g+".findjoo.com/"+c+"/"+i),$(".orderInvoice",o).val(t),$(".orderCustom",o).val(a),$("#onePaymentItem").attr("data-cost",e),$(".paymentOptions",o).hide(),$(".paymentOptionsContainer",o).hide(),$(".paymentOptionsContainer .multiPaymentItem",o).hide(),$(".paymentOptionsContainer .multiPaymentItem .partialAmount",o).hide(),$("#monthlyPaymentCost,#quarterlyPaymentCost",o).css("display","block");var u=widgetPage.companyData.Payments,p=!1;$("#onePaymentItem").hasClass("selected")||$("#onePaymentItem").click(),u.AllowMailIn||widgetPage.internalView||$("#mailInPaymentItem").remove(),u.AllowPO||$("#poPaymentItem").remove(),widgetPage.internalView||$("#ccReaderPaymentItem").remove(),0==u.MemberTab||1==u.MemberTab&&!widgetPage.internalView?$("#memberTabPaymentItem").remove():p=!0,u.AllowMailIn||u.AllowPO||0!=u.MemberTab||$(".paymentForm",widgetPage.content).removeClass("paymentForm"),!widgetPage.hasEnterprise&&e>0&&$("#onePaymentItem").hide();var m=widgetPage.companyData.Payments;if(widgetPage.internalView&&0==m.Source&&!m.API&&$("#onePaymentItem").hide(),e>0&&widgetPage.hasEnterprise&&(u.EnableMonthly||u.EnableQuarterly)){var v=new Date;n||(n=new Date).setMonth(n.getMonth()+12);var h=monthDiff(v,n);if(h>60&&(h=60),h>0){var w=$("#MonthlyDonation").is(":checked");if(u.EnableMonthly&&h>1&&(!u.RestrictRecurringToMemberships&&(!u.MonthlyMinAmount||e>=u.MonthlyMinAmount)||r&&(!u.MonthlyMinAmount||r.Cost>=u.MonthlyMinAmount)||w)){var P=0,f=$("#monthlyPaymentItem",o),C=e/h;C=widgetPage.applySurcharge(C,u.MonthlySurcharge),C=parseFloat(C).toFixed(2),w?C=e:u.RestrictRecurringToMemberships&&r.Cost<e&&_.filter(widgetPage.productItems,(function(e){return e.Cost>0})).length>1&&(h=monthDiff(v,convertToDate(r.ExpirationDate)),C=r.Cost/h,C=widgetPage.applySurcharge(C,u.MonthlySurcharge),C=parseFloat(C).toFixed(2),e>r.Cost&&(P=parseFloat(e-r.Cost).toFixed(2),$("#monthlyPartialCost",o).text(widgetPage.formatCost(P)),$("#monthlyPaymentCost",o).css("display","inline-block"),$("#monthlyPaymentItem .partialAmount,#monthlyItem",o).css("display","inline-block"))),f.attr("data-length",h).attr("data-freq",1).attr("data-cost",C).attr("data-plan",u.MonthlyPlanId).attr("data-non-recurring-cost",P),$("#monthlyLabel",o).text(f.attr("data-label").replace("{0}",h)),$("#monthlyPaymentCost",o).text(C),f.show(),p=!0,w&&$("#monthlyPaymentItem").click()}if(u.EnableQuarterly&&h>3&&(!u.RestrictRecurringToMemberships&&(!u.QuarterlyMinAmount||e>=u.QuarterlyMinAmount)||r&&(!u.QuarterlyMinAmount||r.Cost>=u.QuarterlyMinAmount))){P=0;var b=$("#quarterlyPaymentItem",o),y=Math.ceil(h/3),I=e/y;I=widgetPage.applySurcharge(I,u.QuarterlySurcharge),I=parseFloat(I).toFixed(2),u.RestrictRecurringToMemberships&&r.Cost<e&&_.filter(widgetPage.productItems,(function(e){return e.Cost>0})).length>1&&(h=monthDiff(v,convertToDate(r.ExpirationDate)),I=r.Cost/y,I=widgetPage.applySurcharge(I,u.QuarterlySurcharge),I=parseFloat(I).toFixed(2),e>r.Cost&&(P=parseFloat(e-r.Cost).toFixed(2),$("#quarterlyPartialCost",o).text(widgetPage.formatCost(P)),$("#quarterlyPaymentCost",o).css("display","inline-block"),$("#quarterlyPaymentItem .partialAmount,#quarterlyItem",o).css("display","inline-block"))),b.attr("data-length",y).attr("data-freq",3).attr("data-cost",I).attr("data-plan",u.QuarterlyPlanId).attr("data-non-recurring-cost",P),$("#quarterlyLabel",o).text(b.attr("data-label").replace("{0}",y)),$("#quarterlyPaymentCost",o).text(I),b.show(),p=!0}}}(p||u.AllowMailIn||u.AllowPO||widgetPage.internalView)&&e>0&&($(".paymentOptions",o).show(),$(".paymentOptionsContainer",o).show()),p&&$(".onePaymentLabel",o).text($(".onePaymentLabel",o).attr("data-alt-lbl")),0==$(".paymentItem.selected",o).length&&$(".paymentItem:visible:first",o).addClass("selected")},retrieveCart:function(){if(t=$.cookie("findjoo_Widget0"+calendarPage.companyId)){widgetPage.productItems=[];for(var e=0;t;)widgetPage.productItems=$.merge(widgetPage.productItems,JSON.parse(t)),t=$.cookie("findjoo_Widget"+ ++e+calendarPage.companyId);var t=$.cookie("findjoo_Widget_Others"+calendarPage.companyId);t&&(widgetPage.others=JSON.parse(t)),widgetPage.productItems=_.reject(widgetPage.productItems,(function(e){return 8==e.Type})),widgetPage.cartItems=_.size(widgetPage.productItems),widgetPage.calculateCartCount(),widgetPage.cartItems>0&&_.each(widgetPage.productItems,(function(e){if(e.ExpirationDate&&(e.ExpirationDate=convertToDate(e.ExpirationDate)),e.StartTime&&(e.StartTime=convertToDate(e.StartTime)),e.EndTime&&(e.EndTime=convertToDate(e.EndTime)),(6==e.Type||12==e.Type)&&widgetPage.groupData){widgetPage.groupData.events||widgetPage.setWidgetGroupData(e.GroupId);var t=new Date(e.StartTime.getTime());t.setMinutes(e.StartTime.getMinutes()+calendarPage.calendar.Settings.DefaultCalendarTimeSlot),widgetPage.groupData.events.push({id:e.Id,originalId:e.Id,createdBy:e.UserId,userId:e.UserId,places:e.Quantity,groupId:e.GroupId,start:e.StartTime,end:t,title:e.Name,status:1})}}))}},persistCart:function(){if(widgetPage.cartSessionLength>0){var e=new Date;e.setTime(e.getTime()+60*parseInt(widgetPage.cartSessionLength,10)*1e3);for(var t=widgetPage.canAccessParent()?{expires:e,sameSite:"Lax",secure:!1}:{expires:e,sameSite:"None",secure:!0},a=0,i=widgetPage.productItems.slice();i.length>0;){var n=_.first(i,3);$.cookie("findjoo_Widget"+a+++calendarPage.companyId,JSON.stringify(n),t),i=_.rest(i,3)}$.cookie("findjoo_Widget"+a+calendarPage.companyId,null,t),$.cookie("findjoo_Widget_Others"+calendarPage.companyId,JSON.stringify(widgetPage.others),t)}},addCartItem:function(e,t,a,i,n,r,o,s,d,l,c,g,u,p,m,v,h){widgetPage.cartItems++;var w,P=bookings.extractFields(c),f=$(".registerOtherContent:visible",c).length>0?bookings.extractFields(c,!0):null,C=$(".customQuestions input[data-code='GIFT_NAME']:visible",c).length>0;if(widgetPage.productItems.length>0&&widgetPage.hasUniqueQuestions()&&(w=widgetPage.hasDuplicateAnswer(e,P)).length>0)throw addErrorMessage($("fieldset.current div:visible:first"),bookings.resources.DuplicateCartItem.replace("{0}",w.join(", "))),widgetPage.checkScrollLocation($("fieldset.current div:visible:first"),1200),"Duplicate entry";if(widgetPage.uniqueAssig&&f&&(w=widgetPage.hasDuplicateRegOther(e,c)).length>0)throw addErrorMessage($("fieldset.current div:visible:first"),bookings.resources.DuplicateCartItem.replace("{0}",w.join(", "))),widgetPage.checkScrollLocation($("fieldset.current div:visible:first"),1200),"Duplicate entry";if(widgetPage.uniqueAssig&&!f&&!C&&0!=a&&10!=a&&11!=a&&16!=a&&_.any(widgetPage.productItems,(function(t){return t.Id==e&&t.Type==a&&t.TypeItemId==n&&!t.OtherData})))throw addErrorMessage($("fieldset.current div:visible:first"),bookings.resources.DuplicateRegistration),widgetPage.checkScrollLocation($("fieldset.current div:visible:first"),1200),"Duplicate entry";var b=$(".optionalProducts input:visible,.optionalProducts select:visible",c).length>0;if(widgetPage.productItems.push({Id:e,Name:t,Quantity:i,DisplayName:m,Type:a,TypeItemId:n,SelectionId:p,PriceId:v,Cost:r,Value:o,Index:widgetPage.cartItems,ExpirationDate:s?setOffsetDateToServer(s):s,Validation:d,IsCourse:l,UserId:null,GroupId:g,StartTime:s,EndTime:u||s,Notes:P,OtherData:f,IsGift:C,QBOClass:null,IsFreeOption:0==parseInt(r,10)&&b}),widgetPage.assignUserForPurchase(_.last(widgetPage.productItems),8==a),widgetPage.addOptionalProducts(d,i*r,c,l),widgetPage.calculateCartCount(),6==a&&widgetPage.autocompleteRegs){var y=_.filter(calendarPage.calendar.Questions,(function(t){return t.ForItem==e&&t.Code})),I=bookings.reconstructFields(y,P);I&&I.length>0&&!_.any(widgetPage.registrations,(function(e){return e.value==I[0].value}))&&widgetPage.registrations.push({label:I[0].value,value:I})}if((6==a||12==a)&&widgetPage.groupData){var S=new Date(s.getTime());S.setMinutes(s.getMinutes()+h),widgetPage.groupData.events.push({id:e,originalId:e,createdBy:bookings.emptyGuid,userId:bookings.emptyGuid,places:i,groupId:g,start:s,end:S,title:t,status:1})}return!0},addOptionalProducts:function(e,t,a,i){var n=$(".optionalProducts input:visible,.optionalProducts select:visible",a);n&&n.length>0&&$.each(n,(function(){var t=$(this),a=t.is(":checkbox"),n=a?t.is(":checked")?1:0:parseInt(t.val(),10),r=null,o=null;if(n>0&&(r=_.find(widgetPage.products,(function(e){return e.Id==t.attr("data-productId")})))){var s=r.Cost,d=r.Name,l=r.Type;if(!isNaN(t.val())&&Number(t.val())&&(0==s&&Number(t.val())>1&&(n=1,s=parseInt(t.val(),10)),t.is("select")&&Number(t.find(":selected").attr("data-value"))?(s=parseFloat(t.find(":selected").attr("data-value")),o=bookings.emptyGuid):t.is("select")&&Number(t.find(":selected").text())&&(s=parseFloat(t.find(":selected").text()),o=bookings.emptyGuid),13==l&&0==r.Cost&&0==r.RequiredType&&(l=15)),!a&&t.is("select")&&t.hasClass("v-withLabels")){isNaN($("option:selected",t).text())&&(n=1);var c=t.find(":selected").attr("data-itemId"),g=null;if(void 0!==c&&!1!==c&&(g=_.find(widgetPage.products,(function(e){return e.Id==c}))))d=(r=g).Name,o=r.Id,l=r.Type;else{var u=t.find(":selected").attr("data-value"),p=t.find(":selected").attr("data-label");void 0!==u&&!1!==u&&(s=parseFloat(u),o=bookings.emptyGuid),void 0===p||!1===p||widgetPage.addOptProdHeader?isNaN(parseInt($("option:selected",t).text()))&&(d+=" - "+$("option:selected",t).text()):d=p}}13==l&&0!=r.RequiredType&&0==r.Cost&&r.Quantity>1&&(n=r.Quantity),widgetPage.productItems.push({Id:r.Id,Name:d,Quantity:n,Type:l,TypeItemId:r.TypeItemId,Cost:s,Value:r.Value,GroupId:r.CategoryId,Index:widgetPage.cartItems,ExpirationDate:r.EndDate?convertToDate(r.EndDate):null,Validation:e,IsCourse:i,PriceId:o,UserId:null,Notes:null,IsFreeOption:0==parseInt(s,10)})}}))},getItemFreeOption:function(e){var t=_.find(widgetPage.productItems,(function(t){return t.Index==e&&t.IsFreeOption}));return t?" - "+t.Name:""},calculateCartCount:function(){var e=0,t=_.reduce(widgetPage.productItems,(function(t,a){var i=a.IsFreeOption?0:parseInt(a.Quantity,10);return 8==a.Type&&(i=1),e+=a.Cost*i,t+i}),0),a="<ul>";$(".cartCount",widgetPage.content).text(t);var i=$(".cartTotal",widgetPage.content);i.text(i.attr("data-text")+": "+widgetPage.formatCost(e));var n=$(".cartDisplayCount",widgetPage.content);n.text(n.attr("data-text").replace("{0}",t));a=0==t?$("#CartEmpty").text():widgetPage.getCartContent(a,$(),!0)+"</ul>"+$("#CartHelp").html();$(".cartContentHelp",widgetPage.content).html(a),$(".cartExit",widgetPage.content).toggle(0!=t),widgetPage.cartCount=t,widgetPage.persistCart()},insertAddedProduct:function(e,t,a,i,n){var r=isNaN(a)&&0!=a?a:widgetPage.formatCost(a),o=n?$("#editAddedItem").html():"";e.before("<div data-id="+widgetPage.cartItems+' class="infoRow addedRow"><div class="itemMore"><span>'+i+" x "+t+'</span>&nbsp;<span class="cost">'+r+"</span>"+o+$("#removeAddedItem").html()+"</div></div>")},insertSearchResult:function(e,t,a,i,n,r,o,s){var d="";d="<div data-id="+t+" data-groupId="+a+" data-locationId="+n+' class="searchRow searchResultRow"><div class="item"><span>',i&&(d+=i+" - "),d+=r+"</span>&nbsp;",i&&o&&parseInt(o,10)>1&&(d+='<span class="cost">&nbsp;('+o+")</span>"),e.before(d+" -&nbsp;"+$("#selectItem").html()+"</div></div>"),$("#BookDisplayRow").show()},processCartForRegistrations:function(e){var t=_.filter(widgetPage.productItems,(function(e){return 6==e.Type})),a=!1,i=!1;if(widgetPage.shareContent="",_.each(t,(function(e){var t,n,r,o=parseInt(e.Quantity,10);null!=(t=widgetPage.getWidgetCourseSchedule(e.Id,e.GroupId,e.StartTime))?(t.Registered+=o,a=!0):null!=(t=widgetPage.getWidgetEventSchedule(e.Id,e.GroupId,e.StartTime))&&(t.Registered+=o,i=!0,null!=(n=getEventForSchedule(e.Id))&&e.TypeItemId&&n.Tickets&&null!=(r=_.find(n.Tickets,(function(t){return t.Id==e.TypeItemId})))&&(r.Registered+=o))})),widgetPage.companyData.Widget.SocialShare){$("#First").val();if($(".social_share.inserted").remove(),t&&t.length>0){_.find(t,(function(e){var t=widgetPage.companyData.URL;widgetPage.shareContent+=$("#facebookShare").outerHTML().replace("{0}",t).replace("facebookShare",bookings.uniqId()).replace("social_share","social_share inserted")}));var n=widgetPage.getCompleteTabContent();$(n).append(widgetPage.shareContent),$("#CompleteTab").is(":visible")&&$("#complete .completeContent .social_share").show()}}_.each(_.filter(widgetPage.productItems,(function(e){return e.ExpirationDate&&(6==e.Type||12==e.Type)})),(function(e){var t=$("#userId").val(),a=convertToDate(e.ExpirationDate);calendarPage.bookings.push({Id:e.Id,originalId:e.Id,ScheduleGroupId:e.GroupId,CompanyId:calendarPage.calendar.CompanyId,UserId:t,Year:a.getYear(),DayOfYear:a.getDate(),StartTime:a,Length:calendarPage.calendar.Settings.DefaultCalendarTimeSlot,NbPlaces:e.Quantity,Title:e.Name,ServiceId:e.TypeItemId,Comment:"",Status:1,Registration:6==e.Type,TicketId:e.TypeItemId})})),a&&widgetPage.setClassSelection(),i&&widgetPage.setEventSelection()},getCartContent:function(e,t,a){return _.each(_.filter(widgetPage.productItems,(function(e){return!e.IsFreeOption})),(function(i){var n="";i.StartTime&&1!=i.Type&&("function"!=typeof i.StartTime.getMonth&&(i.StartTime=convertToDate(i.StartTime)),dateFormat=widgetPage.datepicker.formatDate(bookings.dateFormat,i.StartTime)+" - "+formatEventTime(i.StartTime),n=widgetPage.showDateInCart?" ("+dateFormat+") ":"");var r=widgetPage.internalView&&widgetPage.hasQBO?t.outerHTML():"",o=widgetPage.groupMemberships&&1==i.Type&&_.any(widgetPage.productItems,(function(e){return e.Id==i.Id&&e.Index<i.Index&&!e.IsGift}))?0:i.Cost,s=8==i.Type?1:i.Quantity,d=parseFloat(s*o).toFixed(2),l=0==parseInt(d,10)?$("#eventFree").val():widgetPage.formatCost(d);l=i.IsFreeOption?"":" ("+l+") ";var c=widgetPage.getItemFreeOption(i.Index),g=i.DisplayName?i.DisplayName:i.Name;e+="<li data-id='"+i.Index+"' class='addedRow'>"+(!a||11==i.Type||i.SelectionId&&6==i.Type?"":"<span class='editItem'>")+i.Quantity+" x "+g+n+l+c+(a&&11!=i.Type?"</span>":"")+r+"<span class='removeItem "+(a?"insideCart":"")+"'>X</span></li>"})),e},getCompleteTabContent:function(){return $("#CompleteTab").is(":visible")?$("#complete .completeContent"):$("#payment .paymentInfoRow:first")},verifyCompleteContent:function(e){0==e&&$("#payment").is(":visible")?($("#PaymentTab").addClass("hidden"),$("#CompleteTab").removeClass("hidden")):e>0&&widgetPage.companyData.Payments.RequirePayments&&$("#complete").is(":visible")&&($("#PaymentTab").removeClass("hidden"),$("#CompleteTab").addClass("hidden"))},captchaCheck:function(e){if(!widgetPage.processError&&!widgetPage.internalView&&"undefined"!=typeof grecaptcha){var t="ecommerce_"+calendarPage.companyId.substring(0,8);grecaptcha.ready((function(){grecaptcha.execute("6LfoDasUAAAAAEg-hPaqTZ-EAqWMxww_Si_auZgj",{action:t}).then((function(t){ajaxServerCall("POS","CaptchaVerify",{cartId:e,token:t},(function(e){if(!e.success){setTimeout((function(){window.location=window.location}),2e3);var t=$("#POSProcessError").html();return addErrorMessage($("#fieldsets"),t),!1}}),(function(e){}))}))}))}},formatUserName:function(){var e=$("#Name").val();if(e&&-1!=e.indexOf("("))e=e.substring(0,e.indexOf("(")-1);else if((!e||""==e)&&widgetPage.insidePortal)try{e=window.parent.memberPortal.userName}catch(e){}return e},getConfirmContent:function(){widgetPage.getCompleteTabContent();var e=$("#SelectionMade").text()+"<ul>";widgetPage.processError=!1,widgetPage.cost=0,widgetPage.confirmActions=[];$();var t=$();if(widgetPage.internalView&&widgetPage.hasQBO){t=$("<div class='v-qboClassContainer inlineBlock'><select class='medium v-qboClass'  placeholder='"+$("#SelectQBOClass").text()+"'></select></div>");var a=widgetPage.convertMobileList(t),i=widgetPage.getListElement();_.each(companySpace.qboClasses,(function(e){a.append($(i,{"data-value":e.value}).text(e.label))}))}_.each(_.filter(widgetPage.productItems,(function(e){return 8==e.Type})),(function(e){var t=_.find(calendarPage.bookings,(function(t){return t.Id==e.Id}));if(t){var a=$("#BookingOtherId").val(),i=a&&a.length>30?$("#BookingOtherFullName").val():widgetPage.formatUserName(),n=getBookingTitle(i,t.ServiceName,t.QuantityTitle,t.Group);widgetPage.processBooking(t.Id,t.ScheduleGroupId,t.ServiceId,n,t.StartTime,t.Length,t.NbPlaces,t.Comment,!1,e.Cost>0,e.TypeItemId)}})),(o=widgetPage.companyData.Settings.LiabilityContent)&&o.length>10&&0==$("#liabilityForm.temp-disabled").length&&!widgetPage.internalView&&widgetPage.showLiability&&($("#ReadLicense").prop("checked",!1),$("#ReadLicense").closest(".infoRow").show(),$("#next").addClass("disabled").data("disabled",!0)),e=widgetPage.getCartContent(e,t,!1);var n=_.size(widgetPage.productItems);if(n>0){widgetPage.checkActiveConnection();var r=$("select[data-code='ENEWS']");widgetPage.confirmActions.push((function(){if(!widgetPage.processError){var e=widgetPage.formatUserName();return ajaxServerCall("Store","CreateCart",{companyId:calendarPage.companyId,userId:$("#userId").val(),items:JSON.stringify(widgetPage.productItems),inlineLayout:!1,name:e,eNews:$("#eNews").is(":checked")||r.length>0&&"Yes"==r.val(),coupon:$("#CouponCode").val()},(function(e){if(e.success){if(widgetPage.captchaCheck(e.id),widgetPage.cost+=e.cost,widgetPage.companyData.Payments.RequirePayments){var t=_.max(widgetPage.productItems,(function(e){return e.EndTime})),a=t?t.EndTime:new Date,i=_.find(widgetPage.productItems,(function(e){return 1==e.Type}));widgetPage.setPaymentOptions(widgetPage.cost,e.id,$("#main .userId").val(),"Checkout",a,i)}widgetPage.setDiscountDetails($(".discountContent"),e),widgetPage.verifyCompleteContent(widgetPage.cost);var r=widgetPage.getCompleteTabContent();if(_.size(widgetPage.productItems)>0){var o=widgetPage.isInline?$("#complete .completeContent"):r;d=widgetPage.isInline?$("#FormMessage").html():$("#ConfirmationMessage").html().replace("{0}",n).replace("{1}",widgetPage.formatCost(e.cost));addSuccessMessage(o,d)}if(0==widgetPage.cost){$("#next").hide(),$("#reset").show();var s=null;e.formId&&e.formId!=bookings.emptyGuid&&null!=(s=widgetPage.getFormById(e.formId))&&s.RedirectURL&&(window.location=s.RedirectURL)}widgetPage.processCartForRegistrations(e.id),widgetPage.clientCartCheckedFN&&widgetPage.clientCartCheckedFN()}else{var d=e.message?e.message:$("#POSProcessError").html();addErrorMessage($("#confirm"),d)}widgetPage.processError=!e.success}),(function(e){addErrorMessage($("#confirm"),$("#POSProcessError").html()),widgetPage.processError=!0}),{async:!1})}}))}var o,s=!1;if(widgetPage.discounts.length>0){var d=_.pluck(widgetPage.productItems,"Id");d=d.concat(_.pluck(widgetPage.productItems,"SelectionId"));try{void 0}catch(e){d=[void 0,void 0]}s=_.any(widgetPage.discounts,(function(e){return e.Active&&(0==e.ItemType||null==e.FirstItemId||e.FirstItemId==bookings.emptyGuid||_.contains(d,e.FirstItemId)||_.contains(d,e.SecondItemId))})),$("#CouponCode").prop("disabled",!s)}$("#couponContent").toggle(s),$("#confirm .confirmContent").html(e+"</ul>"),(o=widgetPage.companyData.Settings.LiabilityContent)&&o.length>10&&0==$("#liabilityForm.temp-disabled").length&&!widgetPage.internalView&&widgetPage.showLiability&&$("#confirm #liabilityForm").html("").append($("<div/>").html(widgetPage.companyData.Settings.LiabilityContent)).parent().show()},clearCart:function(){var e=_.find(widgetPage.productItems,(function(e){return 8==e.Type}));e&&(clearGroupData(e.GroupId),clearGroupData(bookings.emptyGuid)),widgetPage.productItems=[],widgetPage.cartItems=0,$("#fieldsets div.addedRow").remove(),widgetPage.calculateCartCount()},addCourseItem:function(){var e=$("#ScheduleCourseId").val(),t=getCourseForSchedule(e),a=$("#RegisterCourse").is(":checked");if(t){var i=$("#registration"),n=$("#CourseScheduleGroupContainer"),r=t.Name,o=n.attr("data-value"),s=formatToDate($("#CourseStartDate").val()),d=$("#CourseTimeId").val();d||(d=$("#ScheduleCourseId option:selected").attr("data-starttime"));var l=formateDateWithHours(s,d),c=new Date(parseInt($("#ScheduleCoursesContainer").attr("data-endDate"),10)),g=a?6:12,u=a&&t.CostSession?t.CostSession:t.CostSingle,p=$("#CourseTicketContainer").hasClass("hidden")?t.Id:$("#CourseTicketId").val();$("#CourseTicketContainer").hasClass("hidden")||(u=$("#CoursePlaces").attr("data-cost"));var m=$("#CourseInternalCost:visible");widgetPage.internalView&&m.length>0&&m.val()&&!isNaN(m.val())&&(u=m.val());var v=$("#CoursePlaces"),h=1;v&&v.is(":visible")&&""!=v.val()&&!isNaN(v.val())&&(h=parseInt(v.val(),10)),widgetPage.addCartItem(e,t.Name,g,h,p,u,u,l,!1,!0,i,o,c),a||(dateFormat=widgetPage.datepicker.formatDate(bookings.dateFormat,s)+" - "+formatEventTime(l),r+=" ("+dateFormat+") "),$("fieldset.current label[generated]").remove(),widgetPage.insertAddedProduct(n,r,$("#courseValue").text(),1,!0),widgetPage.clearSection(i),widgetPage.editId&&($("#ScheduleCoursesContainer").show(),$("#selectedCourseLabel").hide()),widgetPage.singleOperationMode&&($(".item,.fancySelect,.row,.infoRow:not(.addedRow)","#registration").hide(),$(".addToCart").hide())}},getOtherName:function(e){var t=null;e=e||$("fieldset.current");var a=$(".otherFirst",e).val(),i=$(".otherLast",e).val();return a&&i&&(t=a+" "+i),t},getOtherFirstName:function(e){return e=e||$("fieldset.current"),$(".otherFirst",e).val()},assignUserForPurchase:function(e,t){var a=$("fieldset.current"),i=$(".registerOtherContent:visible",a).length;if(t&&i>0)a=$("#book"),i=1,agenda.processOtherAccount(a,widgetPage.companyData.HasOverrideCheckout,(function(e){$("#BookingOtherId").val(e.userId),$("#BookingOtherFullName").val(widgetPage.getOtherName(a))}));else if(1==i&&1==e.Quantity){var n=widgetPage.getOtherName(a),r=widgetPage.getOtherFirstName(a);agenda.processOtherAccount(a,widgetPage.companyData.HasOverrideCheckout,(function(t){e.UserId=t.userId,e.OtherData+="(OtherCity): "+t.city+"\n(OtherProv): "+t.provState+"\n",null==e.DisplayName&&(e.DisplayName=e.Name),n&&(e.Name=e.DisplayName=n+" - "+e.DisplayName),r&&(e.FirstName=r);var a=_.filter(widgetPage.productItems,(function(t){return t.Index==e.Index&&t.Id!=e.Id}));_.each(a,(function(e){e.UserId=t.userId})),widgetPage.calculateCartCount(),widgetPage.clientLoginFn&&widgetPage.clientLoginFn(t)}))}else i>=1&&($(".registerOtherContent:visible",a).each((function(){var t=$(this),i=bookings.extractFields(t,!0),n=widgetPage.getOtherName(t),r=widgetPage.getOtherFirstName(a);agenda.processOtherAccount(t,widgetPage.companyData.HasOverrideCheckout,(function(t,a){parseInt(e.Quantity,10)>1&&(e.Quantity-=1),e.OtherData="";var o=_.clone(e);o.UserId=t.userId,o.Quantity=1,o.Notes="",o.OtherData=i+"(OtherCity): "+t.city+"\n(OtherProv): "+t.provState+"\n",widgetPage.autoAssignOtherFn&&widgetPage.autoAssignOtherFn(o),n&&(o.Name=o.DisplayName=n+" - "+o.DisplayName),r&&(o.FirstName=r),widgetPage.productItems.push(o),_.any(widgetPage.others,(function(e){return e.email==a.email}))||(a.label=a.first+" "+a.last,widgetPage.others.push(a)),widgetPage.calculateCartCount(),widgetPage.clientLoginFn&&widgetPage.clientLoginFn(t)}))})),0!=widgetPage.otherCount&&(widgetPage.productItems=_.reject(widgetPage.productItems,(function(t){return t.Id==e.Id&&t.Type==e.Type&&null==t.UserId}))))},addEventItem:function(){var e=$("#ScheduleEventId").val(),t=getEventForSchedule(e);if(t){var a=$("#eventFieldset"),i=$("#EventPlaces").val();i&&!isNaN(i)||(i=1);var n="free"!=(w=$("#EventPlaces").attr("data-cost"))?parseFloat(w):0,r=$("#EventTicketContainer").hasClass("hidden")?bookings.emptyGuid:$("#EventTicketId").val(),o=formatToDate($("#EventStartDate").val()),s=$("#ScheduleEventsContainer"),d=$("#EventSeatingChartContainer"),l=d.is(":visible")?s.attr("data-seatId"):null,c=null,g=s.attr("data-startTime"),u=s.attr("data-groupId"),p=s.attr("data-endDate"),m=s.attr("data-length"),v=formateDateWithHours(o,g),h=widgetPage.datepicker.formatDate(bookings.dateFormat,o);widgetPage.showRegistrationTime&&(h+=" - "+formatEventTime(v)),p&&(h+=" "+bookings.resources.To+" "+widgetPage.datepicker.formatDate(bookings.dateFormat,new Date(parseInt(p,10)))),$("fieldset.current label[generated]").remove();var w=$("#ScheduleEventsContainer"),P=t.Name,f=$("#EventInternalCost:visible");if(widgetPage.internalView&&f.length>0&&f.val()&&!isNaN(f.val())&&(n=f.val()),f=$("#EventTicketInternalCost:visible"),widgetPage.internalView&&f.length>0&&f.val()&&!isNaN(f.val())&&(n=f.val()),r!=bookings.emptyGuid){var C=$("#EventTicketId option:selected").text();C&&-1!=C.indexOf("(")&&(C=C.substr(0,C.indexOf("(")-1)),P+=" ("+C,l&&(P+=" #"+s.attr("data-seat"),widgetPage.currentTickets.push({event:e,seat:l}));var b=$("#seatOptions");if(b.length>0){var y=$("option:selected",b);y&&y&&y.val()!=bookings.emptyGuid&&(c=y.val(),P+=" - "+y.attr("data-name"),n=y.attr("data-cost"))}P+=")"}var I=p?new Date(parseInt(p,10)):v;widgetPage.addCartItem(e,P,6,i,r,n,n,v,!1,!1,a,u,I,l,P,c,m),P+=" - "+h+widgetPage.getItemFreeOption(widgetPage.cartItems),widgetPage.insertAddedProduct(w,P,i*n,i,null==l),null==l?widgetPage.clearSection(a):($(".v-seat[data-id='"+l+"']",d).addClass("taken").removeClass("selected").removeClass("available"),$("#seatNumber",d).text(""),$("#seatValidation",d).val(""),$(".customQuestions:visible input",a).val(""),$(".customQuestions:visible input[type='radio']").prop("checked",!1),$(".optionalProducts:visible input[type='checkbox']",a).attr("checked",!1),$(".optionalProducts:visible input[type='text']",a).val(""),widgetPage.checkScrollLocation(a))}},addProductItem:function(e,t,a,i,n){var r=t||$("#ProductId").val(),o=_.find(widgetPage.products,(function(e){return e.Id==r})),s=a||parseInt($("#Quantity").val(),10);if(o){var d=$("#products"),l=null,c=o.Cost,g=o.Name,u=o.Value;if(1==o.Type)o.EndDate?l=convertToDate(o.EndDate):(l=new Date).setMonth(l.getMonth()+o.Value);else if(10!=o.Type&&14!=o.Type||0!=o.Cost){if(11==o.Type&&o.IsStore&&e&&$("select",e).length>0&&$("select.v-withLabels",e).length>0){var p=$("select",e).find(":selected").attr("data-value");void 0!==p&&!1!==p&&(c=parseFloat(p))}}else c=s,s=1;s||(s=1),i&&(g+=" - "+i);var m=$("#InternalCost:visible");widgetPage.internalView&&m.length>0&&m.val()&&!isNaN(m.val())?(c=m.val())>u&&1!=o.Type&&(u=c):n&&(c=n,n>u&&1!=o.Type&&(u=n));var v=_.any(widgetPage.productItems,(function(e){return e.Id==o.Id&&!e.IsGift}));if(widgetPage.addCartItem(o.Id,g,o.Type,s,o.TypeItemId,c,u,l,!1,!1,d,null,null,o.CategoryId,g),$("fieldset.current label[generated]").remove(),!widgetPage.isInline){var h=$("#ProductCategoryContainer"),w=widgetPage.getOtherName();w&&(g=w+" - "+g);var P=widgetPage.groupMemberships&&1==o.Type&&v?0:c;widgetPage.insertAddedProduct(h,g,parseFloat(s*P).toFixed(2),s,11!=o.Type),t||a||widgetPage.clearSection(d)}$("#ProductContainer:hidden").length>0&&$("#ProductId").val(r),widgetPage.singleOperationMode&&!o.IsStore&&$(".item,.fancySelect,.row,.infoRow:not(.addedRow)","#products").hide()}},addFormItem:function(e){var t=e||$("#editId").val(),a=widgetPage.getFormById(t);if(a){var i=$("#forms");widgetPage.addCartItem(a.Id,a.Name,16,1,null,0,0,new Date,!1,!1,i,null,null,null,name),$("fieldset.current label[generated]").remove()}},addBookingItem:function(){var e=$("#ScheduleGroupContainer"),t=$("#NbMonths:visible").length>0?parseInt($("#NbMonths").val(),10):0,a=$("#NbDays:visible").length>0?parseInt($("#NbDays").val(),10):0,i=$("#NbHours:visible").length>0?parseInt($("#NbHours").val(),10):0,n=calendarPage.offerService?1:parseInt($("#NbPlaces").val(),10),r=n,o=(e=$("#ScheduleGroupContainer")).attr("data-name"),s=e.attr("data-value"),d=e.attr("data-roomId"),l=$("#ServiceContainer").attr("data-name"),c=$("#ServiceContainer").attr("data-value"),g=c?$("#ServiceContainer").attr("data-length"):0;if(t>0)g=0!=g?g:30*t*1440,r=t+" "+bookings.resources.Months.toLowerCase();else if(a>0){g=0!=g?g:1440*a,r=a=a+" "+("1"==e.attr("data-nights")?bookings.resources.Nights.toLowerCase():bookings.resources.Days.toLowerCase())}else i>0&&$("#NbHours:visible").length>0&&(g=0!=g?g:parseInt(i,10)*widgetPage.bkHourlyLength,r=i+" "+bookings.resources.Hours.toLowerCase());var u=formatToDate($("#StartDate").val()),p=$("#TimeId").val(),m=formateDateWithHours(u,p),v=$("#StartDate").is(":visible")?widgetPage.datepicker.formatDate(bookings.dateFormat,u)+" - "+formatEventTime(m):"",h=getBookingTitle(o,l,r,v),w=$("#bookingCost").is(":visible")?$("#bookingCost").text():$("#eventFree").val(),P=$("#Comment").val(),f=widgetPage.unformatCost(w),C=guid();if(calendarPage.bookings.push({Id:C,originalId:C,ScheduleGroupId:s,CompanyId:calendarPage.calendar.CompanyId,UserId:userId,Year:m.getYear(),DayOfYear:m.getDate(),StartTime:m,Length:g,NbPlaces:n,Title:h,ServiceId:c,Comment:P,Status:1,Registration:!1,ServiceName:l,QuantityTitle:r,Group:o}),widgetPage.groupData){var b=new Date(m.getTime());b.setMinutes(m.getMinutes()+g),widgetPage.groupData.events.push({id:C,originalId:C,createdBy:userId,userId:userId,places:n,groupId:s,start:new Date(m),end:b,title:h,status:1})}var y=$("#book");widgetPage.addCartItem(C,h,8,1,d,f,f,m,!1,!1,y,s,null),widgetPage.insertAddedProduct(e,h,w,1,!0),widgetPage.calculateCartCount(),widgetPage.clearSection(y),widgetPage.singleOperationMode&&($(".item,.fancySelect,.row,.infoRow:not(.addedRow)",y).hide(),$(".addToCart").hide()),widgetPage.enableLocationSearch&&$("#searchContent").is(":visible")&&$("#BookDisplayRow,#LocationContainer,#ScheduleGroupContainer,#ServiceContainer,#StartDateContainer,#TimeContainer,#commentsRow,#BookInternalCostContainer").hide()},completeStep:function(e,t){if($("#IdTab").hasClass("current")){bookings.inDialogConfirmation=!0;var a=!$(".hasAccount",widgetPage.content).is(":checked");agenda.currentCompanyId=calendarPage.companyId;var i=$("#userId").val(),n=function(e){if(t(),clearForSection($("#identification")),widgetPage.getConfirmContent(),$("#signOut").removeClass("hidden"),a){var i=widgetPage.internalView?$("#NewRegistration").text():$("#NewRegistrationInternal").text();addSuccessMessage($("#confirm .confirmContent"),i)}widgetPage.clientLoginFn&&widgetPage.clientLoginFn(e)};widgetPage.internalView&&!a?(bookings.inDialogConfirmation=!1,i&&i!=bookings.emptyGuid?n({userId:i}):addErrorMessage($("fieldset.current"),$("#SelectClient").text())):(widgetPage.setNoPassword(),agenda.processAccount($("#identification"),n,!0,(function(){$("#identification .switchItem.forgot",widgetPage.content).show()}),widgetPage.internalView,!1,widgetPage.companyData.HasOverrideCheckout))}else if($("#ConfirmTab").hasClass("current")&&_.size(widgetPage.confirmActions)>0&&(e||!widgetPage.enforceConfirmStep)){$("#loadContent .loader").hide(),clearForSection($("#confirm"));i=$("#userId").val();var r=$("#First").val().trim(),o=_.filter(widgetPage.productItems,(function(e){return(1<=e.Type&&e.Type<=9||12==e.Type)&&e.Cost>0}));if(widgetPage.uniqueAssig&&_.uniq(o,(function(e){return e.Id+e.Type+(e.UserId?e.UserId:"")})).length!=o.length&&r&&_.any(o,(function(e){return e.FirstName&&e.FirstName.trim().toUpperCase()==r.toUpperCase()})))throw addErrorMessage($("fieldset.current div:visible:first"),bookings.resources.DuplicateRegistration),"Duplicate entry";widgetPage.clientCheckCartFN&&widgetPage.clientCheckCartFN(),showProgress((function(){for(;_.size(widgetPage.confirmActions)>0;){widgetPage.confirmActions.shift()()}hideProgress(),$("#loadContent .loader").show(),widgetPage.processError?$("#ConfirmTab").click():($("a.btn").hide(),t())}))}else $("#CompleteTab").hasClass("current")||$("#PaymentTab").hasClass("current")?($("a.btn").hide(),t()):t()},nextSection:function(){var e=$("fieldset.current").prevAll("fieldset").length;if(e<8){var t=$("#section-tabs li:gt("+e+"):visible:first").index();$("#section-tabs li").eq(t).addClass("active"),widgetPage.goToSection(t)}},goToSection:function(e){var t=$("fieldset.current");if(clearAllMessageCotentsForSection(t),widgetPage.validateError&&widgetPage.validFields>0&&"book"!=t.attr("id"))return addInfoMessage(t.find(">:first-child"),$("#WidgetIncompleteForm").html()),widgetPage.validateError=!1,widgetPage.validFields=0,bookings.isScrolledIntoView($("#section-tabs"))||$("html, body").animate({scrollTop:$("#section-tabs").offset().top+"px"},"fast"),!1;if($("#section-tabs li:eq("+e+"):not([data-pos])").length>0&&0==$("#section-tabs li[data-pos].validated").length&&0==_.size(widgetPage.productItems))return addErrorMessage(t,$("#CartItemRequired").html()),!1;t.hasClass("noInput")&&t.attr("id")==$("fieldset:eq("+e+")").attr("id")||"complete"==$("fieldset").eq(e).attr("id")||clearForSection(t),widgetPage.inDefaultSelection=!1,$("label.error,label.valid",t).remove(),$("fieldset:gt("+e+")").removeClass("current").addClass("next"),$("fieldset:lt("+e+")").removeClass("current"),$("#section-tabs li").eq(e).addClass("current").siblings().removeClass("current");var a=$("#CompleteTab").hasClass("current"),i=$("#PaymentTab").hasClass("current");$("#back").toggle(0!=e&&!a),$("#reset").toggle(a),$(".addToCart").toggle(!(a||i||widgetPage.enableLocationSearch||widgetPage.singleOperationMode||$("#IdTab").hasClass("current")||$("#ConfirmTab").hasClass("current")||0!=$(".storeDisplay .product",$("fieldset").eq(e)).length)),$("#next").toggle(!a&&!i),$(".cartExit",widgetPage.content).toggle(_.size(widgetPage.productItems)>0&&e!=$("#section-tabs li.active:last").index()),$("fieldset").eq(e).removeClass("next").addClass("current active"),$(".infoRow.addedRow",t).show(),$("#ConfirmTab").hasClass("current")?(widgetPage.getConfirmContent(),$("#PaymentTab").removeClass("active")):$("#PaymentTab").hasClass("current")||($("#next").removeClass("disabled").data("disabled",!1),$("#PaymentTab").removeClass("active")),a?widgetPage.clearCart():widgetPage.clientNextFn&&widgetPage.clientNextFn(),widgetPage.clientDefaultAction(!0),widgetPage.setVisibility(),widgetPage.setPictures(widgetPage.getCurrentSectionGuid())},nextTriggered:function(e){widgetPage.validateError=!1,widgetPage.validFields=0;var t=$("fieldset.current").find("input.required:visible,select.required:visible,textarea.required:visible"),a=0==t.length||t.valid(),i=$("fieldset.current");if($("#IdTab").hasClass("current")&&!a)return e.preventDefault(),!1;if(a){if(widgetPage.inDefaultSelection=!1,$(".selectedItem",i).addClass("hidden"),$(".default_hidden",i).removeClass("default_hidden"),clearMessageContents(),!i.attr("data-item-id"))switch(t=$("fieldset.current").find("input.required:visible,select.required:visible,textarea.required:visible"),i.attr("id")){case"registration":widgetPage.addCourseItem();break;case"eventFieldset":widgetPage.addEventItem();break;case"book":t.length>0&&widgetPage.addBookingItem();break;case"products":t.length>0&&widgetPage.addProductItem()}widgetPage.checkScrollLocation()}widgetPage.completeStep(a,(function(){widgetPage.nextSection(),widgetPage.internalView&&widgetPage.checkScrollLocation(),widgetPage.clientNextFn?widgetPage.clientNextFn():widgetPage.clientDefaultAction(!0)})),i.removeAttr("data-item-id")},clearSection:function(e){$("input",e).val(""),$('input[type="radio"]').prop("checked",!1),$("select",e).prop("selectedIndex",0),$("label[generated='true']",e).remove(),_.each($(".customSelectInner",e),(function(e){var t=$(e).closest("div").find("select");$(e).text(t.attr("placeholder"))})),widgetPage.clearCustomQuestions(),widgetPage.clearOptionalProducts(),widgetPage.clearRegisterOther(),$(".infoRow:not(.addedRow)",e).hide(),$(".infoContent",e).hide()},initValidate:function(){1==(1&widgetPage.maskMode)&&$("#Phone,.otherPhone,.telephone,.alt_telephone").mask("999-999-9999"),2==(2&widgetPage.maskMode)&&$("#Postal,.otherZip").mask("99999"),4==(4&widgetPage.maskMode)&&($.mask.definitions.l="[A-Za-z]",$("#Postal,.otherZip,.zip").mask("l9l 9l9"),$("#Postal,.otherZip").on("blur",(function(){$(this).val($(this).val().toUpperCase())}))),jQuery.validator.addMethod("passHasDigit",(function(e,t){return $("#First",widgetPage.content).is(":hidden")||isNaN(e)&&/\d/.test(e)}),$("#ValidateMaxLengthMessage").text()),jQuery.validator.addMethod("passHasUpper",(function(e,t){return $("#First",widgetPage.content).is(":hidden")||e.toUpperCase()!=e&&e.toLowerCase()!=e}),$("#PasswordContainUpperAndLowerCase").text()),jQuery.validator.addMethod("maxlength",(function(e,t,a){return""==e||e.length<=a})),jQuery.validator.addMethod("phoneCheck",(function(e,t,a){return e&&/^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$/.test(e)})),jQuery.validator.addMethod("checkDateOfBirth",(function(e,t){if(!$("#DOB",widgetPage.content).is(":visible"))return!0;var a=$("#DOB").datepicker("getDate"),i=convertToDate(a);i&&!isNaN(i.getTime())||(i=new Date(a));var n=new Date;return n.setFullYear(n.getFullYear()-widgetPage.minAge),n>i}),bookings.resources.MinAgeRequired.replace("{0}",widgetPage.minAge)),jQuery.extend(jQuery.validator.messages,{email:$("#InvalidEmail").text(),minlength:jQuery.validator.format($("#ValidateRequiredMessage").text()),maxlength:jQuery.validator.format($("#ValidateMaxLengthMessage").text()),passHasDigit:jQuery.validator.format($("#DigitsAndLetters").text()),passHasUpper:jQuery.validator.format($("#UpperAndLowerCase").text()),phoneCheck:$("#InvalidPhone").text(),checkDateOfBirth:bookings.resources.MinAgeRequired.replace("{0}",widgetPage.minAge)}),$("#widgetContainer").validate({success:function(e){e.addClass("valid").text("✓"),widgetPage.validFields++},onfocusout:!1,ignoreTitle:!0,ignore:".ignore",onkeyup:!1,showErrors:function(e,t){if(void 0!==t[0]){var a=$(t[0].element);a.hasClass("error")&&a.next("label").removeClass("valid"),widgetPage.validateError||(widgetPage.validateError=!0,widgetPage.inPopup?bookings.isScrolledIntoView(a)||$("html, body").animate({scrollTop:a.offset().top+"px"},"fast"):bookings.isScrolledIntoView(a)||widgetPage.isInsidePortal()||(window.top.postMessage({valueScroll:a.offset().top},"*"),window.top.postMessage({location:a.offset().top},"*"),$("html, body").animate({scrollTop:a.offset().top+"px"},"fast")))}this.defaultShowErrors(),bookings.mobileRender?$("fieldset.current").find("label.error:not(.valid)").closest("div").addClass("errorRow"):$("fieldset.current").find("label.error:not(.valid)").closest(".row").addClass("errorRow")},onsubmit:!1,rules:{email:{required:!0,email:!0},ignore:{required:!1,minlength:0},address:{required:$(".address:visible",widgetPage.content).length>0,minlength:7},name:{required:$("#Name",widgetPage.content).is(":visible"),minlength:6},password:{required:!0,minlength:6,passHasDigit:!0,passHasUpper:!0},phoneNumber:{phoneCheck:!0},phone:{required:$("#Phone",widgetPage.content).is(":visible"),minlength:7},postal:{required:$("#Postal",widgetPage.content).is(":visible"),minlength:4,maxlength:10},gender:{required:$("#Gender",widgetPage.content).is(":visible"),min:1},DOB:{checkDateOfBirth:widgetPage.minAge>0}},messages:{gender:$("#SelectGender").text()}})},checkScrollLocation:function(e,t){if(console.log("Check scroll location"),t||(t="slow"),e||(e=widgetPage.internalView&&$("#inlineWidget").length>0?$("#inlineWidget"):$("#section-tabs")),bookings.inIframe())window.parent.postMessage({location:e.offset().top},"*"),widgetPage.enableScroll&&window.parent.postMessage({scroll:e.offset().top},"*");else if(!bookings.isScrolledIntoView(e)){var a=e.offset().top-100;$("html, body").animate({scrollTop:a+"px"},t)}},checkActiveConnection:function(){var e=$("#userId").val(),t=$("#Name").val(),a=widgetPage.content.hasClass("paypalForm");if(console.log("uid: "+e+" , name: "+t+" , paypal: "+a),!widgetPage.internalView&&0==widgetPage.interval){if(!e||e==bookings.emptyGuid||a&&!t)return widgetPage.nbChecks++>10?(clearInterval(widgetPage.interval),void(widgetPage.nbChecks=0)):void(widgetPage.interval=setInterval((function(){ajaxServerCall("Account","HasActiveSession",{},(function(e){console.log("Check active: "+e),e.value&&(clearInterval(widgetPage.interval),widgetPage.interval=0,$("#userId").val(e.userId),$("#Email").val(e.email),$("#Name").val(e.name),$("#IdTab").hasClass("current")&&($("#IdTab").removeClass("current").removeClass("hidden"),$("#ConfirmTab").addClass("active").click()))}),(function(e){}))}),1e3));$("#IdTab").hasClass("current")&&($("#IdTab").removeClass("current").removeClass("hidden"),$("#ConfirmTab").addClass("active").click())}},initFormEvents:function(){widgetPage.initValidate(),$(".addToCart").on("click",(function(e){$(this);var t=$("fieldset.current"),a=t.find("input.required:visible,select:visible,textarea:visible");if(widgetPage.validateError=!1,0!=a.length&&a.valid()||0==a.length){switch(widgetPage.inDefaultSelection=!1,$(".selectedItem",t).addClass("hidden"),$(".default_hidden",t).removeClass("default_hidden"),clearMessageContents(),t.attr("id")){case"registration":widgetPage.addCourseItem();break;case"eventFieldset":widgetPage.addEventItem();break;case"book":widgetPage.addBookingItem();break;case"products":widgetPage.addProductItem();break;case"forms":widgetPage.addFormItem()}var i=parseInt($("#widgetContainer").css("min-height"),10);$("#widgetContainer").css("min-height",i+30),widgetPage.checkScrollLocation();var n=$(this).hasClass("form");if(widgetPage.productItems.length>0&&$(this).hasClass("fundraiser")||n){e.stopImmediatePropagation(),widgetPage.getConfirmContent();var r=function(e){for(;_.size(widgetPage.confirmActions)>0;){widgetPage.confirmActions.shift()()}widgetPage.processError||(n?$("#CompleteTab").addClass("current noInput active").trigger("click"):($("#Email").val($(".email:visible").val()),$("#PaymentTab").addClass("active").trigger("click")))};agenda.processAccount(t,r,!1,(function(){clearMessageContents(),agenda.processAccount(t,r,!1,null,!0,!0)}),!0)}}if(widgetPage.clientAddCartFn)widgetPage.clientAddCartFn();else if(!widgetPage.embedded)try{window.top.postMessage({calendarTop:1},"*")}catch(e){}widgetPage.clientDefaultAction(!0)})),$(widgetPage.content).on("click",".optionStart.actionable",(function(){var e=$(this),t=e.closest("fieldset"),a=$(".registerOtherContent",e.parent()),i=!1,n=!1;if(widgetPage.otherAutoConfigure||e.hasClass("autoConfigure")){a.show();var r=$(".registerOtherContent:first",t);bookings.createUiTooltip($("span.tooltip-icon",a)),$("input[type!=hidden],select",r).each((function(){$(this).prev("label").text($(this).attr("data-alt").replace("{0}",1)),$(this).attr("data-placeholder",$(this).attr("data-alt").replace("{0}",1))}));var o=$(".registerOtherContent",t).length,s=$("#EventPlaces",t).val()?parseInt($("#EventPlaces",t).val(),10):1;if(s<=0&&(s=1,$("#EventPlaces",t).val("1")),widgetPage.otherCount>0&&(s=widgetPage.otherCount),-1==widgetPage.otherCount&&(s+=1),s>1&&o<s-1)do{var d=$(".registerOtherContent:last",t);d.clone().insertAfter(d),d=$(".registerOtherContent:last",t),$("input[type!=hidden],select",d).each((function(){$(this).prev("label").text($(this).attr("data-alt").replace("{0}",o+1)),$(this).attr("name",$(this).attr("name")+(o+1).toString()),$(this).attr("data-placeholder",$(this).attr("data-alt").replace("{0}",o+1)).val("")}))}while(++o<s-1);else if(o>s-1)do{$(".registerOtherContent:visible",t).length<=1?$(".registerOtherContent:last",t).hide():$(".registerOtherContent:last",t).remove()}while(--o>s-1);$(".registerOtherContent",t).toggle(s>1),$("#EventPlaces:visible").length>0&&$(".registerAnotherSection",t).toggle(s>1),bookings.setCapitalization(t)}else if(a.is(":hidden")){i="true"==e.attr("data-family"),n="1"==e.attr("data-type");r=$(".registerOtherContent:first",t);$("input[type!=hidden],select",r).each((function(){var e=i?$(this).attr("data-alt-child"):$(this).attr("data-label");$(this).prev("label").text(e),$(this).attr("data-placeholder",e)}));var l=$(".otherType",t).attr("data-initial")?$(".otherType",t).attr("data-initial"):"User";$(".otherType",t).val(n&&i?"Child":l),$(".registerOtherDOBRow",t).toggle((n||4==(4&widgetPage.inlineRequiredFields))&&widgetPage.companyData.Widget.AskDOB),$(".registerOtherGenderRow",t).toggle((n||8==(8&widgetPage.inlineRequiredFields))&&widgetPage.companyData.Widget.AskGender),a.show()}else $("input",a).val(""),a.hide();widgetPage.others.length>0&&$(".registerOtherContent",t).each((function(){var e=$(this);$(".otherFirst",e).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(widgetPage.others,e.term))},minLength:0,delay:0,select:function(t,a){return i&&n||$(".otherFirst",e).val(a.item.first).trigger("focusin"),$(".otherLast",e).val(a.item.last).trigger("focusin"),$(".otherEmail",e).val(a.item.email).trigger("focusin"),$(".otherPhone",e).val(a.item.phone).trigger("focusin"),$(".otherAddress",e).val(a.item.address).trigger("focusin"),$(".otherZip",e).val(a.item.zip).trigger("focusin"),!1}}),e.on("click",".autoCompleteOther",(function(){$(this).closest(".customElement").find("input").autocomplete("search","").focus()})),$(".autoCompleteOther",e).style("display","inline-block","important")})),widgetPage.clientDefaultAction()})),$(widgetPage.content).on("mouseover",".autoCompleteReg",(function(){var e=$(this);e.hasClass("setAC")||(e.addClass("setAC"),widgetPage.setRegistrationSelection(e))})),$(widgetPage.content).on("keydown","#CourseStartDate,#StartDate,#EventStartDate",(function(){$(this).val("")})),$(widgetPage.content).on("change","div.fancySelect select",(function(e){var t=$(this).closest(".fancySelect"),a=$(this).find(":selected");if(a.hasClass("disabled"))return e.preventDefault(),!1;$("input[type=hidden]",t).val(a.attr("data-value")).trigger("change")})),$(widgetPage.content).on("click",".editItem",(function(){var e=$(this),t=(e.hasClass("inSection")?e.closest("div.addedRow"):e.closest("li")).attr("data-id");if(t&&"0"!=t){var a=$("#editId",widgetPage.content).val(),i=_.find(widgetPage.productItems,(function(e){return e.Index==t}));if(i){var n=widgetPage.selectEditItem(i.Id,null,a==i.Id);n||(n=widgetPage.selectEditItem(i.GroupId,null,a==i.GroupId))&&widgetPage.selectEditItem(i.Id,null,a==i.Id),setTimeout((function(){6==i.Type||12==i.Type?($("#EventPlaces").val(i.Quantity),$("#EventTicketId").val(i.TypeItemId).trigger("change")):10==i.Type||14==i.Type?$("#Quantity").val(i.Cost):$("#Quantity").val(i.Quantity);for(var t=_.filter(calendarPage.calendar.Questions,(function(e){return e.ForItem==i.Id&&e.Code})),a=bookings.reconstructFields(t,i.Notes),n=$(".customQuestions:visible"),r=0,o=a.length;r<o;r++)$("[data-code='"+a[r].code+"']",n).val(a[r].value).change().trigger("focusin");if(i.OtherData){a=bookings.reconstructFields([{Code:"OtherFirst"},{Code:"OtherLast"},{Code:"OtherEmail"},{Code:"OtherPhone"},{Code:"OtherAddress"},{Code:"OtherPostal"},{Code:"OtherDOB"},{Code:"OtherGender"}],i.OtherData),$("fieldset.current .optionStart.actionable").trigger("click");var s=$(".registerOtherContent:visible");for(r=0,o=a.length;r<o;r++)$("[data-code='"+a[r].code+"']",s).val(a[r].value).change()}e.hasClass("inSection")||$("fieldset.current").attr("data-item-id",i.Id)}),350),e.hasClass("inSection")&&e.next(".removeItem").click()}}})),$(widgetPage.content).on("click",".v-widgetContinue",(function(){$("#IdTab").click()})),$(widgetPage.content).on("click",".removeItem",(function(){var e=$(this),t=e.closest("li").attr("data-id")?e.closest("li").attr("data-id"):"0",a=e.hasClass("insideCart")?$("#fieldsets div.addedRow[data-id='"+t+"']"):e.closest(".addedRow");if(a.length>0&&(t=a.attr("data-id")),t&&"0"!=t){var i=_.find(widgetPage.productItems,(function(e){return e.Index==t&&e.Type>3&&e.SelectionId}));i&&$(".v-seat[data-id='"+i.SelectionId+"']").removeClass("taken").removeClass("selected").addClass("available"),widgetPage.productItems=_.reject(widgetPage.productItems,(function(e){return e.Index==t}))}if($("#book").hasClass("current")&&$("#searchContent").toggle(widgetPage.enableLocationSearch&&widgetPage.locations.length>0),a.remove(),widgetPage.calculateCartCount(),0==_.size(widgetPage.productItems)&&$("#section-tabs li.current:not([data-pos])").length>0&&$("#section-tabs li:first").click(),widgetPage.singleOperationMode){var n=$("fieldset.current");$(".infoRow.addedRow",n).remove(),$(".item,.fancySelect,.row",n).show(),"products"==n.attr("id")&&$("#ProductRadios input").length>1&&$("#ProductCategoryContainer,#ProductContainer").hide()}})),$(widgetPage.content).on("click",".selectItem",(function(){var e=$(this).closest(".searchRow");$("#bookDisplayLabel,#BookDisplayRow,#LocationContainer,#ScheduleGroupContainer,#ServiceContainer,#StartDateContainer,#TimeContainer,#commentsRow").show();var t=e.attr("data-locationId");$("#LocationId").val(t).trigger("change");var a=e.attr("data-groupId");$("#ScheduleGroupId").val(a).trigger("change");var i=$("#ServiceId");if(1==$("option:not([disabled])",i).length){var n=$("option:not([disabled])",i).val();i.val(n).trigger("change")}setTimeout((function(){var e=$("#SearchStartDate").datepicker("getDate");widgetPage.selectStartTime(e,$("#StartDate"));var t=parseInt($("#SearchStartTimeId").val().substring(0,2),10).toString()+":00";$("#TimeContainer input[type=text], #TimeContainer select").prop("disabled",!1),$("#TimeContainer option[data-value='"+t+"']").trigger("click").trigger("change");var a=formateDateWithHours(e,t),i=formateDateWithHours(convertToDate($("#SearchEndDate").datepicker("getDate")),$("#SearchEndTimeId").val()),n=Math.ceil((i.getTime()-a.getTime())/36e5);$("#NbHours").is(":visible")&&$("#NbHours").prop("disabled",!1).val(n).trigger("keyup"),$("#NbPlaces").val($("#SearchNbPlaces").val()),widgetPage.clientSelectItemFn&&widgetPage.clientSelectItemFn()}),300)})),$(".socialLogIn:not(.facebookShare)").on("click",(function(e){widgetPage.checkActiveConnection()})),$(document).on("click",".ss_share a",(function(e){var t=$(this);window.open(t.attr("data-url"),null,"width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0")})),$(".balanceOwedCheck").on("change",(function(e){var t=$(this),a=parseFloat($(".memberBalanceOwed").val()),i=$("#memberTabPaymentItem"),n=0;t.is(":checked")?(i.hide(),n=a,i.hasClass("selected")&&$(".paymentItem:visible:first").click()):(i.show(),n=-1*a),$("#payment .orderAmount").each((function(){var e=$(this);if(e.is("input"))e.val(parseFloat(e.val())+n);else{var t=widgetPage.unformatCost(e.text());t=parseFloat(t+n).toFixed(2),e.text(widgetPage.formatCost(t))}}))})),$("#findLocation").on("click",(function(e){var t=$("#book");$(".validation-summary-errors",t.parent()).remove(),$(".searchResultRow",t.parent()).remove();var a=!0;if($(".message-summary, .validation-summary-errors",bookings.container).remove(),$("#BookDisplayRow,#LocationContainer,#ScheduleGroupContainer,#ServiceContainer,#StartDateContainer,#TimeContainer,#commentsRow,.bookingInfoRow,.memberDiscountRow,.eventDescRow").hide(),$("#searchContent input:visible",t).each((function(){!a||""!=$(this).val()||$(this).hasClass("phantom")||$(this).closest(".item").hasClass("phantom")||(a=!1)})),a){var i=!1,n=calendarPage.availabilityForAnyRoom($("#SearchStartDate").val(),$("#SearchStartTimeId").val(),$("#SearchEndDate").val(),$("#SearchEndTimeId").val(),$("#SearchNbPlaces").val()),r=$("#bookDisplayLabel");r.hide(),_.each(n,(function(e){var t=getGroup(e.Group),a=t?t.OfficeId:e.Group,n=t?widgetPage.getLocation(a):"";n?(widgetPage.insertSearchResult(r,e.Id,e.Group,n,a,e.Name,e.Capacity,e.Description),i=!0):_.each(widgetPage.locations,(function(t){_.contains(t.groups,e.Group)&&(widgetPage.insertSearchResult(r,e.Id,e.Group,t.label,t.value,e.Name,e.Capacity,e.Description),i=!0)}))})),i?widgetPage.singleOperationMode||widgetPage.enableLocationSearch||$(".addToCart").show():addInfoMessage($("#searchContent"),bookings.resources.NoAvailablePerson),widgetPage.clientLocationSearchFN&&widgetPage.clientLocationSearchFN()}else addErrorMessage(t,$("#SearchFieldMissing").text())})),$("body").on("keypress","form",(function(e){if(13==e.which&&"textarea"!=$(event.target)[0].type)return e.stopPropagation(),!1})),$("#next").on("click",(function(e){if($(this).data("disabled"))return e.preventDefault(),!1;bookings.inDialogConfirmation||widgetPage.nextTriggered(e)})),$("#back").on("click",(function(e){var t=$("fieldset.current").prevAll("fieldset").length,a=$("#section-tabs li:lt("+t+"):visible:last").index();$("#section-tabs li").eq(a).addClass("active"),widgetPage.goToSection(a)})),$("#reset").on("click",(function(e){clearForSection($("fieldset")),$("#section-tabs li").removeClass("current");var t=$("#fieldsets");$(".fancySelect input[type='hidden']",t).val(""),$(".fancySelect input[type='text']",t).val(""),$("div.item:not(.switchItem) input[type='text']:not(.name)",t).val("").prop("disabled",!0),$("fieldset",t).removeClass("current"),$("div.infoRow span:last-child",t).html(""),$("div.infoRow:not(.addedRow)",t).hide(),$("div.addedRow",t).remove(),$("div.searchRow:not(.searchFixture)",t).remove(),$("a.btn").hide(),$(".addToCart").show(),$("#next").show(),$("#BookingOtherId,#BookingOtherFullName").val(""),widgetPage.internalView?($("#userId").val(bookings.emptyGuid),$("#Name,#First,#Last,#Email,#Phone,#Address,#Postal,#Prefix,#AltPhone,#DOB").val(""),$("#Gender").val("0").trigger("change")):widgetPage.hideIdentificationOnReset&&$("#userId").val()!=bookings.emptyGuid&&$("#IdTab").removeClass("active").removeClass("current").addClass("hidden"),widgetPage.reset(),widgetPage.calculateCartCount(),widgetPage.clearSection($("fieldset.current")),$("#section-tabs li.active:first").addClass("current").trigger("click"),widgetPage.enableLocationSearch&&widgetPage.setLocationDisplay($("#LocationContainer"),$("#ScheduleGroupContainer")),widgetPage.resetWidgetFN&&widgetPage.resetWidgetFN()})),$("form").on("submit",(function(e){if(widgetPage.inDefaultSelection=!1,widgetPage.validateError=!1,0==_.size(widgetPage.productItems)||!$("fieldset.current").find("input:visible,select:visible,textarea:visible").valid())return e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0,e.stopImmediatePropagation(),!1;widgetPage.clientSubmitFn&&widgetPage.clientSubmitFn(),widgetPage.clientDefaultAction(!0)})),$(".collapsibleButton,.collapsibleHeader").on("click",(function(e){widgetPage.clientDefaultAction(!0)})),$("#section-tabs li").on("click",(function(e){var t=$(this).prevAll("li").length;$(this).hasClass("active")&&widgetPage.goToSection(t)})),$("#ReadLicense").on("click",(function(e){$("#next").toggleClass("disabled").data("disabled",!1)})),$(".cartExit").on("click",(function(e){if(0==_.size(widgetPage.productItems))$(this).hide();else{var t=$("#IdTab").prevAll("li").length;$("#ConfirmTab").hasClass("active")&&t++,widgetPage.goToSection(t)}return e.stopPropagation(),!1})),$(".signOut").on("click",(function(e){return ajaxServerCall("Account","LogOffAccount",{},(function(e){e&&($("#userId").val(bookings.emptyGuid),$("#reset").click(),$(".signOut").hide(),$("#IdTab").addClass("active").removeClass("hidden"))})),e.stopPropagation(),!1})),$(widgetPage.content).on("click"," div.h-courseItem ul.fancylist li",(function(){var e=$(this),t=$(this).closest(".fancySelect").closest("li"),a=_.find(widgetPage.productItems,(function(e){return e.Index==t.attr("data-id")}));a&&(a.UserId=e.attr("data-value"))})),$(".bPopupButton").on("click",(function(){window.parent.postMessage({popupClose:!0},"*")})),$(".supportContentHelp").on("click","input[type='text'],textarea",(function(){"true"!=$(this).attr("data-set")&&($(this).val("").addClass("entered"),$(this).attr("data-set","true"))})),$(".supportContentHelp").on("focusout","input[type='text'],textarea",(function(){""==$(this).val()&&$(this).val($(this).attr("data-message")).removeClass("entered").attr("data-set","false")})),$(".widgetSupportButton").on("click",(function(){var e=$(this).closest(".supportContentHelp");$(".message-summary,.validation-summary-errors",e).remove(),$("input[type='text'],textarea",e).removeClass("boxError");var t=$(".name",e),a=!1;if(_.each($("input[type='text'],textarea",e),(function(i){"true"==$(i).attr("data-set")&&""!=$(i).val().trim()||(a=!0,$(i).addClass("boxError"),addErrorMessage(t,e.attr("data-message").replace("{0}",$(i).attr("data-item"))))})),!a){var i=$(".name",e),n=$(".email",e),r=$(".message",e);ajaxServerCall("Home","WidgetSupport",{name:i.val(),email:n.val(),message:r.val()},(function(e){e.error?addErrorMessage(t,e.message):(i.val(i.attr("data-message")).attr("data-set","false"),n.val(n.attr("data-message")).attr("data-set","false"),r.val(r.attr("data-message")).attr("data-set","false"),addSuccessMessage(t,e.message))}),(function(e){addErrorMessage(t,e)}))}}))},setDescWidth:function(e){var t=widgetPage.content.width();e.css("width",t-170+"px"),bookings.mobileRender||e.css("left","0px").css("padding-left","22px")},setClassRestrictions:function(){var e=widgetPage.companyData.Widget.RestrictToMembers,t=widgetPage.companyData.Widget.RestrictHasBookingInPastMonths,a=$("#PreRegisterContent");(e||null!=t&&t>0)&&!a.hasClass("setRestrict")&&(e&&$(".successMessage",a).append("<br/>"+a.attr("data-alt-member")),null!=t&&t>0&&$(".successMessage",a).append("<br/>"+a.attr("data-alt-booking").replace("{0}",t)),a.addClass("setRestrict").show())},setClassSelection:function(){var e=$("#ScheduleCoursesContainer");$("#ScheduleCoursesContainer input[type=text]").prop("disabled",_.size(calendarPage.calendar.Groups)>0);var t=widgetPage.convertMobileList(e),a=new Date;widgetPage.setClassRestrictions();_.size(_.uniq(widgetPage.scheduleCourses,(function(e){return e.ScheduleGroupName}))),_.size(_.uniq(_.filter(widgetPage.scheduleCourses,(function(e){return 1==e.DaysOfWeek||2==e.DaysOfWeek||4==e.DaysOfWeek||8==e.DaysOfWeek||16==e.DaysOfWeek||32==e.DaysOfWeek||64==e.DaysOfWeek})),(function(e){return convertToDate(e.StartDate).getDOY()})));var i=[],n=_.map(widgetPage.scheduleCourses,(function(e){var t=getCourseForSchedule(e.ScheduleCourseId);if(t&&(widgetPage.showClassStart||!_.contains(i,e.ScheduleCourseId))){i.push(e.ScheduleCourseId);var a=t.NbPlaces-e.Registered;0==a&&null==t.CostSession&&null!=t.CostSingle&&(a=1);var n=convertToDate(e.StartTime),r=convertToDate(e.EndTime),o=convertToDate(e.StartDate),s=convertToDate(e.EndDate),d=widgetPage.datepicker.formatDate(bookings.dateFormat,o)+" - "+widgetPage.datepicker.formatDate(bookings.dateFormat,s)+" ("+formatEventTime(n)+")",l=(r-n)/6e4,c=t.Name;return widgetPage.showClassStart&&(c+=" ("+$.datepicker.formatDate("DD MM dd",o)+" - "+formatEventTime(n)+")"),{label:c,value:e.ScheduleCourseId,groupId:e.ScheduleGroupId,costSingle:t.CostSingle,costSession:t.CostSession,tickets:t.Tickets,length:l,days:d,start:o,end:s,available:a,startTime:n,position:t.Position,nbPlaces:t?t.NbPlaces:0,inscriptionType:t.InscriptionType,active:t.Active,scheduleId:e.Id}}}));n=_.sortBy(n,(function(e){return e?e.position+e.label:"99999"}));var r=widgetPage.getListElement();_.each(n,(function(e){if(e&&(1!=e.active||widgetPage.internalView)&&(!e.Expiration||convertToDate(e.Expiration)>a||widgetPage.internalView)){var i=getGroup(e.groupId),n=3==e.inscriptionType?e.costSingle:e.costSession,o=_.size(e.tickets),s=$(r,{"data-value":e.value,value:e.value}).text(e.label).attr("data-groupId",e.groupId).attr("data-membersOnly",!!i&&i.MembersOnly).attr("data-costSingle",e.costSingle).attr("data-costSession",n).attr("data-tickets",o>0).attr("data-length",e.length).attr("data-days",e.days).attr("data-end",e.end.getTime()).attr("data-avail",e.available).attr("data-startDate",e.start.getTime()).attr("data-startTime",e.startTime.getHours()+":"+e.startTime.getMinutes()).attr("data-scheduleId",e.scheduleId).attr("data-places",e.nbPlaces).attr("data-session",e.inscriptionType);widgetPage.setOption(s,e.available,null,e.active),t.append(s)}})),e.removeClass("hidden"),$("#CourseRegistrationRow").hide()},setEventSelection:function(){var e=$("#ScheduleEventsContainer"),t=widgetPage.convertMobileList(e),a=new Date,i=[];_.each(_.sortBy(widgetPage.scheduleEvents,(function(e){return e.Position+e.ScheduleEventName})),(function(e){var n=_.find(calendarPage.calendar.Events,(function(t){return t.Id==e.ScheduleEventId}));if(n&&widgetPage.excludeRegistrationClosed&&2==n.Active&&(n=null),n){var r=n.NbPlaces-e.Registered,o=convertToDate(e.StartTime),s=convertToDate(e.EndTime),d=convertToDate(e.StartDate),l=convertToDate(e.EndDate),c=(new Date(d.getFullYear(),d.getMonth(),d.getDate(),o.getHours(),o.getMinutes()),(s-o)/6e4),g=getGroup(e.ScheduleGroupId),u=n.Name;if(n.RestrictEndDate&&convertToDate(n.RestrictEndDate)>a)u=u+" - ("+$("#MembersUntilDate").text().replace("{0}",widgetPage.datepicker.formatDate(bookings.dateFormat,convertToDate(n.RestrictEndDate)))+")";var p=widgetPage.getListElement();if(n&&(widgetPage.internalView||1!=n.Active&&(!n.Expiration||convertToDate(n.Expiration)>a))&&!_.contains(i,e.ScheduleEventId)){i.push(e.ScheduleEventId);var m=_.size(n.Tickets),v=n.SeatCosts&&_.size(n.SeatCosts)>0,h=_.size(_.filter(widgetPage.scheduleEvents,(function(e){return e.ScheduleEventId==n.Id}))),w=$(p,{"data-value":e.ScheduleEventId}).val(e.ScheduleEventId).text(u).attr("data-groupId",e.ScheduleGroupId).attr("data-membersOnly",!!g&&g.MembersOnly).attr("data-groupName",e.ScheduleGroupName).attr("data-costTicket",n.CostSingle).attr("data-tickets",m>0).attr("data-chartId",n.ChartId).attr("data-onlyCharts",n.ChartId||_.size(_.filter(n.Tickets,(function(e){return e.ChartId})))==m).attr("data-length",c).attr("data-avail",r).attr("data-isMulti",h>1?"true":"false").attr("data-hasSeatOptions",v).attr("data-maxRegister",n.MaxRegister>0?n.MaxRegister:1e4).attr("data-startDate",d.getTime()).attr("data-endDate",(areEqualDates(d,l),l.getTime())).attr("data-startTime",o.getHours()+":"+o.getMinutes());widgetPage.setOption(w,r,n,n.Active),t.append(w)}}})),e.removeClass("hidden")},setGroupSelection:function(){if(0==_.size(calendarPage.calendar.Groups))widgetPage.setWidgetGroupData(calendarPage.emptyGuid);else{widgetPage.locations=[];var e=$("#LocationContainer"),t=widgetPage.convertMobileList(e),a=$("#ScheduleGroupContainer"),i=widgetPage.convertMobileList(a),n=$("#CourseScheduleGroupContainer"),r=widgetPage.convertMobileList(n),o=!1,s=0,d=widgetPage.getListElement();_.each(calendarPage.calendar.Groups,(function(e){var a=getGroupDescription(e.Id),n=$(d,{"data-value":e.Id,value:e.Id}).val(e.Id).text(e.Name).attr("data-services",e.ServiceIds).attr("data-places",Math.max(1,e.NbPlaces)).attr("data-officeId",e.OfficeId).attr("data-membersOnly",e.MembersOnly);if(o=o||e.ServiceIds&&_.size(e.ServiceIds)>0,e.Buffer&&n.attr("data-buffer",e.Buffer),a&&n.attr("data-descId",a),e.Private&&!widgetPage.internalView||(i.append(n),s++),null!=e.OfficeId&&null==widgetPage.customLocations){var l=_.find(widgetPage.locations,(function(t){return t.value==e.OfficeId}));if(l)l.groups.push(e.Id);else{var c=widgetPage.getLocation(e.OfficeId);c&&(t.append($(d,{"data-value":e.OfficeId,value:e.OfficeId}).text(c)),widgetPage.locations.push({value:e.OfficeId,label:c,groups:[e.Id]}))}}(!e.Private||widgetPage.internalView)&&calendarPage.hasClasses&&_.some(calendarPage.calendar.Schedules,(function(t){return t.ScheduleGroupId==e.Id&&null!=t.ScheduleCourseId}))&&r.append(n.clone())})),!o&&s>2&&calendarPage.offerService&&i.prepend($(d,{"data-value":calendarPage.emptyGuid,"data-places":1}).text(bookings.resources.Any)),null!=widgetPage.customLocations&&(_.each(widgetPage.customLocations,(function(e){t.append($(d,{"data-value":e.value,value:e.value}).text(e.label))})),$("#LocationContainer").css("display","inline-block")),widgetPage.enableLocationSearch&&!widgetPage.internalView&&(widgetPage.setLocationDisplay(e,a),widgetPage.setLocationSearch()),a.removeClass("hidden"),n.removeClass("hidden"),$("#ScheduleCoursesContainer select").prop("disabled",!0)}},setLocationDisplay:function(e,t){e.css("display","inline-block"),t.prop("disabled",!0),$("select",t).prop("disabled",!0),$("#book .searchRow.searchItem").show(),$("#book .item.searchItem").css("display","inline-block"),$("#book .searchItem").removeClass("searchItem"),$("#searchContent").show(),$("#BookDisplayRow,#LocationContainer,#ScheduleGroupContainer,#ServiceContainer,#StartDateContainer,#TimeContainer,#commentsRow,#BookInternalCostContainer").hide(),$("#SearchStartDate,#SearchStartTimeId,#SearchEndDate,#SearchEndTimeId,#SearchNbPlaces").prop("disabled",!1),$(".addToCart").hide()},setLocationSearch:function(){var e=new Date,t={minDate:0,maxDate:"+"+(null!=calendarPage.calendar.Settings.AdvanceDays?calendarPage.calendar.Settings.AdvanceDays:0)+"d"};setDateAndTimePickers({},$("#SearchStartDateContainer"),t),setDateAndTimePickers({stepMinute:5,hour:e.getHours()},$("#SearchStartTimeContainer")),setDateAndTimePickers({},$("#SearchEndDateContainer"),t),setDateAndTimePickers({stepMinute:5,hour:e.getHours()},$("#SearchEndTimeContainer"))},setServiceType:function(){var e=$("#ServiceContainer"),t=$("#NbPlaces");if($("input[type=text]",e).prop("disabled",_.any(calendarPage.calendar.Groups)),$("input[type=text]",t).prop("disabled",!0),calendarPage.offerService){$("input[type=text]",e).prop("disabled",$("#ScheduleGroupContainer").is("visible"));var a=widgetPage.convertMobileList(e),i=widgetPage.getListElement();_.each(_.filter(calendarPage.calendar.Services,(function(e){return e.Active||widgetPage.internalView})),(function(e){var t=""!==$.trim(e.Price)?e.Price:"-1";a.append($(i,{"data-value":e.Id}).text(e.Item).attr("data-length",e.Length).attr("data-desc",e.Description).attr("data-text",e.Item).attr("data-cost",t).attr("data-desc",e.Description))})),e.removeClass("hidden")}else calendarPage.hasRooms&&t.attr("placeholder",t.attr("data-alt-label")),$("input[type=text]",t).prop("disabled",$("#ScheduleGroupContainer").is("visible")),t.show()},setProductSelection:function(){var e=widgetPage.companyData.Settings.StoreDisplay,t=$("#categoryId",widgetPage.content).val(),a=($("#editId",widgetPage.content).val(),$("#productsContent",widgetPage.content).val()),i=null;if(t!=bookings.emptyGuid&&null!=(i=_.find(widgetPage.products,(function(e){return e.CategoryId==t})))&&(widgetPage.companyData.Widget.ProductsTabName=i.CategoryName),widgetPage.products=_.filter(widgetPage.products,(function(t){return(widgetPage.internalView||t.Active)&&(0==e||1==e&&1==t.Type||2==e&&1!=t.Type||2<=t.Type&&t.Type<=5)})),1==a?(widgetPage.products=_.filter(widgetPage.products,(function(e){return 1==e.Type||13==e.Type})),$("#Quantity").closest(".item").hide()):2==a&&(widgetPage.products=_.filter(widgetPage.products,(function(e){return 1!=e.Type}))),_.size(widgetPage.products)>0){widgetPage.products=_.some(widgetPage.products,(function(e){return e.Position>0}))?_.sortBy(widgetPage.products,"Position"):_.sortBy(widgetPage.products,"Cost");var n=$("#ProductCategoryContainer");n.removeClass("hidden"),list=widgetPage.convertMobileList(n);var r=[],o=widgetPage.getListElement(),s=$("#ProductContainer"),d=$("#MerchandiseCategories"),l=($("#Quantity"),$("#CategoryRadios")),c=$(".list",l);c.html("");var g=_.filter(_.sortBy(widgetPage.products,"CategoryPosition"),(function(e){return(null==e.TypeItemId||e.TypeItemId==bookings.emptyGuid||13==e.Type||2<=e.Type&&e.Type<=5)&&null!=e.CategoryId&&(t==bookings.emptyGuid||t==e.CategoryId||i)&&(e.Type<6||9<e.Type||13==e.Type)}));widgetPage.allMembershipsDisplay=!widgetPage.internalView&&_.countBy(g,(function(e){return 1==e.Type||10==e.Type||e.Type>=12})).true==_.size(g),widgetPage.allMembershipsDisplay=widgetPage.allMembershipsDisplay||widgetPage.forceMembershipDisplay&&!widgetPage.internalView;var u=bookings.uniqId();_.each(g,(function(e){if(!_.contains(r,e.CategoryId)&&(10!=e.Type&&14!=e.Type||widgetPage.internalView)&&(list.append($(o,{"data-value":e.CategoryId}).val(e.CategoryId).text(e.CategoryName)),r.push(e.CategoryId),e.IsStore&&d.append("<div class='categoryItem' data-value='"+e.CategoryId+"'>"+e.CategoryName+"</div>"),widgetPage.allMembershipsDisplay)){var t=bookings.uniqId();c.append("<input id="+t+" name="+u+" type='radio' title='"+e.CategoryName+"' data-label='"+e.CategoryName+"'   class='long floatItem'  data-value='"+e.CategoryId+"' /><label for='"+t+"'>"+e.CategoryName+"</label><br/>")}})),$("input:first",l).addClass("required"),l.css("display",widgetPage.allMembershipsDisplay?"inline-block":"none"),n.css("display",widgetPage.allMembershipsDisplay?"none":"inline-block"),s.css("display",widgetPage.allMembershipsDisplay?"none":"inline-block"),$("#Quantity").toggle(!widgetPage.allMembershipsDisplay),$("#ProductRadios").hide(),0==_.size(r)&&list.prepend($(o,{"data-value":bookings.emptyGuid}).text(bookings.resources.All)),widgetPage.convertMobileList(s),$("input[type=text], select",s).prop("disabled",!0),$("#Quantity").prop("disabled",!0)}},checkDateForSelection:function(){$("#TimeId1").val(""),$("#StartDate").val(""),!$("#ScheduleGroupContainer").is(":hidden")&&$("#ScheduleGroupId").val()==bookings.emptyGuid&&"Any"!=$("#ScheduleGroupContainer").attr("data-name")||!$("#ServiceContainer").is(":hidden")&&$("#ServiceId").val()==bookings.emptyGuid||($("#StartDate").prop("disabled",!1),widgetPage.groupData&&widgetPage.groupData.freeDays.length>=1&&widgetPage.selectStartTime(widgetPage.groupData.freeDays[0].start,$("#StartDate")))},checkCourseDateForSelection:function(e){e&&!$("#RegisterCourse").is(":checked")&&($("#CourseTimeId").val(""),$("#CourseStartDate").val("")),!$("#CourseScheduleGroupContainer").is(":hidden")&&$("#CourseScheduleGroupId").val()==bookings.emptyGuid||!$("#ScheduleCoursesContainer").is(":hidden")&&$("#ScheduleCourseId").val()==bookings.emptyGuid||$("#CourseStartDate").prop("disabled",!1)},checkEventDateForSelection:function(){$("#ScheduleEventId").val()!=bookings.emptyGuid&&$("#EventStartDate").prop("disabled",!1)},getBookingInfo:function(){var e=$("#ScheduleGroupContainer").attr("data-roomId"),t=e?getRoomForSchedule(e):null,a=formatToDate($("#StartDate").val()),i=$("#TimeId").val(),n=formateDateWithHours(a,i),r=0,o=0;return $("#NbDays:visible").length>0&&(r=parseInt($("#NbDays").val(),10)),$("#NbMonths:visible").length>0&&(r=30*parseInt($("#NbMonths").val(),10)),$("#NbHours:visible").length>0?o=parseInt($("#NbHours").val(),10):0==r&&(o=1),{room:t,st:n,days:r,hours:o,length:1440*r+o*widgetPage.bkHourlyLength}},checkBookingLength:function(){var e=formatToDate($("#StartDate").val()),t=$("#TimeId").val(),a=formateDateWithHours(e,t),i=new Date(a),n=!0;if($("#NbDays:visible").length>0)for(var r=parseInt($("#NbDays").val(),10);n&&r-- >1;)a.setDate(a.getDate()+1),n=!calendarPage.hasBookingForDay(a,widgetPage.groupData);else if($("#NbMonths:visible").length>0){var o=parseInt($("#NbMonths").val(),10),s=(new Date,new Date);s.setMonth(s.getMonth()+o),n=!0}else{var d=1;$("#NbHours:visible").length>0&&(d=parseInt($("#NbHours").val(),10));var l=$("#ScheduleGroupContainer"),c=l.attr("data-room-capacity")?parseInt(l.attr("data-room-capacity"),10):1;60!=widgetPage.bkHourlyLength?i.setMinutes(i.getMinutes()+d*widgetPage.bkHourlyLength):i.setHours(i.getHours()+d),n=!calendarPage.hasBookingForTime(a,i,widgetPage.groupData)&&calendarPage.hasAvailabilityForTime(a,i,widgetPage.groupData,c)}return n},selectLocation:function(e){var t=$("#ScheduleGroupContainer");t.prop("disabled",!1),$("select",t).prop("disabled",!1);var a=e.attr("data-value"),i=widgetPage.getListElementLit();if(void 0===a||""==a)$(i,t).show();else{var n=a.split(",");$(i,t).hide(),null!=widgetPage.customLocations?_.each(n,(function(e){$(i+"[data-value='"+e+"']",t).show()})):0==$(i+"[data-officeId='"+a+"']",t).length?$(i+"[data-value='"+a+"']",t).show():$(i+"[data-officeId='"+a+"']",t).show()}},calculateDailyRoomCost:function(e,t,a){var i=null;if(a){var n=a.split(","),r=e.getDay();for(i=parseFloat(n[r]),t-=1440;t>0;)t-=1440,6==r&&(r=-1),r++,i+=parseFloat(n[r])}return i},calculateRoomCost:function(e){var t=e.room,a=0;if(t){if(!(a=widgetPage.calculateDailyRoomCost(e.st,e.length,t.DayCosts))&&t.CostDay&&(a=t.CostDay*Math.ceil(e.length/1440)),t.CostHour){var i=t.CostHour*(e.length/60);a=a?Math.min(a,i):i}if(!a||t.CostWeek&&t.CostWeek<a){var n=t.CostWeek*Math.ceil(e.length/10080);a=a?Math.min(a,n):n}if(!a||t.CostMonth&&t.CostMonth<a){var r=t.CostMonth*Math.ceil(e.length/43800);a=a?Math.min(a,r):r}t.CostDay&&e.length<1440&&(!a||t.CostDay<a)&&(a=t.CostDay)}var o=$("#BookInternalCost:visible");return widgetPage.internalView&&o.length>0&&o.val()&&!isNaN(o.val())&&(a=o.val()),a},selectGroup:function(e){var t=$("#ServiceContainer"),a=$("#ScheduleGroupContainer");a.attr("data-dailyRoom",!1);var i=widgetPage.getListElementLit();if($("#BookInternalCost").toggle(widgetPage.internalView&&!widgetPage.isRequestMode),calendarPage.offerService){var n=e.attr("data-services");if(void 0===n||""==n)$(i,t).show();else{var r=n.split(",");$(i,t).hide(),_.each(r,(function(e){$(i+"[data-value='"+e+"']",t).show()}))}$("input:visible, select",t).prop("disabled",!1)}var o=e.attr("data-value");if(a.attr("data-name",e.text()).attr("data-value",o).attr("data-places",e.attr("data-places")),clearMessageContentFrom($("fieldset.current")),o!=bookings.serviceGuid&&widgetPage.setWidgetGroupData(o),widgetPage.setSectionItems(!0),$("#ServiceId").val(""),$("#book div.infoRow:not(.addedRow)").hide(),setTimeout((function(){widgetPage.checkDateForSelection()}),200),calendarPage.offerService)e.attr("data-buffer")&&a.attr("data-buffer",e.attr("data-buffer"));else{a.attr("data-dailyRoom",!1),a.removeAttr("data-buffer");var s,d=getGroupDescription(o);if(e.attr("data-buffer")&&a.attr("data-buffer",e.attr("data-buffer")),d&&null!=(s=getRoomForSchedule(d))){a.attr("data-roomId",d);var l=$(".bookingInfoRow"),c=null!=s.CostDay&&s.CostDay>0,g=!c||null!=s.CostHour&&s.CostHour>0,u=c?parseFloat(s.CostDay):parseFloat(s.CostHour);$("#NbMonths").toggle(c&&s.MultiWeek).val("").prop("disabled",!0),$("#NbDays").toggle(c&&s.MultiDay).val("").prop("disabled",!0),$("#NbHours").toggle(g||c&&!s.MultiDay).removeClass("hidden").attr("data-daily",c).val("").prop("disabled",!0);var p=g||!s.MultiDay;$("#TimeContainer").toggle(p).val(""),a.attr("data-room-capacity",s.Capacity),p?$("#TimeContainer").removeClass("hidden"):$("#TimeContainer").addClass("hidden"),a.attr("data-dailyRoom",c),l.toggle(u>0),widgetPage.setItemCost(u,!0),widgetPage.displayMemberCost($("#bookingMemberDiscount"),u,s.DiscountAmountMember,s.DiscountPercMember,1),$("#ServiceContainer").attr("data-length",60),$("#bookingDesc").html(s.Description),$("#book .eventDescRow").show(),widgetPage.addSectionItems(d),widgetPage.inDefaultSelection&&($("#selectedGroupLabel").removeClass("hidden").text(e.text()),$("#LocationContainer,#ScheduleGroupContainer").addClass("default_hidden"))}}"true"==e.attr("data-membersOnly")&&0==widgetPage.productItems.length&&0==$("#book .info.membersBookings").length&&addInfoMessage(a,bookings.resources.BookingForMembers,"membersBookings"),widgetPage.clientSelectGroupFn&&widgetPage.clientSelectGroupFn()},displayMemberCost:function(e,t,a,i,n){var r=null!==a&&""!==a&&!isNaN(a)||null!==i&&""!==i&&!isNaN(i);if(null!=r&&r&&n&&n>0&&t&&t>0?e.closest(".memberDiscountRow").show():e.closest(".memberDiscountRow").hide(),r&&n){var o="",s=null!=n&&null!=n&&parseInt(n,10)>1?(parseInt(n,10)*parseFloat(a)).toFixed(2):a;if(null==s||isNaN(s)){l=t-i/100*t;var d=Math.max(1,parseInt(n,10));o=widgetPage.formatCost(l*d)}else{var l=t*n-s;o=widgetPage.formatCost(l)}e.text(o)}},unformatCost:function(e){return Number(e.replace(/[^0-9.-]+/g,""))},formatCost:function(e,t){var a="";switch(void 0===e?e="":t||(e=parseFloat(e).toFixed(2)),widgetPage.currency){case"AUD":case"CAD":case"MXN":case"USD":a="$"+e;break;case"GBP":a="£"+e;break;case"EUR":a="€"+e;break;default:a=e+" "+widgetPage.currency}return a},setItemCost:function(e,t){var a=t?"#bookingCost":"#courseValue";!e||0==e.length||""==$.trim(e)||isNaN(e)||0==parseInt(e,10)?$(a).text($("#eventFree").val()):$(a).text(widgetPage.formatCost(e))},selectCourseGroup:function(e){var t=e.attr("data-value"),a=$("#ScheduleCoursesContainer"),i=widgetPage.getListElementLit();$(i,a).attr("style","display: none !important"),$(i+"[data-groupId='"+t+"']",a).show(),$("input:visible, select",a).prop("disabled",!1);var n=e.attr("data-value");$("#CourseScheduleGroupContainer").attr("data-name",e.text()).attr("data-value",n),$("#ScheduleCoursesContainer,#CourseDateContainer,#CourseTimeContainer").removeClass("phantom"),widgetPage.setWidgetGroupData(n),widgetPage.setSectionItems(!0),widgetPage.inDefaultSelection&&(e.length>0&&($("#selectedCourseLabel").removeClass("hidden").text(e.text()),$("#ogTitle,#ogDesc").attr("content",e.text()),$("#ogURL").attr("content",document.location.href)),$("#CourseScheduleGroupContainer").addClass("default_hidden")),$("#ScheduleCourseId").val(""),$("#registration div.infoRow:not(.addedRow)").hide(),setTimeout((function(){widgetPage.checkCourseDateForSelection(!0)}),80)},setCourseTickets:function(e,t){if(!e){var a=t.attr("data-value");e=getCourseForSchedule(a)}var i="true"==t.attr("data-tickets"),n=$("#CourseTicketContainer");n.closest(".ticketSection").toggle(i);var r=!widgetPage.companyData.Widget.RegisterOthers||widgetPage.otherAutoConfigure;if($("#CoursePlacesContainer").toggle(r),r&&$("#CoursePlaces").val("1"),i){if(n.removeClass("hidden"),e){var o=widgetPage.convertSelectList(n),s=widgetPage.getListElement(),d=widgetPage.getEventAvailable(e),l=new Date;widgetPage.internalView||(e.Tickets=_.filter(e.Tickets,(function(e){return e.Active})));var c=_.sortBy(e.Tickets,(function(e){return e.Position}));_.each(c,(function(t){var a=t.NbPlaces>0?Math.max(0,t.NbPlaces-t.Registered):d,i=t.Name;a<=0?i+=" ("+bookings.resources.SoldOut+")":widgetPage.showQuantityLeft&&(i+=" ("+bookings.resources.Remaining+": "+a+")");var n=t.CostSingle,r="";a>0&&t.ExpirationDate&&convertToDate(t.ExpirationDate)<l&&(i+=" ("+bookings.resources.Expired+")",a=0);var c=t.Discount?t.Discount:e.DiscountAmountMember;if(c||(c=""),a>0&&t.EarlyBirdCost&&t.EarlyBirdExpiration&&convertToDate(t.EarlyBirdExpiration)>l){n=t.EarlyBirdCost;var g=convertToDate(t.EarlyBirdExpiration);r=bookings.resources.EndsOn+" "+widgetPage.datepicker.formatDate(bookings.dateFormat,g)+" "+formatEventTime(g)}else if($("#RegisterCourse").is(":checked")&&widgetPage.enableProratedSessions){var u=$("#ScheduleCoursesContainer").attr("data-scheduleId"),p=getScheduleById(u),m=calendarPage.getNbOccurencesOfSchedule(p),v=calendarPage.getNbOccurencesOfSchedule(p,new Date);v<m&&(n=parseFloat(n*(v/m)).toFixed(2))}a>0&&(i+=" - "+widgetPage.formatCost(n));var h=$(s,{"data-value":t.Id,"data-cost":n,"data-avail":a,"data-places":t.NbPlaces,"data-regularCost":t.CostSingle,"data-memberDiscount":c,"data-chartId":t.ChartId,"data-earlyBirdExp":r}).val(t.Id).text(i);widgetPage.internalView&&!t.Active&&(a=-1),widgetPage.setOption(h,a,null,t.Active),o.append(h)})),o.trigger("render")}$("#CoursePlaces").addClass("required")}else n.addClass("hidden");i&&!$("#CourseTimeId").val()&&$("#courseCost").closest(".infoRow").hide()},selectCourse:function(e){var t=e.attr("data-value"),a=getCourseForSchedule(t),i=parseInt(e.attr("data-session"),10),n=1==i||2==i;$("#RegisterCourse").attr("data-costSingle",e.attr("data-costSingle")).attr("data-costSession",e.attr("data-costSession")).attr("data-days",e.attr("data-days")).attr("data-endDate",e.attr("data-end")),$("#RegisterCourse").prop("checked",1==i||3==i).prop("disabled",1==i||3==i).trigger("change"),$("#ScheduleCoursesContainer").attr("data-name",e.text()).attr("data-length",e.attr("data-length")).attr("data-places",e.attr("data-places")).attr("data-endDate",e.attr("data-end")).attr("data-scheduleId",e.attr("data-scheduleId")),$("#CourseInternalCost").toggle(widgetPage.internalView);var r=e.attr("data-costSingle");$("#courseCost").val(r),widgetPage.displayMemberCost($("#courseMemberDiscount"),r,a.DiscountAmountMember,a.DiscountPercMember,1),$("#CourseStartDate").val(""),$("#CourseTimeId").val("");var o=$(".courseInfoRow:not(.addedRow)"),s=e.attr("data-avail");if(parseInt(s,10)<=0&&!widgetPage.internalView)$("#registration .errorMessageItem").show(),o.hide(),$("#next").hide(),$(".courseDependantItem").hide(),widgetPage.clearCustomQuestions(),widgetPage.clearOptionalProducts();else{$("#registration .errorMessageItem").hide(),$("#daysValue",o).text(e.attr("data-days")),o.show(),$("#next").show(),$(".courseDependantItem").show(),$("#CourseDateContainer").toggle(0==i||2==i||4==i),$("#CourseTimeContainer").toggle(0==i||2==i||4==i),$("#registration .eventDescRow").show(),$("#courseWhen").html(a.When);var d=null!=a.When&&a.When.length>3||null!=a.Address&&a.Address.length>8;if($("#registration .whenContent").toggle(d),null!=a.Address&&a.Address.length>8&&widgetPage.setGoogleMap($("#courseWhen"),a.Address),a&&!widgetPage.internalView&&a.Header&&jQuery.trim(a.Header).length>5)$("#instructionsContent").html(a.Header).attr("style","margin-bottom: 20px").show();$("#courseWhom").html(a.Whom),$("#registration .whomContent").toggle(null!=a.Whom&&a.Whom.length>3);var l=new Date(parseInt(e.attr("data-startDate"),10)),c=new Date(parseInt(e.attr("data-startDate"),10));if(c<new Date&&1!=i&&4!=i){c=new Date;var g=new Date;g.setDate(g.getDate()+35);var u=null;if(e.attr("data-scheduleId")&&(u=getScheduleById(e.attr("data-scheduleId"))))for(var p=calendarPage.getWeekOfMonthForSchedule(u.Type);c<=g&&!hasDay(c.getDay(),u.DaysOfWeek)>0||!(0==p||p<=4&&p==c.getWeekOfMonth()||p>=5&&monthDiff(l,c)%2==0&&p-4==c.getWeekOfMonth()||-1==p&&calendarPage.hasFrequency(c,l,c,u.Type));)c.setDate(c.getDate()+1)}1==i&&$("#CourseTimeId").val(e.attr("data-startTime")),widgetPage.setCourseTickets(a,e),4==i?widgetPage.clientDefaultAction():setTimeout((function(){if($("#CourseStartDate").datepicker("setDate",c),1!=i){var e=$.datepicker._getInst($("#CourseStartDate")[0]);$.datepicker._get(e,"onSelect").apply(e.input[0],[$("#date").datepicker("getDate"),e])}widgetPage.addSectionItems(t)}),80)}a.Description&&($("#eventDescCourse").html(a.Description),$("#registration .eventDescRow").show()),"true"==e.attr("data-membersOnly")&&0==widgetPage.productItems.length&&0==$("#registration .info.courseBookings").length&&addInfoMessage($("#CourseScheduleGroupContainer"),bookings.resources.CourseForMembers,"courseBookings"),$("#CourseRegistrationRow").toggle(n),widgetPage.clientSelectCourseFn&&widgetPage.clientSelectCourseFn()},getEventAvailable:function(e){var t=0,a=0;return _.each(e.Tickets,(function(e){a+=e.NbPlaces,0==e.NbPlaces&&(t+=e.Registered)})),e.NbPlaces-a-t},selectEvent:function(e){var t=e.attr("data-value"),a=getEventForSchedule(t),i=$("#eventFieldset"),n=parseInt(e.attr("data-avail"),10);$(".infoRow:not(.addedRow)",i).hide();var r=e.attr("data-groupId");$("#ScheduleEventsContainer").attr("data-name",e.text()).attr("data-length",e.attr("data-length")).attr("data-groupName",e.attr("data-groupName")).attr("data-groupId",r).attr("data-startTime",e.attr("data-startTime")).attr("data-endDate",e.attr("data-endDate")).attr("data-avail",e.attr("data-avail")).attr("data-eventId",t),$("#EventSeatingChartContainer").hide(),$("#EventInternalCost,#EventTicketInternalCost").toggle(widgetPage.internalView),widgetPage.internalView||$("#EventInternalCost,#EventTicketInternalCost").parent().remove(),console.log("Event selected: "+t+", available: "+n),widgetPage.setWidgetGroupData(r);var o=new Date(parseInt(e.attr("data-startDate"),10));if("true"==e.attr("data-isMulti")?$("#EventStartDate").show():$("#EventStartDate").datepicker("setDate",o).closest(".item").hide(),clearMessageContentFrom(i),n<=0)$(".errorMessageItem",i).show(),$(".eventInfoRow",i).hide(),$("#EventPlaces").prop("disabled",!0).val(""),$("#EventTicketContainer").addClass("hidden");else{var s=e.attr("data-costTicket"),d=parseInt(e.attr("data-maxRegister"),10);$("#EventPlaces").attr("data-avail",n).attr("data-maxRegister",d).prop("disabled",!1).val(""),$("#eventDesc",i).html(a.Description),$(".eventDescRow",i).removeClass("hidden").show(),$("#eventWhen",i).html(a.When);var l=null!=a.When&&a.When.length>3||null!=a.Address&&a.Address.length>8;if($(".whenContent",i).toggleClass("hidden",!l),null!=a.Address&&a.Address.length>8&&widgetPage.setGoogleMap($("#eventWhen"),a.Address),$("#eventWhom",i).html(a.Whom),$(".whomContent",i).toggleClass("hidden",!(null!=a.Whom&&a.Whom.length>3)),!s||0==s.length||""==$.trim(s)||"0"==$.trim(s)||isNaN(s)){$("#eventCost").val("0");var c=widgetPage.preLoad&&a.Tickets&&a.Tickets.length>0?"":$("#eventFree").val();$("#eventValue").text(c),$("#EventPlaces").attr("data-cost","free")}else $("#eventCost").val(s),$("#eventValue").text(widgetPage.formatCost(s)),$("#EventPlaces").attr("data-cost",s);1==d&&$("#EventPlaces").val(1);var g="true"==e.attr("data-tickets"),u=$("#EventTicketContainer");u.closest(".ticketSection").removeClass("hidden"),(g||d>1)&&u.closest(".ticketSection").show(),$("#EventPlacesContainer").toggle(d>1&&(!widgetPage.companyData.Widget.RegisterOthers||widgetPage.otherAutoConfigure));var p=$("#eventMemberDiscount");p.attr("data-discAmount",a.DiscountAmountMember),p.attr("data-discPerc",a.DiscountPercMember);var m=g&&$("#EventTicketId").val()||!g&&$("#EventPlaces").val()?1:0;if(widgetPage.displayMemberCost(p,s,a.DiscountAmountMember,a.DiscountPercMember,m),g){if(u.removeClass("hidden"),a=getEventForSchedule(e.attr("data-value"))){var v=widgetPage.convertSelectList(u),h=widgetPage.getListElement(),w=widgetPage.getEventAvailable(a),P=new Date;widgetPage.internalView||(a.Tickets=_.filter(a.Tickets,(function(e){return e.Active})));var f=_.sortBy(a.Tickets,(function(e){return e.Position}));_.each(f,(function(e){var t=e.NbPlaces>0?Math.max(0,e.NbPlaces-e.Registered):w,i=t<=0?e.Name+" ("+bookings.resources.SoldOut+")":e.Name,n=e.CostSingle,r="";t>0&&e.ExpirationDate&&convertToDate(e.ExpirationDate)<P&&(i+=" ("+bookings.resources.Expired+")",t=0);var o=e.Discount?e.Discount:a.DiscountAmountMember;if(o||(o=""),t>0&&e.EarlyBirdCost&&e.EarlyBirdExpiration&&convertToDate(e.EarlyBirdExpiration)>P){n=e.EarlyBirdCost;var s=convertToDate(e.EarlyBirdExpiration);r=bookings.resources.EndsOn+" "+widgetPage.datepicker.formatDate(bookings.dateFormat,s)+" "+formatEventTime(s)}t>0&&(i+=" - "+widgetPage.formatCost(n)),widgetPage.showQuantityLeft&&(i+=" ("+bookings.resources.Remaining+": "+t+")");var d=$(h,{"data-value":e.Id,"data-cost":n,"data-avail":t,"data-places":e.NbPlaces,"data-regularCost":e.CostSingle,"data-memberDiscount":o,"data-chartId":e.ChartId,"data-earlyBirdExp":r}).val(e.Id).text(i);widgetPage.internalView&&!e.Active&&(t=-1),widgetPage.setOption(d,t,null,e.Active),v.append(d)})),v.trigger("render")}}else u.addClass("hidden");if(e.attr("data-chartId")&&(widgetPage.loadSeatingChart(e.attr("data-chartId")),u.addClass("hidden")),widgetPage.inDefaultSelection){var C=e.text();if(-1==C.indexOf(",")&&"false"==e.attr("data-isMulti")){var b=formateDateWithHours(o,e.attr("data-startTime")),y=e.attr("data-endDate")?new Date(parseInt(e.attr("data-endDate"),10)):b,I=parseInt(e.attr("data-length"),10),S=new Date(b.getTime()+6e4*I);areEqualDates(o,y)||calendarPage.getDaysDiff(o,y)>30?C+=" ("+widgetPage.datepicker.formatDate(bookings.dateFormat,o)+" - "+formatEventTime(b)+" - "+formatEventTime(S)+")":C+=" ("+widgetPage.datepicker.formatDate(bookings.dateFormat,o)+" - "+formatEventTime(b)+" "+bookings.resources.To+" "+widgetPage.datepicker.formatDate(bookings.dateFormat,y)+" - "+formatEventTime(S)+")"}if($("#selectedEventLabel").removeClass("hidden").text(C),$("#ogTitle,#ogDesc").attr("content",C),$("#ogURL").attr("content",document.location.href),$("#ScheduleEventsContainer").addClass("default_hidden"),a&&!widgetPage.internalView&&a.Header&&jQuery.trim(a.Header).length>5)$("#instructionsContent").html(a.Header).attr("style","margin-bottom: 20px").show()}"true"==e.attr("data-membersOnly")&&0==widgetPage.productItems.length&&0==$("#eventFieldset .info.eventBookings").length&&addInfoMessage($("#selectedEventLabel"),bookings.resources.EventForMembers,"eventBookings"),$(".eventInfoRow",i).show()}widgetPage.setSectionItems(!1),widgetPage.addSectionItems(t),widgetPage.clientSelectEventFn&&widgetPage.clientSelectEventFn(),widgetPage.clientDefaultAction()},hasUniqueQuestions:function(){return widgetPage.curQs.length>0&&_.any(widgetPage.curQs,(function(e){return e.Unique}))},hasDuplicateAnswer:function(e,t){var a=bookings.reconstructFields(widgetPage.curQs,t),i=_.filter(widgetPage.curQs,(function(e){return e.Unique})),n=null,r=[];return _.each(i,(function(t){var i=_.find(a,(function(e){return e.code==t.Code}));i&&(null==n||n.length>0)&&(n||null!=n||(n=widgetPage.productItems),(n=_.filter(n,(function(a){return a.Id==e&&a.Notes&&a.Notes.indexOf("("+t.Code+") : "+i.value+"\n")>-1})))&&n.length>0?r.push(t.Name):r=[])})),r},hasDuplicateRegOther:function(e,t){var a=[{Code:"OtherEmail",Name:$("input[data-code='OtherEmail']:visible").attr("data-label")}];2!=widgetPage.uniqueAssig&&4!=widgetPage.uniqueAssig||a.push({Code:"OtherFirst",Name:$("input[data-code='OtherFirst']:visible").attr("data-label")}),3!=widgetPage.uniqueAssig&&4!=widgetPage.uniqueAssig||a.push({Code:"OtherLast",Name:$("input[data-code='OtherLast']:visible").attr("data-label")});var i=null,n=[];return $(".registerOtherContent:visible",t).each((function(){var t=$(this),r=bookings.extractFields(t,!0),o=bookings.reconstructFields(a,r);_.each(a,(function(t){var a=_.find(o,(function(e){return e.code==t.Code}));a&&(null==i||i.length>0)&&(i&&0!=i.length||(i=widgetPage.productItems),(i=_.filter(i,(function(i){return i.Id==e&&i.OtherData&&i.OtherData.indexOf("("+t.Code+") : "+a.value+"\n")>-1})))&&i.length>0?n.push(t.Name):n=[])})),null==i&&(i=[]),i.push({Id:e,OtherData:r})})),n.length==a.length?n:[]},selectCourseTicket:function(e){var t=e.attr("data-cost"),a=e.attr("data-regularcost");$("#eventValueRegular,#earlyBidInfo").text(""),parseFloat(a)>parseFloat(t)&&e.attr("data-earlybirdexp")&&($("#courseValueRegular").text(widgetPage.formatCost(a)),$("#courseEarlyBidInfo").text(e.attr("data-earlybirdexp"))),$("#courseCost").val(t),$("#courseValue").text(widgetPage.formatCost(t)),$("#CoursePlaces").attr("data-cost",t).attr("data-avail",e.attr("data-avail")).attr("data-places",e.attr("data-places"));var i=$("#courseMemberDiscount");i.attr("data-discAmount",e.attr("data-memberDiscount")),i.attr("data-discPerc",""),widgetPage.displayMemberCost(i,t,e.attr("data-memberDiscount"),null,1),""!==$("#CoursePlaces").val()&&$("#CoursePlaces").trigger("keyup"),widgetPage.clientSelectCourseTicketFn&&widgetPage.clientSelectCourseTicketFn(),widgetPage.clientDefaultAction()},hasSeat:function(e,t){return _.find(widgetPage.currentTickets,(function(a){return a.event==e&&a.seat==t}))},loadSeatingChart:function(e){var t=$("#EventSeatingChartContainer");$(".v-seat",t).remove(),ajaxServerCall("POS","GetSeatingChart",{chartId:e,companyId:calendarPage.companyId},(function(e){if(e.value){var a=e.value,i=$(".v-seatingChart",t);$(".v-seatingChartSeats",t).attr("src",a.ImageUrl),_.each(a.Seats,(function(e){var t="<div class='seat v-seat "+(e.Taken||widgetPage.hasSeat(a.EventId,e.Id)?"taken":"available")+"' data-id='"+e.Id+"' style='top:"+e.PosY+"px; left:"+e.PosX+"px; width:"+e.Width+"px; height:"+e.Height+"px;'><div class='v-seatText' data-name='"+e.Name+"'></div></div>";i.append(t)})),t.show(),$(".seatRow",t).show(),$("#EventPlaces").val(1).hide(),widgetPage.clientSeatingChartFn&&widgetPage.clientSeatingChartFn()}}))},selectTicket:function(e){var t=e.attr("data-cost"),a=e.attr("data-regularcost");$("#eventValueRegular,#earlyBidInfo").text(""),parseFloat(a)>parseFloat(t)&&e.attr("data-earlybirdexp")&&($("#eventValueRegular").text(widgetPage.formatCost(a)),$("#earlyBidInfo").text(e.attr("data-earlybirdexp"))),$("#eventCost").val(t),$("#eventValue").text(widgetPage.formatCost(t)),$("#EventPlaces").attr("data-cost",t).attr("data-avail",e.attr("data-avail")).attr("data-places",e.attr("data-places"));var i=$("#eventMemberDiscount");i.attr("data-discAmount",e.attr("data-memberDiscount")),i.attr("data-discPerc",""),widgetPage.displayMemberCost(i,t,e.attr("data-memberDiscount"),null,1),""!==$("#EventPlaces").val()&&$("#EventPlaces").trigger("keyup"),e.attr("data-chartId")?widgetPage.loadSeatingChart(e.attr("data-chartId")):$("#EventSeatingChartContainer").hide(),widgetPage.clientSelectTicketFn&&widgetPage.clientSelectTicketFn(),widgetPage.clientDefaultAction()},selectSeat:function(e,t){var a=$("#ScheduleEventId").val(),i=$("#ScheduleEventId option[data-value='"+a+"']");if($("#ScheduleEventsContainer").attr("data-seatId",e.attr("data-id")).attr("data-seat",$(".v-seatText",e).attr("data-name")),e.addClass("selected"),$("#seatValidation").val(e.attr("data-id")),$("#seatNumber").text($(".v-seatText",e).attr("data-name")),$("#EventSeatingChartContainer .seatRow").show(),$("#seatCostOptions").html(""),$(".customQuestions:visible input").val(""),t&&0==$("#eventFieldset .customQuestionsSection:visible").length&&$(".addToCart").click(),"true"==i.attr("data-hasseatoptions")){var n=$("#EventTicketId").val(),r=_.find(calendarPage.calendar.Events,(function(e){return e.Id==a})),o=null;if(r&&r.SeatCosts&&(o=_.filter(r.SeatCosts,(function(e){return!e.TicketId||e.TicketId==n}))).length>0){var s="<select id='seatOptions' name='seatOptions'  class='long customQuestion floatItem'>{0}</select>",d="<option selected='selected'>-- "+bookings.resources.Options+" --</option><option value='"+bookings.emptyGuid+"'>"+bookings.resources.Default+" ("+$("#eventValue").text()+")</option> ";_.each(o,(function(e){d+="<option data-name='"+e.Name+"' data-cost='"+e.CostSingle+"' value='"+e.Id+"'>"+e.Name+" ("+widgetPage.formatCost(e.CostSingle)+")</option>"})),s=s.replace("{0}",d),$("#seatCostOptions").append(s)}}widgetPage.clientSelectSeatFn&&widgetPage.clientSelectSeatFn()},selectService:function(e){$("#ServiceContainer").attr("data-length",e.attr("data-length")).attr("data-name",e.attr("data-text")).attr("data-value",e.attr("data-value")).attr("data-cost",e.attr("data-cost"));var t=$(".bookingInfoRow"),a=parseFloat(e.attr("data-cost"));t.toggle(a>0),widgetPage.setItemCost(a,!0);var i=getServiceById(e.attr("data-value"));i&&widgetPage.displayMemberCost($("#bookingMemberDiscount"),a,i.DiscountAmountMember,i.DiscountPercMember,1),widgetPage.addSectionItems(e.attr("data-value")),$("#bookingDesc").html(e.attr("data-desc")),$("#book .eventDescRow").show()},selectCategory:function(e){var t=e.attr("data-value");$(".storeDisplay").html(""),widgetPage.setProductsForCategory(t),$("#Quantity").val(""),$("#products div.infoRow:not(.addedRow)").hide(),widgetPage.setSectionItems(!0)},setProductsForCategory:function(e){var t=$("#ProductContainer");$("input, select",t).prop("disabled",!1),list=widgetPage.convertMobileList(t);var a=widgetPage.getListElement(),i=$("#ProductRadios"),n=!1,r=$("#Quantity"),o=_.filter(widgetPage.products,(function(t){return(null==e||t.CategoryId==e)&&(null==t.TypeItemId||t.TypeItemId==bookings.emptyGuid||130==t.Type||2<=t.Type&&t.Type<=5)}));if(_.find(o,(function(e){return e.IsStore}))){$(".addToCart").hide(),widgetPage.preLoad&&($("#MerchandiseCategories").show(),$("#ProductCategoryContainer").hide(),$(".categoryItem[data-value='"+e+"']").addClass("selected")),t.hide(),r.hide().closest(".item").addClass("phantom"),$("#products .eventDescRow").addClass("phantom");var s=$("#pictureGallery");s.hide();var d=$(".storeDisplay");d.html("");var l=0;_.each(o,(function(e){var t=e.Description?bookings.encodeString(e.Description):"",a="<div class='row'>{0}</div>",i=!e.Labels||e.Labels.split(",").length<=1,n=widgetPage.internalView?"<input type='text' class='short internalProdCost' value='"+(i?e.Cost:"")+"' placeholder='"+$("#InternalCost").attr("placeholder")+"' />":widgetPage.formatCost(e.Cost),r="<div class='product' data-id='"+e.Id+"'><div class='image' alt='"+e.Name+"'>{0}<span class='inputHelper small-icons-25 tooltip-icon' title='"+t+"'></span></div><div class='options hidden'>{2}</div><div class='content'><div class='name'>"+e.Name+"</div></div><div class='pricing'>"+n+"</div><div class='addContent'>{1}<span class='addItem'>"+bookings.resources.Add+"</span></div>",o=$("a[data-group='"+e.Id+"']",s);if(o.length>0){if(r=r.replace("{0}",o.outerHTML()),o.length>1){var c="";$.each(o,(function(){c+=$(this).addClass("sub").show().outerHTML()})),r=(r=r.replace("{2}",c)).replace("options hidden","options active")}}else r=r.replace("{0}","");if(!e.Labels||e.Labels.split(",").length<=1)r=r.replace("{1}","<input type='text' class='integer storeItemQty' value='1' max-value='"+e.Inventory+"' />");else{var g="<select class='storeItemSelect short v-withLabels' placeholder='"+bookings.resources.Select+"' title='"+bookings.resources.Select+"' data-label='"+bookings.resources.Select+"' ><option  value='' selected>"+bookings.resources.Select+"</option>{0}</select>",u=bookings.getProductOptions(e.Labels,",");c=widgetPage.getSelectProductOptionsFromData(u,"");g=g.replace("{0}",c),r=r.replace("{1}",g)}++l%4==1||bookings.mobileRender?(a=a.replace("{0}",r),d.append(a)):$(".row:last",d).append(r)})),$(".product .image a",d).show(),bookings.setIntegerValidation(d),bookings.createUiTooltip($("span.tooltip-icon",d)),d.magnificPopup({delegate:"a:visible:not(.sub)",type:"image",tLoading:"Loading image #%curr%...",mainClass:"mfp-img-mobile",gallery:{enabled:!0,navigateByImgClick:!0,preload:[0,1]},image:{tError:'<a href="%url%">The image #%curr%</a> could not be loaded.'}})}else{$(".addToCart").show(),t.show();var c=bookings.uniqId(),g=$(".list",i);g.html(""),_.each(o,(function(e){var t=null==e.CategoryId?bookings.emptyGuid:e.CategoryId;if(n=n||1==e.Type,list.append($(a,{"data-value":e.Id}).val(e.Id).text(e.Name).attr("data-catId",t).attr("data-cost",e.Cost).attr("data-membership",1==e.Type)),widgetPage.allMembershipsDisplay){var i=bookings.uniqId();g.append("<input id="+i+" name="+c+" type='radio' title='"+e.Name+"' data-catId='"+t+"' data-cost='"+e.Cost+"' data-membership='"+(1==e.Type)+"' data-label='"+e.Name+"'   class='long floatItem'  data-value='"+e.Id+"' /><label for='"+i+"'>"+e.Name+"</label><br/>")}})),r.show(!n&&!widgetPage.isInline&&!widgetPage.allMembershipsDisplay),r.closest(".item").removeClass("phantom"),widgetPage.allMembershipsDisplay&&($("input:first",g).addClass("required"),i.css("display","inline-block"),t.hide(),r.hide()),r.prop("disabled",!0);var u=$("#categoryId",widgetPage.content).val();$("#products .eventDescRow").toggleClass("phantom",!n&&!widgetPage.isInline),widgetPage.inDefaultSelection&&widgetPage.enableLockedSelection&&$("#CategoryId").val()==u&&(widgetPage.allMembershipsDisplay?$("#CategoryRadios").hide():($("#selectedProductLabel").removeClass("hidden").text($("#CategoryId option:selected").text()),$("#ProductCategoryContainer").addClass("default_hidden").css("display","")))}widgetPage.clientSelectCategoryFn&&widgetPage.clientSelectCategoryFn(),widgetPage.clientDefaultAction()},selectProduct:function(e,t){var a=e.attr("data-value");a=a||t;var i=widgetPage.getProductById(a),n=$("#products");if(i){$("#ProductContainer").attr("data-cost",e.attr("data-cost")).attr("data-membership",e.attr("data-membership")),widgetPage.addSectionItems(a),$("#ProductId").val(i.Id),$("#eventDescProduct").html(i.Description),$("#products .eventDescRow").toggleClass("phantom",!i.Description||i.Description.length<2),$("#products .eventDescRow").show(),$("#Quantity").toggle((1!=i.Type||widgetPage.showQtyMemberships)&&!i.Labels&&(!widgetPage.isInline||10==i.Type||14==i.Type)||widgetPage.internalView),$("#InternalCost").toggle(widgetPage.internalView);var r=$("#productMemberDiscount");r.attr("data-discAmount",i.DiscAmtMember),r.attr("data-discPerc",i.DiscPercMember),widgetPage.displayMemberCost(r,i.Cost,i.DiscAmtMember,i.DiscPercMember,1);var o=$(".optionStart.actionable",n),s=i.NbMembers>1,d=s?o.attr("data-alt-label"):o.attr("data-label");o.attr("data-type",i.Type).attr("data-family",s.toString().toLowerCase()).text(d),10!=i.Type&&14!=i.Type||0!=i.Cost?($("#productInfoRow").show(),$("#Quantity").attr("placeholder",$("#Quantity").attr("data-label")).removeClass("cost").addClass("integer").closest(".item").show(),(1==i.Type&&!widgetPage.showQtyMemberships||1==i.Type&&widgetPage.registerOtherProducts)&&$("#Quantity").val("1").trigger("keyup").hide()):($("#productInfoRow").hide(),$("#Quantity").attr("placeholder",$("#Quantity").attr("data-alt-label")).addClass("cost").removeClass("integer").closest(".item").show()),$("#Quantity").trigger("change"),$("#Quantity:visible").length>0&&$("#Quantity").prop("disabled",!1),i.Inventory?$("#Quantity").attr("max-value",i.Inventory):$("#Quantity").removeAttr("max-value"),widgetPage.clientSelectProductFn&&widgetPage.clientSelectProductFn(),widgetPage.inDefaultSelection&&widgetPage.enableLockedSelection&&($("#ProductCategoryContainer").is(":visible")||$("#ProductRadios").is(":visible"))&&10!=i.Type&&14!=i.Type&&($("#selectedProductLabel").removeClass("hidden").text(i.Name),$("#ProductCategoryContainer,#ProductContainer,#CategoryRadios,#ProductRadios").addClass("default_hidden").css("display","")),widgetPage.clientDefaultAction()}},setDonationOptions:function(e){var t=$("#DonationContainer"),a=$(".donationItems",t),i="<a class='donationItem' data-value='{0}'><div class='itemContent'><div class='labelContainer'>{1}</div></div></a>",n=e.split(",");if(_.each(n,(function(e){e=$.trim(e);var t=i.replace("{0}",e).replace("{1}",widgetPage.formatCost(e,!0));a.append(t)})),n.length>1){var r=i.replace("{0}",bookings.emptyGuid).replace("{1}",bookings.resources.Other);a.append(r)}t.css("display","inline-block"),$("#Quantity").hide().closest(".item").addClass("donation"),$(".donationItems .donationItem").on("click",(function(){$(".donationItems .donationItem").removeClass("active"),$(this).addClass("active");var e=$(this).attr("data-value"),t=e==bookings.emptyGuid;e=t?"":$.trim(e),$("#Quantity").val(e).toggle(t)}))},setEventChanges:function(){$("#LocationContainer select").on("change",(function(e){var t=$("#LocationContainer").find(":selected");widgetPage.selectLocation(t)})),$("#ScheduleGroupContainer select").on("change",(function(e){var t=$("#ScheduleGroupContainer").find(":selected");widgetPage.selectGroup(t)})),$("#CourseScheduleGroupContainer select").on("change",(function(e){var t=$("#CourseScheduleGroupContainer").find(":selected");widgetPage.selectCourseGroup(t)})),$("#ServiceContainer select").on("change",(function(e){var t=$("#ServiceContainer").find(":selected");widgetPage.selectService(t)})),$("#ServiceId").on("change",(function(){widgetPage.checkDateForSelection()})),$("#NbMonths").on("keyup",(function(){$(this).val();if(widgetPage.checkBookingLength()){var e=widgetPage.getBookingInfo(),t=widgetPage.calculateRoomCost(e);t=parseFloat(t).toFixed(2),widgetPage.setItemCost(t,!0)}else $(this).val("")})),$("#NbDays").on("keyup",(function(){$(this).val();if(widgetPage.checkBookingLength()){var e=widgetPage.getBookingInfo(),t=widgetPage.calculateRoomCost(e);t=parseFloat(t).toFixed(2),widgetPage.setItemCost(t,!0)}else $(this).val("")})),$("#NbHours").on("keyup",(function(){$(this).val();if(widgetPage.checkBookingLength()){var e=widgetPage.getBookingInfo(),t=widgetPage.calculateRoomCost(e);t=parseFloat(t).toFixed(2),widgetPage.setItemCost(t,!0)}else $(this).val("")})),$("#NbPlaces").on("keyup",(function(){var e=$(this).val();(""==e||parseInt(e,10)<1)&&(e=1,$(this).val(e));var t=parseInt($(this).attr("max-places"),10);t<e&&(e=t,$(this).val(t))})),$("#BookInternalCost").on("keyup",(function(){var e=widgetPage.getBookingInfo(),t=widgetPage.calculateRoomCost(e);t=parseFloat(t).toFixed(2),widgetPage.setItemCost(t,!0)})),$(document).on("change","#TimeContainer select",(function(){var e=$("#ScheduleGroupContainer");if("Any"==e.attr("data-name")){var t=$("#TimeContainer").find(":selected");e.attr("data-value",t.attr("data-groupId"))}})),$("#ScheduleCourseId").on("change",(function(){$("#CourseDateContainer").is(":visible")&&(widgetPage.checkCourseDateForSelection(),$("#CourseStartDate").prop("disabled",!1))})),$("#ScheduleCoursesContainer select").on("change",(function(e){var t=$("#ScheduleCoursesContainer").find(":selected");widgetPage.selectCourse(t)})),$(document).on("change","#CourseTicketContainer select",(function(e){var t=$("#CourseTicketContainer").find(":selected");widgetPage.selectCourseTicket(t)})),$("#RegisterCourse").on("change",(function(){var e=$(this),t=$("#ScheduleCourseId option:selected").attr("data-scheduleId"),a=t?_.find(calendarPage.calendar.Schedules,(function(e){return e.Id==t})):_.find(calendarPage.calendar.Schedules,(function(e){return e.ScheduleCourseId==n})),i=0;if(e.is(":checked")){i=e.attr("data-costSession"),widgetPage.setItemCost(i),$("#daysValue").text(e.attr("data-days"));var n=$("#ScheduleCourseId").val();if(null!=a){$("#CourseStartDate").val(formatDate(dateToString(convertToDate(a.StartDate))));var r=convertToDate(a.StartTime);$("#CourseTimeId").val(formatEventTime(r)),$("#CourseDateContainer").hide(),$("#CourseTimeContainer").hide()}}else{i=e.attr("data-costSingle"),widgetPage.setItemCost(i);var o=$("#daysValue").attr("data-day");""!==o?$("#daysValue").text(o):$("#daysValue").text("")}$("#courseCost").val(i)})),$("#CourseTimeId").on("change",(function(){var e=formateDateWithHours(formatToDate($("#CourseStartDate").val()),$("#CourseTimeId").val()),t=compileNbPlacesForTimeslot(e,$("#CourseScheduleGroupId").val(),$("#ScheduleCourseId").val()),a=parseInt($("#ScheduleCoursesContainer").attr("data-places"),10),i=$("#CourseTimeId").find(":selected").attr("data-available");if(i&&!isNaN(i)&&(a=parseInt(i,10)),widgetPage.enableClassMultiReg?($("#CoursePlacesContainer").removeClass("phantom").addClass("required").show(),$("#CoursePlaces").attr("data-avail",a)):$("#CoursePlaces").val("1"),t>=a)$("#registration .errorMessageItem").show(),$(".courseInfoRow").hide();else{$("#registration .errorMessageItem").hide(),$(".courseInfoRow").show();var n=widgetPage.datepicker.formatDate(bookings.dateFormat,e)+" - "+formatEventTime(e);$("#daysValue").text(n)}if(t<a&&widgetPage.instructors.length>0){$("#registration .instructorRow").show();var r=null;if(t>0){var o=_.pluck(widgetPage.instructors,"UserId"),s=calendarPage.instructorHasBooking(e,o);s&&(r=_.find(widgetPage.instructors,(function(e){return e.UserId==s.UserId})))}r?($("#registration .instructorLabel").text(r.Title),$("#registration .instructorValue").text(r.Name)):($("#registration .instructorLabel").text(widgetPage.instructors[0].Title),$("#registration .instructorValue").text(bookings.resources.None))}var d=$("#ScheduleCourseId option:selected");widgetPage.setCourseTickets(null,d)})),$("#CoursePlaces").on("keyup",(function(){var e=$(this).val();if(""==e||parseInt(e,10)<1)return $(this).prev().removeClass("active"),!1;if(!widgetPage.internalView){var t=parseInt($(this).attr("data-avail"),10);t<e&&(e=t,$(this).val(t));var a=parseInt($(this).attr("data-places"),10);a>0&&a<e&&(e=a,$(this).val(a))}var i=e*$("#courseCost").val();widgetPage.setItemCost(i,!1);var n=getCourseForSchedule($("#ScheduleCourseId").val());widgetPage.displayMemberCost($("#courseMemberDiscount"),i,n.DiscountAmountMember,n.DiscountPercMember,e),$(this).prev().addClass("active")})),$("#CourseInternalCost,#CourseTicketInternalCost").on("keyup",(function(){var e=$(this).val();e&&!isNaN(e)||(e=$("#RegisterCourse").is(":checked")?item.attr("data-costSession"):item.attr("data-costSingle"));$("#courseCost").val(e),widgetPage.setItemCost(e)})),$("#ScheduleEventId").on("change",(function(){$("#EventDateContainer").is(":visible")&&(widgetPage.checkEventDateForSelection(),$("#EventStartDate").prop("disabled",!1))})),$("#ScheduleEventsContainer select").on("change",(function(e){var t=$("#ScheduleEventsContainer").find(":selected");widgetPage.selectEvent(t)})),$(document).on("change","#EventTicketContainer select",(function(e){var t=$("#EventTicketContainer").find(":selected");widgetPage.selectTicket(t)})),$("#EventSeatingChartContainer").on("click",".v-seat.available:not(.taken)",(function(e){var t=$("#EventPlaces"),a=($("#ScheduleEventsContainer").attr("data-eventId"),_.size(widgetPage.productItems,(function(e){e.Id==eventId&&e.SelectionId}))),i=parseInt(t.attr("data-maxRegister"),10);if(!widgetPage.internalView&&a>=i)addErrorMessage($("fieldset.current div:visible:first"),bookings.resources.MaxSeatRegistrationReached);else{$("#EventSeatingChartContainer .v-seat.selected:not(.taken)").removeClass("selected");var n=$(this);widgetPage.seatClicks++,1===widgetPage.seatClicks?widgetPage.seatClickTimer=setTimeout((function(){widgetPage.selectSeat(n,!1),widgetPage.seatClicks=0}),widgetPage.seatClickDelay):(clearTimeout(widgetPage.seatClickTimer),widgetPage.selectSeat(n,!0),widgetPage.seatClicks=0)}})),$("#EventPlaces").on("keyup",(function(){var e=$(this).val(),t=$(this).hasClass("autoConfigure");if(""==e||parseInt(e,10)<1)return $(this).prev().removeClass("active"),!1;var a=0,i=parseInt($(this).attr("data-places"),10),n=$("#ScheduleEventId").val(),r=$("#EventTicketContainer").hasClass("hidden")?bookings.emptyGuid:$("#EventTicketId").val(),o=_.filter(widgetPage.productItems,(function(e){return e.Id==n&&(0==i||e.TypeItemId==r)&&6==e.Type}));if(_.each(o,(function(e){a+=parseInt(e.Quantity,10)})),isNaN(a)&&(a=0),!widgetPage.internalView){var s=parseInt($(this).attr("data-avail"),10)-a;s<e&&(e=s,$(this).val(s));var d=parseInt($(this).attr("data-maxRegister"),10);d<e&&(e=d,$(this).val(d));var l=$(this).attr("data-minRegister")?parseInt($(this).attr("data-minRegister"),10):null;l&&l>e&&(e=l,$(this).val(l))}if(t&&$("#eventFieldset .optionStart.actionable").trigger("click"),"free"!=$(this).attr("data-cost")){var c=$(this).attr("data-cost"),g=e*c;$("#eventCost").val(g),$("#eventValue").text(widgetPage.formatCost(g));var u=$("#eventMemberDiscount");widgetPage.displayMemberCost(u,c,u.attr("data-discAmount"),u.attr("data-discPerc"),e)}$(this).prev().addClass("active")})),$("#EventInternalCost,#EventTicketInternalCost").on("keyup",(function(){var e=$(this).val();e&&!isNaN(e)||(e=$("#EventPlaces").attr("data-cost")),$("#eventCost").val(e),$("#eventValue").text(widgetPage.formatCost(e))})),$("#ProductCategoryContainer select").on("change",(function(){var e=$("#ProductCategoryContainer").find(":selected");widgetPage.selectCategory(e)})),$("#CategoryRadios input").on("change",(function(){var e=$("#CategoryRadios input:checked");$("#CategoryId").val(e.attr("data-value")),widgetPage.selectCategory(e)})),$("#MerchandiseCategories .categoryItem").on("click",(function(){$("#MerchandiseCategories .categoryItem.selected").removeClass("selected"),$(this).addClass("selected"),widgetPage.selectCategory($(this))})),$(document).on("change","#ProductRadios input",(function(){var e=$("#ProductRadios input:checked");$("#ProductId").val(e.attr("data-value")),widgetPage.selectProduct(e)})),$(document).on("change","#ProductContainer select",(function(){var e=$("#ProductContainer").find(":selected");widgetPage.selectProduct(e)})),$("#ProductId").on("change",(function(){$("#Quantity").prop("disabled",!1)})),$("#DonationOption").on("change",(function(){var e=$(this).val(),t=$("#Quantity");t.prop("disabled",!1),e==bookings.emptyGuid?t.val(""):t.val(e).trigger("keyup"),t.toggle(e==bookings.emptyGuid)})),$("#MonthlyDonation").on("change",(function(){var e=$(this),t=$("#payment"),a=$(".paymentContainer"),i=$(".paymentItem.selected",t);e.is(":checked")?(i.attr("data-length",12),$(".orderAmount",a).val("0"),$(".orderPlanAmount",a).val(i.attr("data-cost"))):(i.attr("data-length",1),$(".orderAmount",a).val(i.attr("data-cost")),$(".orderPlanAmount",a).val("0"))})),$("#Quantity").on("keyup change",(function(){var e=$(".productInfoRow"),t=$(this).val(),a=parseInt(t||1,10),i=parseFloat($("#ProductContainer").attr("data-cost")),n=$(this).attr("max-value")?parseInt($(this).attr("max-value"),10):null;n&&n<a&&(a=n,$(this).val(n));var r=a&&i?widgetPage.formatCost(parseFloat(a*i).toFixed(2)):0;$("#purchaseCost",e).text(r);var o=$("#productMemberDiscount");widgetPage.displayMemberCost(o,i,o.attr("data-discAmount"),o.attr("data-discPerc"),a),e.show()})),$(document).on("keyup change",".storeItemQty",(function(){$(".productInfoRow");var e=$(this).val(),t=parseInt(e||1,10),a=(parseFloat($("#ProductContainer").attr("data-cost")),$(this).attr("max-value")?parseInt($(this).attr("max-value"),10):null);a&&a<t&&(t=a,$(this).val(a))})),$("#InternalCost").on("keyup",(function(){var e=$(".productInfoRow"),t=parseInt($("#Quantity").val(),10),a=$(this).val(),i=parseFloat(a||$("#ProductContainer").attr("data-cost")),n=t&&i?widgetPage.formatCost(parseFloat(t*i).toFixed(2)):0;$("#purchaseCost",e).text(n),e.show()})),$("#SearchStartDate").on("change",(function(){var e=$(this).datepicker("getDate");$("#SearchEndDate").datepicker("setDate",e)})),$(".paymentDateField").on("blur",(function(){var e=$(this).val();1==e.length&&$(this).val("0"+e)})),$(document).on("click",".h-productListBack",(function(){widgetPage.clearSection($("#products")),$("#ProductRadios").hide("slide",{direction:"left"},600),$("#CategoryRadios").delay(300).show("slide",{direction:"right"},600),$("#CategoryRadios input:radio").attr("checked",!1)})),$(document).on("click",".storeDisplay .addItem",(function(){var e=$(this).closest(".product"),t=e.attr("data-id"),a=$(".storeItemQty",e).val(),i=$(".internalProdCost:visible",e),n=null;if(widgetPage.internalView&&i.length>0&&i.val()&&!isNaN(i.val())&&(n=i.val()),a&&"0"!=a)widgetPage.addProductItem(e,t,a,null,n);else if($(".storeItemSelect",e).length>0){var r=$(".storeItemSelect option:selected",e);r&&r.val()&&widgetPage.addProductItem(e,t,1,r.text(),n)}})),$(document).on("click mouseover",".storeDisplay .options a",(function(e){var t=$(this),a=t.closest(".product"),i=$(".image img",a);return i.attr("src",t.attr("href")).css("height",i.height()),i.closest("a").attr("href",t.attr("href")),e.stopImmediatePropagation(),!1})),$(document).on("mouseenter",".storeDisplay .product",(function(e){var t=$(this);t.hasClass("current")||t.addClass("current").find(".options.active").show()})),$(document).on("mouseleave",".storeDisplay .product",(function(e){var t=$(this);t.hasClass("current")&&t.removeClass("current").find(".options").hide()})),$(document).on("change",".v-qboClassContainer select",(function(){var e=$(this).closest("li").attr("data-id");if(e&&"0"!=e){$("#editId",widgetPage.content).val();var t=_.find(widgetPage.productItems,(function(t){return t.Index==e}));t&&(t.QBOClass=$(this).val())}})),$(document).on("keyup",".customQuestions input",(function(){var e=$(this).val();$(this).prev().toggleClass("active",e.length>0)})),$(document).on("focusin",".floatItem",(function(){var e=$(this);e.addClass("focus").prev("label").addClass("active"),e.next("span.customSelect").addClass("focus")})),$(document).on("focusout",".floatItem",(function(){var e=$(this),t=e.val();e.hasClass("datepicker")?setTimeout((function(){t=e.val(),e.prev().toggleClass("active",null!=t&&t.length>0),e.next("span.customSelect").removeClass("focus"),e.removeClass("focus")}),150):(e.prev().toggleClass("active",null!=t&&t.length>0),e.next("span.customSelect").removeClass("focus"),e.removeClass("focus"))}))},setWidgetGroupData:function(e){widgetPage.groupData=getGroupData(e),void 0===widgetPage.groupData&&(setGroupData(e),widgetPage.groupData=getGroupData(e))},getEventDatepickerOptions:function(){var e=_.max(widgetPage.scheduleEvents,(function(e){return e.End})),t=15;return e&&(t=(e.End-new Date)/864e5+1),{changeMonth:!0,changeYear:!0,hideIfNoPrevNext:!0,minDate:-360,maxDate:"+"+t+"d",beforeShowDay:function(e){return _.any(widgetPage.scheduleEvents,(function(t){return t.ScheduleEventId==$("#ScheduleEventId").val()&&t.Start<=e&&e<=t.End&&hasDay(e.getDay(),t.DaysOfWeek)>0}))?[!0,"free"]:[!0,"ui-datepicker-unselectable ui-state-disabled"]},onSelect:function(e,t){new Date(t.currentYear,t.currentMonth,t.currentDay,0,0,0,0);var a=$("#EventPlacesContainer");$("input[type=text], select",a).prop("disabled",!1).val("")}}},selectCourseDatepicker:function(e){var t=$("#CourseScheduleGroupId").val(),a=$("#ScheduleCourseId").val(),i=widgetPage.datepicker.formatDate(bookings.dateFormat,e),n=$("#ScheduleCoursesContainer").attr("data-scheduleId");$("#RegisterCourse").is(":checked")||$("#daysValue").text(i).attr("data-day",i);var r=$("#CourseTimeContainer"),o=widgetPage.convertMobileList(r),s=_.find(calendarPage.calendar.Courses,(function(e){return e.Id==a}));if(s&&(s.Length||0==s.InscriptionType)){var d=s.Length?s.Length:widgetPage.companyData.Calendar.DefaultCalendarTimeSlot;widgetPage.setDatePickerIntervalBookings($("#ScheduleCourseId").val(),e,"CourseScheduleGroupId",d,"CourseTimeContainer",s.NbPlaces,0,!s.Length)}else{var l=widgetPage.getListElement(),c=0;_.each(_.filter(widgetPage.scheduleCourses,(function(i){return c=calendarPage.getWeekOfMonthForSchedule(i.Type),(!n||i.Id==n)&&i.ScheduleCourseId==a&&i.ScheduleGroupId==t&&hasDay(e.getDay(),i.DaysOfWeek)>0&&(areEqualDates(i.Start,e)||0==c||c<=4&&c==e.getWeekOfMonth()||c>=5&&monthDiff(i.Start,e)%2==0&&c-4==e.getWeekOfMonth()||-1==c&&calendarPage.hasFrequency(convertToDate(i.StartDate),convertToDate(i.StartDate),e,i.Type))})),(function(e){var t=formatEventTime(convertToDate(e.StartTime));o.append($(l,{"data-value":t}).text(t))}))}$("input[type=text], select",r).prop("disabled",!1).val("")},getCourseDatepickerOptions:function(){var e=_.max(widgetPage.scheduleCourses,(function(e){return e.End})),t=30;calendarPage.calendar.Settings.MinHoursBeforeBooking<=0||Math.round(calendarPage.calendar.Settings.MinHoursBeforeBooking/12);e&&(t=(e.End-new Date)/864e5+1);var a=!1;return{changeMonth:!0,changeYear:!0,hideIfNoPrevNext:!0,minDate:-120,maxDate:"+"+t+"d",beforeShowDay:function(e){$("#ScheduleCoursesContainer").attr("data-scheduleId");var t=$("#ScheduleCourseId").val(),i=_.find(widgetPage.scheduleCourses,(function(a){return a.ScheduleCourseId==t&&a&&a.Start<=e&&e<=a.End&&hasDay(e.getDay(),a.DaysOfWeek)>0&&calendarPage.hasFrequency(convertToDate(a.StartDate),convertToDate(a.StartDate),e,a.Type)&&calendarPage.hasOpeningsForDay(e,widgetPage.groupData)}));return i&&!a&&(widgetPage.selectCourseDatepicker(e),0==$("#CourseTimeContainer ul li, #CourseTimeContainer select option:enabled").length&&(i=!1),setTimeout((function(){a=i}),250)),i?[!0,"free"]:[!0,"ui-datepicker-unselectable ui-state-disabled"]},onSelect:function(e,t){var a=new Date(t.currentYear,t.currentMonth,t.currentDay,0,0,0,0);widgetPage.selectCourseDatepicker(a)}}},setDatePickerIntervalBookings:function(e,t,a,i,n,r,o,s){var d=$("#"+a);widgetPage.groupData=getGroupData(d.val());calendarPage.getBookingsForDay(convertToDate(t),widgetPage.groupData);var l=i?parseInt(i,10):calendarPage.calendar.Settings.DefaultCalendarTimeSlot,c=Math.min(calendarPage.calendar.Settings.DefaultCalendarTimeSlot,l),g=void 0===o||isNaN(o)?0:o,u=_.filter(widgetPage.groupData.freeDays,(function(a){return(!e||a.itemId==e)&&areEqualDates(a.start,t)})),p=t,m=new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,0,0),v=new Date,h=!1;if(!widgetPage.groupData.defaultFree&&u&&u.length>0){var w=_.min(u,(function(e){return e.start}));p=(h=areEqualDates(v,w.start))&&w.originalStart?w.originalStart:w.start,m=_.max(u,(function(e){return e.end})).end}if(h){areEqualDates(v,p)||(p=new Date(v.getFullYear(),v.getMonth(),v.getDate(),p.getHours(),p.getMinutes(),0,0));for(var P=getMinutesOfDay(v);P>getMinutesOfDay(p);)p=p.addMinutes(l)}if($("#SearchStartTimeId").is(":visible")&&""!==$("#SearchStartTimeId").val()){var f=formateDateWithHours(p,$("#SearchStartTimeId").val());if(p<f)0!=(C=(p=new Date(f.getTime())).getMinutes()%l)&&(p=p.addMinutes(l-C));if($("#SearchEndTimeId").is(":visible")&&""!==$("#SearchEndTimeId").val()){var C,b=formateDateWithHours(m,$("#SearchEndTimeId").val());b<m&&(m=new Date(b.getTime())),0!=(C=m.getMinutes()%l)&&(m=m.addMinutes(-1*(l-C)))}}var y=new Date(p.getTime()),I=new Date(y.getTime()+6e4*l),S=$("#"+n),D=widgetPage.convertMobileList(S),k=calendarPage.calendar.Settings,T=null,E=null;if(k.BreakStart&&k.BreakEnd&&parseInt(k.BreakEnd,10)>parseInt(k.BreakStart,10)&&((T=new Date(y)).setHours(k.BreakStart),(E=new Date(y)).setHours(k.BreakEnd)),widgetPage.groupData.defaultFree||u&&u.length>0){var F=null,x=widgetPage.getListElement();do{if(!T||y<T||E<=y){var N=new Date(y.getTime()-6e4*g),M=new Date(y.getTime()+6e4*(l+g)),R=calendarPage.hasBookingForTime(N,M,widgetPage.groupData),O=0;if(F=(!R||r>1)&&(O=calendarPage.hasAvailabilityForTime(y,I,widgetPage.groupData,r))){var A=R?Math.min(R.available,O.available):O.available,L=formatEventTime(y);D.append($(x,{"data-value":L,"data-groupId":F.groupId,"data-available":A}).text(L))}}y=new Date(y.getTime()+6e4*c),I=new Date(y.getTime()+6e4*l)}while(I<=m&&(!s||u.length>1))}if(S.is(":hidden")){var G=formatEventTime(p);$("#TimeId").val(G)}D.trigger("render")},getDatepickerOptions:function(){var e=!$("#TimeContainer").hasClass("hidden"),t=null!=calendarPage.calendar.Settings.AdvanceDays?calendarPage.calendar.Settings.AdvanceDays:0,a=calendarPage.calendar.Settings.MinHoursBeforeBooking<=0?0:Math.round(calendarPage.calendar.Settings.MinHoursBeforeBooking/12),i=$("#ScheduleGroupContainer");return{changeMonth:!0,changeYear:!0,hideIfNoPrevNext:!0,minDate:a,maxDate:"+"+t+"d",beforeShowDay:function(t){var a=$("#NbHours").is(":visible"),n=calendarPage.hasOpeningsForDay(t,widgetPage.groupData),r=widgetPage.groupData.defaultFree||calendarPage.hasOpeningsForDay(t,widgetPage.groupData);if(((r=r&&(a||!calendarPage.hasBookingForDay(t,widgetPage.groupData)))||n)&&e){var o=i.attr("data-places")?i.attr("data-places"):1,s=60!=widgetPage.bkHourlyLength?widgetPage.bkHourlyLength:$("#ServiceContainer").attr("data-length");widgetPage.setDatePickerIntervalBookings(null,t,"ScheduleGroupId",s,"TimeContainer",parseInt(o,10),parseInt(i.attr("data-buffer"),10),!1),r=$("#TimeContainer select option:enabled").length>0}return r?[!0,"free"]:[!0,"ui-datepicker-unselectable ui-state-disabled"]},onSelect:function(e,t){var a=new Date(t.currentYear,t.currentMonth,t.currentDay,0,0,0,0),n=$("#ServiceContainer");$("#NbMonths").prop("disabled",!1).val(""),$("#NbDays").prop("disabled",!1).val(""),$("#NbHours").prop("disabled",!1).val(""),$("#NbPlaces").prop("disabled",!1).val("").attr("max-places",Math.max(i.attr("data-room-capacity"),i.attr("data-places"))),$("#TimeContainer input[type=text], #TimeContainer select").prop("disabled",!1).val("");var r=60!=widgetPage.bkHourlyLength?widgetPage.bkHourlyLength:n.attr("data-length");widgetPage.setDatePickerIntervalBookings(null,a,"ScheduleGroupId",r,"TimeContainer",parseInt(i.attr("data-places"),10),parseInt(i.attr("data-buffer"),10),!1),widgetPage.clientSelectBookingDateFn&&widgetPage.clientSelectBookingDateFn(a)}}},setPictureGallery:function(){if(_.size(calendarPage.calendar.Pictures)>0){var e=$("#pictureGallery"),t=0;_.each(calendarPage.calendar.Pictures,(function(a){0==t++&&$("#ogImg").attr("content",a.SmallImageLink),e.append('<a data-group="'+a.ScheduleGroupId+'" href="'+a.ImageLink+'" class="hidden" title="'+a.Name+'"><img src="'+a.SmallImageLink+'"></a>')})),e.magnificPopup({delegate:"a:visible",type:"image",tLoading:"Loading image #%curr%...",mainClass:"mfp-img-mobile",gallery:{enabled:!0,navigateByImgClick:!0,preload:[0,1]},image:{tError:'<a href="%url%">The image #%curr%</a> could not be loaded.'}})}},getCurrentSectionGuid:function(){var e=bookings.emptyGuid;return $("#CourseTab").hasClass("current")?e=bookings.courseGuid:$("#EventsTab").hasClass("current")?e=bookings.eventGuid:$("#BookTab").hasClass("current")?e=bookings.serviceGuid:$("#FormsTab").hasClass("current")&&widgetPage.isInline?e=$("#editId",widgetPage.content).val():$("#ProductsTab").hasClass("current")&&(e=bookings.productGuid,"true"==$("#ProductContainer").attr("data-membership")&&(e=bookings.membershipGuid)),e},getGroupGuid:function(){var e=bookings.emptyGuid;return $("#CourseTab").hasClass("current")?e=$("#CourseScheduleGroupContainer").attr("data-value"):$("#EventsTab").hasClass("current")?e=bookings.eventGuid:$("#BookTab").hasClass("current")?e=$("#ScheduleGroupContainer").attr("data-value"):$("#ProductsTab").hasClass("current")&&(e=$("#ProductCategoryContainer").attr("data-value")),e},setSectionItems:function(e){var t=widgetPage.getCurrentSectionGuid();console.log("Questions: "+t),t!=bookings.emptyGuid&&widgetPage.setPictures(t),widgetPage.clearCustomQuestions(),t!=bookings.emptyGuid&&widgetPage.setCustomQuestions(t),widgetPage.clearOptionalProducts();var a=$("fieldset.current");if($(".registerAnother.active",a).show(),t!=bookings.emptyGuid&&widgetPage.showOptionsMode){var i=a.attr("id");(widgetPage.showOptionsMode>=5||"registration"==i&&1==widgetPage.showOptionsMode||"eventFieldset"==i&&2==widgetPage.showOptionsMode||"book"==i&&3==widgetPage.showOptionsMode||"products"==i&&4==widgetPage.showOptionsMode)&&($(".customQuestionsSection",a).insertBefore("fieldset.current .optionalProductsSection"),$(".registerAnotherSection",a).insertBefore("fieldset.current .optionalProductsSection"))}e&&widgetPage.resizeWidget()},setPictures:function(e){if(_.size(calendarPage.calendar.Pictures)>0){var t=$("#pictureGallery");$("a",t).hide(),$("a[data-group='"+e+"']",t).show()}},isInsideCalendar:function(){var e=displayPage;try{window.self,window.top;e=window.parent.displayPage}catch(e){}return e.initialized},isInsidePortal:function(){var e=memberPortal;try{window.self,window.top;e=window.parent.memberPortal}catch(e){}return e.initialized},resizeWidget:async function(){await bookings.sleep(100);for(var e=document.getElementById("widgetContainer").scrollHeight+45;e<150;)await bookings.sleep(100),e=document.getElementById("widgetContainer").scrollHeight+45;console.log("In resize Widget. es: "+widgetPage.enableScroll," pl: "+widgetPage.preLoad," sh: "+e," lsp: "+widgetPage.lastClientPostMess),!widgetPage.enableScroll&&!widgetPage.isInsideCalendar()||widgetPage.preLoad||e==widgetPage.lastClientPostMess||(widgetPage.lastClientPostMess=e,e+=widgetPage.calendarFrameHeight,widgetPage.isInsideCalendar()?setTimeout((function(){window.top==window.parent?window.top.postMessage({scroll:e},"*"):(window.top.postMessage({scroll:e},"*"),window.parent.postMessage({scroll:e},"*"))}),80):widgetPage.clientDefaultAction())},addSectionItems:function(e){var t=widgetPage.getCurrentSectionGuid();if(_.size(calendarPage.calendar.Pictures)>0){var a=$("#pictureGallery");$("a",a).hide(),$("a[data-group='"+t+"']",a).show(),$("a[data-group='"+e+"']",a).show()}var i=$("fieldset.current");if(widgetPage.companyData.Widget.RegisterOthers&&(widgetPage.registerOtherProducts||"products"!=i.attr("id")||"true"==$("#ProductContainer:visible").attr("data-membership"))){var n=$(".registerAnother",i);0==$(".optionStart.autoConfigure",n).length&&n.removeClass("hidden").addClass("active")}widgetPage.setCustomQuestions(t,e),widgetPage.setOptionalProducts(widgetPage.getGroupGuid(),e),widgetPage.resizeWidget()},resetSection:function(e){var t=widgetPage.getCurrentSectionGuid();widgetPage.setCustomQuestions(t,e),widgetPage.setOptionalProducts(widgetPage.getGroupGuid(),e)},clearRegisterOther:function(){var e=$("fieldset.current");$(".registerAnother",e).addClass("hidden"),$(".registerOtherContent",e).hide().closest(".registerAnotherSection").hide()},setRegistrationSelection:function(e){var t=e.parent(),a=$("input",t);a.autocomplete({source:function(e,t){t($.ui.autocomplete.filter(widgetPage.registrations,e.term))},minLength:0,delay:0,select:function(e,t){for(var a=t.item.value,i=$(".customQuestions:visible"),n=0,r=a.length;n<r;n++)$("[data-code='"+a[n].code+"']",i).val(a[n].value).change().trigger("focusin");return!1}}),a.on("click",(function(){$(this).autocomplete("search","").focus()})),e.on("click",(function(){var e=$("input",t);e.autocomplete("search",""),e.focus()}))},clearCustomQuestions:function(){var e=$("fieldset.current");$(".customQuestions",e).html("").hide().closest(".customQuestionsSection").hide()},checkMaxAnswer:function(e,t){var a="";if(e.Unique&&widgetPage.isInline&&widgetPage.formAnswers.length>0&&widgetPage.maxCount>0){var i=e.Max?parseInt(e.Max,10):widgetPage.maxCount;_.filter(widgetPage.formAnswers,(function(a){return a&&a.Answers&&_.find(a.Answers,(function(a){return a.code==e.Code&&(a.value==t||a.value.split(",").includes(t))}))})).length>=i&&(a="disabled='disabled' class='disabled'")}return a},setCustomQuestions:function(e,t){var a=$("fieldset.current"),i=$(".customQuestions",a);i.html(""),widgetPage.singleCQDisplay&&(i.addClass("single"),$(".registerAnother",a).addClass("single"));var n=_.filter(calendarPage.calendar.Questions,(function(a){return null==a.ForItem||a.ForItem==e||a.ForItem==t})),r=t?widgetPage.getProductById(t):null;if(r&&r.Gift){var o=[{Code:"GIFT_NAME",Name:$("#RecipientName").text(),FieldType:0,Required:!0},{Code:"GIFT_EMAIL",Name:$("#RecipientEmail").text(),FieldType:0,Required:!0},{Code:"GIFT_PHONE",Name:$("#RecipientPhone").text(),FieldType:0,Required:!1},{Code:"GIFT_ADDRESS",Name:$("#RecipientAddress").text(),FieldType:0,Required:!1},{Code:"GIFT_ZIP",Name:$("#RecipientZip").text(),FieldType:0,Required:!1}];n=_.union(o,n)}else if(r&&r.NbMembers&&r.NbMembers>1){var s=[],d=bookings.resources.ChildNoFirstName,l=bookings.resources.ChildNoLastName,c=bookings.resources.ChildNoDOB,g=bookings.resources.ChildNoGender,u=bookings.resources.ChildNoEmail;widgetPage.familyMbrsNoSpouse?(d=bookings.resources.PersonNoFirstName,l=bookings.resources.PersonNoLastName,c=bookings.resources.PersonNoDOB,g=bookings.resources.PersonNoGender,u=bookings.resources.PersonNoEmail):(s=[{Code:"SPOUSE_FIRST_NAME",Name:bookings.resources.SpouseFirstName,FieldType:0,Required:!1},{Code:"SPOUSE_LAST_NAME",Name:bookings.resources.SpouseLastName,FieldType:0,Required:!1}],widgetPage.familyMbrsWithEmail&&(s=s.concat([{Code:"SPOUSE_EMAIL",Name:bookings.resources.SpouseEmail,FieldType:5,Required:!1}])),widgetPage.companyData.Widget.AskDOB&&(s=s.concat([{Code:"SPOUSE_DOB",Name:bookings.resources.SpouseDOB,FieldType:1,Required:!1}])),widgetPage.companyData.Widget.AskGender&&(s=s.concat([{Code:"SPOUSE_GENDER",Name:bookings.resources.SpouseGender,FieldType:2,Values:bookings.resources.Male+";"+bookings.resources.Female,Required:!1}]))),widgetPage.disableSpouseMember&&(s=[]);for(var p=1;p<r.NbMembers-(widgetPage.familyMbrsNoSpouse?0:1);p++)s=s.concat([{Code:"CHILD"+p+"_FIRST_NAME",Name:d.replace("{0}",p),FieldType:0,Required:!1},{Code:"CHILD"+p+"_LAST_NAME",Name:l.replace("{0}",p),FieldType:0,Required:!1}]),widgetPage.familyMbrsWithEmail&&(s=s.concat([{Code:"CHILD"+p+"_EMAIL",Name:u.replace("{0}",p),FieldType:5,Required:!1}])),widgetPage.companyData.Widget.AskDOB&&(s=s.concat([{Code:"CHILD"+p+"_DOB",Name:c.replace("{0}",p),FieldType:1,Required:!1}])),widgetPage.companyData.Widget.AskGender&&(s=s.concat([{Code:"CHILD"+p+"_GENDER",Name:g.replace("{0}",p),FieldType:2,Values:bookings.resources.Male+";"+bookings.resources.Female,Required:!1}]));n=_.union(s,n)}else if(!widgetPage.internalView&&(r&&(10==r.Type||14==r.Type)||null!=widgetPage.getFormById(e))){var m=[{Code:"FUND_FIRST",Name:$("#First").attr("data-placeholder"),FieldType:0,Required:!0},{Code:"FUND_LAST",Name:$("#Last").attr("data-placeholder"),FieldType:0,Required:!0},{Code:"FUND_EMAIL",Name:$("#Email").attr("data-placeholder"),FieldType:5,Required:!0},{Code:"FUND_PHONE",Name:$("#Phone").attr("data-placeholder"),FieldType:6,Required:1==(1&widgetPage.inlineRequiredFields)}];widgetPage.companyData.Widget.AskAddress&&(m=m.concat([{Code:"FUND_ADDRESS",Name:$("#Address").attr("data-placeholder"),FieldType:0,Required:2==(2&widgetPage.inlineRequiredFields)}])),m=m.concat([{Code:"FUND_ZIP",Name:$("#Postal").attr("data-placeholder"),FieldType:0,Required:!0}]),n=_.union(m,n)}r&&1==r.Type&&widgetPage.disableMembershipQsInPortal&&widgetPage.insidePortal&&(n=[]);var v=!1,h=_.size(n),w=_.size(_.filter(n,(function(e){return!e.Hidden})));if(i.toggle(w>0).closest(".customQuestionsSection").toggle(w>0),widgetPage.isInline&&h>0){var P=i.closest(".customQuestionsSection");$(".header",P).remove(),P.removeClass("infoContent")}if(widgetPage.curQs=n,h>0){p=0;_.each(n,(function(t){t.Hidden||p++,t.Name=t.Name.replace("'","&quot;");var a=bookings.uniqId(),n="<div class='row "+(7==t.FieldType?" infoRow customElement "+t.Code:"")+"'>{0}</div>",r="<div class='customElement "+(t.Hidden?" hidden ":"")+(9==t.FieldType?" storageFile ":"")+"'>",o=t.Required&&(!widgetPage.internalView||widgetPage.internalView&&widgetPage.forceBEValidation)?" required ":"",s=t.Required?" *":"",d=bookings.encodeString(t.Name)+s,l=t.Default?"data-default='"+t.Default+"'":"",c="";if(4==t.FieldType||t.Multiple||7==t.FieldType||8==t.FieldType||(r+="<label class='floatLabel' for="+a+">"+d+"</label>"),7==t.FieldType)r="<div class='item'><span id="+a+" name="+a+" title='"+d+"'  data-code='"+t.Code+"'>"+d+"</span><span>&nbsp;</span></div>";else if(8==t.FieldType)r="<div class='item paragraph'><span id="+a+" name="+a+" title='"+d+"'  data-code='"+t.Code+"'>"+d+"</span><span>&nbsp;</span></div>";else if(3==t.FieldType)r+="<textarea id="+a+" name="+a+" rows='"+t.Values+"' data-placeholder='"+d+"' title='"+d+"' data-label='"+t.Name+"' data-code='"+t.Code+"' "+l+" class='long floatItem "+o+"'></textarea>";else if(0==t.FieldType||1==t.FieldType||5==t.FieldType||6==t.FieldType){var g="text";switch(t.FieldType){case 1:c=" datepicker",-1!=t.Code.indexOf("CHILD")&&(c+=" childdatepicker");break;case 5:c=" email",g="email";break;case 6:c=" phoneNumber";break;default:"FUND_ADDRESS"==t.Code||"FUND_ZIP"==t.Code||t.Code&&-1!=t.Code.indexOf("_NAME")&&(c=" capitalization")}var u=t.Default?" value='"+t.Default+"' ":"";r+="<input id="+a+" name="+a+" type='"+g+"'  data-placeholder='"+d+"' title='"+d+"' data-label='"+t.Name+"'  data-code='"+t.Code+"' "+l+u+" class='long floatItem "+o+c+"'  />",p<=1&&0==t.FieldType&&e==bookings.eventGuid&&widgetPage.autocompleteRegs&&widgetPage.registrations.length>0&&(r="<span class='autoCompleteReg autoCompleteButton ' title='"+bookings.resources.CopyRegistration+"' >"+bookings.resources.CopyRegistration+"</span>"+r)}else if(t.Multiple){var m=t.Values.split(";").filter(Boolean),h="";r+="<select id="+a+" multiple='multiple' name="+a+"    class='"+o+" long customQuestion multiSelect ignoreItem floatItem'>{0}</select>",_.each(m,(function(e){h+="<option value='"+bookings.encodeString(e)+"' "+widgetPage.checkMaxAnswer(t,e)+">"+e+"</option>"})),r=r.replace("{0}",h),r+="<input id='hid"+a+"' name='hid"+a+"' type='text' value='' class='phantom multiAnswer "+o+"' data-label='"+t.Name+"'  data-code='"+t.Code+"'  "+l+" />"}else if(4==t.FieldType){m=t.Values.split(";");var w=0;r+="<div class='radioContainer'><span class='question'>"+d+"</span><br/>",_.each(m,(function(e){var i=bookings.uniqId(),n=e==t.Default?" checked='checked' ":"";r+="<input id="+i+" name="+a+" type='radio' title='"+d+"' data-label='"+t.Name+"'  data-code='"+t.Code+"' "+l+n+"  class='long floatItem "+(0==w++?o:"")+"'  data-value='"+e+"' "+widgetPage.checkMaxAnswer(t,e)+" /><label for='"+i+"'>"+e+"</label><br/>"})),r+="</div>"}else if(9==t.FieldType)v=!0,t.FolderId&&(r+="<input type='hidden' data-code='DOCUMENT_FOLDER' value='"+t.FolderId+"' />"),r+="<br/><input id="+a+" name="+a+" type='hidden'   title='"+d+"' data-label='"+t.Name+"'  data-code='"+t.Code+"' class='filePathItem  floatItem'  />",a=bookings.uniqId(),r+="<div class='SU_filename'></div><input type='file' class='questionFile "+o+"' id="+a+" name="+a+" /><div class='fa fa-times-circle fa-2x hidden h-removeFile'></div>";else{m=t.Values.split(";").filter(Boolean),h="<option value='' selected='selected' "+(t.Required?"disabled='disabled'":"")+" ></option>";r+="<select id="+a+" name="+a+"   data-placeholder='"+d+"' title='"+d+"' data-label='"+t.Name+"'  data-code='"+t.Code+"'  "+l+" class='"+o+" long customQuestion floatItem'>{0}</select>",_.each(m,(function(e){var a=bookings.encodeString(e),i=a==t.Default?" selected='selected' ":"";h+="<option value='"+a+"' "+i+widgetPage.checkMaxAnswer(t,e)+">"+e+"</option>"})),r=r.replace("{0}",h)}r+="</div>",(p%widgetPage.numberCQ!=1&&!bookings.mobileRender&&!widgetPage.singleCQDisplay&&7!=t.FieldType&&8!=t.FieldType||t.Hidden)&&$(".row:last",i).length>0?$(".row:last",i).append(r):(n=n.replace("{0}",r),i.append(n)),t.Multiple&&!t.Hidden&&($("#"+a).attr("multiple","multiple").multiselect({linkInfo:{checkAll:{text:bookings.resources.CheckAll,title:bookings.resources.CheckAll},uncheckAll:{text:bookings.resources.UncheckAll,title:bookings.resources.UncheckAll}},noneSelectedText:bookings.resources.Select,selectedText:bookings.resources.NbSelected,click:function(e,t){var i=[];$("#"+a).multiselect("getChecked").map((function(){i.push(this.value)})),$("#hid"+a).val(i.length>0?i.join():"")},checkAll:function(e,t){var i=[];$("#"+a+" option").each((function(){i.push($(this).val())})),$("#hid"+a).val(i.join(","))},uncheckAll:function(e,t){$("#hid"+a).val("")}}),$("#"+a).next("button").addClass(o).find("span:last").text(d)),7==t.FieldType||8==t.FieldType?p=0:9==t.FieldType&&t.Required&&$("#"+a).rules("add",{required:!0,accept:"jpg|jpeg|png|ico|bmp|doc|docx|csv|xlsx|xls|pdf"})})),v&&$(".questionFile",i).each((function(){bookings.setSimpleFileUpload($(this).parent(),"/Home/UploadDocumentFile/?companyId="+calendarPage.companyId,!0)})),bookings.setCapitalization($(".customQuestions")),widgetPage.initValidate()}$("select:not(.hasCustomSelect):not(.multiSelect):visible",a).customSelect(),setDateAndTimePickers({},a,{changeMonth:!0,changeYear:!0,yearRange:"-18:+0"},null,!0),setDateAndTimePickers({},a,{changeMonth:!0,changeYear:!0,yearRange:"-90:+5"}),widgetPage.customQuestionsSetFn&&widgetPage.customQuestionsSetFn(e,t)},clearOptionalProducts:function(){var e=$("fieldset.current");$(".optionalProducts",e).html("").hide().closest(".optionalProductsSection").hide()},getSelectProductOptionsFromData:function(e,t){var a=0;return _.each(e,(function(e){var i=!0;void 0!==e.Inventory&&null!=e.Inventory&&String(e.Inventory).length>0&&parseInt(e.Inventory,10)<=0&&(e.Label+=" ("+bookings.resources.SoldOut+") ",i=!1);var n=i?"":" class='disabled' disabled='disabled'";e.Cost&&i&&(n+=" data-value='"+e.Cost+"'  data-label='"+e.Label+"' data-itemId='"+e.ItemId+"'",e.Label+=" ("+widgetPage.formatCost(e.Cost)+")"),t+="<option value='"+ ++a+"' "+n+">"+e.Label+"</option>"})),t},setOptionalProducts:function(e,t){var a=$("fieldset.current"),i=$(".optionalProducts",a);i.addClass("float_label_section"),i.html("");var n=_.filter(widgetPage.products,(function(a){return(0==a.RequiredType||1==a.RequiredType||4==a.RequiredType)&&(4<=a.Type&&a.Type<=9||13==a.Type)&&(a.TypeItemId==t||e&&a.TypeItemId==e)})),r=_.size(n);if(i.toggle(r>0).closest(".optionalProductsSection").toggle(r>0),r>0){n=_.any(n,(function(e){return e.Position>0}))?_.sortBy(n,(function(e){return e.Position})):_.sortBy(n,(function(e){return e.Cost})).reverse();var o=0;_.each(n,(function(e){var t=bookings.uniqId(),a="<div class='row'> {0}</div>",n="<div class='customElement'>",r=e.Name;if(e.Single){var s="";null!=e.Inventory&&e.Inventory<=0?(r+=" ("+bookings.resources.SoldOut+") ",s="disabled='disabled'"):1!=e.RequiredType&&4!=e.RequiredType||(s=widgetPage.internalView?"checked='checked'":"checked='checked' disabled='disabled'"),null!=e.Inventory&&e.Inventory>0&&(r+=" ("+bookings.resources.Remaining+": "+e.Inventory+") "),n+="<input id="+t+" name="+t+" type='checkbox'  data-label='"+e.Name+"' "+s+" data-productId='"+e.Id+"' />",n+="<label for="+t+" class='optionLabel'>"+r+("0"!=e.Cost&&parseInt(e.Cost,10)>0?" - "+widgetPage.formatCost(e.Cost)+" ":"")+"</label>"}else if(e.Value&&e.Value>0){parseInt(e.Value,10);var d="0"!=e.Cost?" ("+widgetPage.formatCost(e.Cost)+") ":"",l="<option  value='' selected></option>",c=bookings.getProductOptions(e.Labels,";");s=0==e.RequiredType||widgetPage.internalView?"":" required ";var g=c&&c.length>0?" v-withLabels ":"";n+="<label class='floatLabel' for="+t+">"+e.Name+d+"</label>",n+="<select id="+t+" name="+t+"  placeholder='"+e.Name+"' title='"+e.Name+"' data-label='"+e.Name+"' class='floatItem "+s+g+"'  data-productId='"+e.Id+"'>{0}</select>",l=widgetPage.getSelectProductOptionsFromData(c,l),n=n.replace("{0}",l)}else{s=1==e.RequiredType||4==e.RequiredType?"required":"ignore";n+=e.Name+("0"!=e.Cost?" ("+widgetPage.formatCost(e.Cost)+") *":"")+"<input id="+t+" name="+t+" type='text' title='"+e.Name+"' data-label='"+e.Name+"'  data-productId='"+e.Id+"' class='integer "+s+" quantity' minlength='0' maxlength='"+(e.Cost>0?2:10)+"' />"}e.Description&&(n+="<span class='inputHelper small-icons-25 tooltip-icon' title='"+bookings.encodeString(e.Description)+"'></span>");var u=_.find(calendarPage.calendar.Pictures,(function(t){return t.ScheduleGroupId==e.Id}));u&&(n+="<div class='productImage'><input type='image' src='"+u.ImageLink+"' alt='"+u.ImageName+"' /></div>"),n+="</div>",o%widgetPage.optProdPerRow==0||bookings.mobileRender?(a=a.replace("{0}",n),i.append(a)):$(".row:last",i).append(n),o++})),bookings.setIntegerValidation(i),bookings.createUiTooltip($("span.tooltip-icon",i))}widgetPage.optProductsSetFn&&widgetPage.optProductsSetFn()},hasSectionEnabled:function(e,t){return(e.FirstTab==t||e.SecondTab==t||e.ThirdTab==t||e.FourthTab==t)&&!widgetPage.isHiddenSection(t)},isHiddenSection:function(e){var t="";switch(e){case 1:t="hideCourses";break;case 2:t="hideEvents";break;case 3:t="hideBookings";break;case 4:t="hideProducts"}var a=$("#"+t,widgetPage.content).val();return a&&("true"==a||"1"==a)},getSectionPosition:function(e,t){var a=0;return e.FirstTab==t?a=1:e.SecondTab==t?a=2:e.ThirdTab==t?a=3:e.FourthTab==t&&(a=4),a},moveTab:function(e){var t=$("#section-tabs");if($("li[data-pos="+e+"]",t).length>0){t.prepend($("li[data-pos="+e+"]",t));var a=$("#fieldsets");a.prepend($("fieldset[data-pos="+e+"]",a))}},setSelects:function(e){e=e||widgetPage.content,$("select:not(.hasCustomSelect):not(.multiSelect):visible",widgetPage.content).customSelect()},setVisibility:function(){var e=$("fieldset:not(.current)");$("input,select,span,a",e).css("visibility","hidden");var t=$("fieldset.current");$("input,select,span,a",t).css("visibility","visible")},setIdentificationFields:function(){bookings.mobileRender=$(window).width()<800;var e=bookings.mobileRender?"block":"inline-block";widgetPage.companyData.Widget.AskDOB?($("#DOB").parent().removeClass("hidden").css("display",e),setDateAndTimePickers({},$("#DOB").parent(),{changeMonth:!0,changeYear:!0,yearRange:"-90:+0"}),$(".registerOtherDOBRow").removeClass("hidden"),setDateAndTimePickers({},$(".otherDOB").parent(),{changeMonth:!0,changeYear:!0,yearRange:"-90:+0"})):$("#DOB").parent().style("display","none","important"),widgetPage.companyData.Widget.AskPrefix?$("#Prefix").parent().removeClass("hidden").css("display",e):$("#Prefix").parent().style("display","none","important"),widgetPage.companyData.Widget.AskAddress?($("#Address").parent().removeClass("hidden").css("display",e),$(".registerOtherAddressRow").removeClass("hidden")):$("#Address").parent().style("display","none","important"),widgetPage.companyData.Widget.AskGender?$("#Gender").parent().removeClass("hidden").css("display",e):$("#Gender").parent().style("display","none","important"),widgetPage.companyData.Widget.AskAltPhone?$("#AltPhone").parent().removeClass("hidden").css("display",e):$("#AltPhone").parent().style("display","none","important"),widgetPage.companyData.Widget.AskComments||$("#commentsRow").addClass("hidden"),widgetPage.companyData.Widget.AskENews||$("#eNewsRow").addClass("hidden"),"USD"==widgetPage.currency&&$("label[for='Postal']").text($("#postalZipLabel").val())},checkTabsHeight:function(){var e=$("#section-tabs");if(e.height()+10<e[0].scrollHeight||bookings.mobileRender&&$(window).width()<800)e.addClass("singleItem");else if(e.removeClass("singleItem"),!bookings.mobileRender){var t=e.width()*widgetPage.tabWidth/$("li:visible",e).length;$("li",e).css("width",t+"px");var a=Math.max.apply(null,$("li .text",e).map((function(){return $(this).outerWidth(!0)})).get());(e.height()+10<e[0].scrollHeight||a+20>t)&&$("li",e).css("width","auto")}},checkMinHeight:function(){var e=$("#instructionsContent").height(),t=$("#PreRegisterContent").height();(e>5||t>5)&&!widgetPage.internalView&&widgetPage.content.css("min-height",250+e+t+"px")},convertMobileList:function(e){var t=$("select",e);return t.html("<option  value='' selected='selected' disabled='disabled' >"+t.attr("placeholder")+"</option>"),t.prop("disabled",t.is(":disabled")).attr("class","required "+t.attr("class")),t},convertSelectList:function(e){var t=$("select",e);return t.html("<option  value='' selected='selected' disabled='disabled' ></option>"),t.prop("disabled",t.is(":disabled")).attr("class","required "+t.attr("class")),t},setOption:function(e,t,a,i){(t<=0||2==i||a&&_.size(a.Tickets)>0&&_.size(a.Tickets)==_.filter(a.Tickets,(function(e){return 0!=e.NbPlaces&&e.Registered>=e.NbPlaces})).length)&&(widgetPage.internalView?e.addClass("disabledInternal"):(e.addClass("disabled"),e.attr("disabled","disabled")),2==i&&e.text(e.text()+" ("+bookings.resources.RegistrationClosed+")"))},getListElement:function(){return"<option>"},getListElementLit:function(){return"option"},checkMobileWidth:function(){},setCurrentSection:function(e){$("#"+e).hasClass("current")||$("#"+e).click()},selectStartTime:function(e,t,a,i){e&&setTimeout((function(){t.datepicker("setDate",e);var n=$.datepicker._getInst($("#CourseStartDate")[0]);if((n||(n=$.datepicker._getInst($("#StartDate")[0])))&&$.datepicker._get(n,"onSelect").apply(n.input[0],[$("#date").datepicker("getDate"),n]),a){var r=widgetPage.datepicker.formatDate(bookings.dateFormat,e);a.text(r)}if(i){var o=new Date(e.getTime());o.setHours(0),o.setMinutes(0);var s=$("#ScheduleCourseId").val();!s&&widgetPage.editId&&(s=widgetPage.editId);var d=s?$("#ScheduleCourseId option[data-startdate='"+o.getTime()+"'][data-value='"+s+"']"):$("#ScheduleCourseId option[data-startdate='"+o.getTime()+"']");d&&1==d.length&&(d.attr("selected","selected"),$("#ScheduleCoursesContainer").attr("data-scheduleid",d.attr("data-scheduleid"))),widgetPage.selectCourseDatepicker(e);var l=formatEventTime(e),c=$("#CourseTimeId option[data-value='"+l+"']");if(c&&0!=c.length){c.attr("selected","selected").trigger("change");var g=$("#ScheduleCourseId option:selected").text();$("#selectedCourseLabel").text(g),$("#ScheduleCoursesContainer,#CourseDateContainer,#CourseTimeContainer").addClass("phantom"),$("#next").show()}else addInfoMessage($("fieldset.current"),bookings.resources.SoldOut,"warning")}else if($("#eventFieldset").is(":visible")){if(parseInt($("#ScheduleEventsContainer").attr("data-avail"),10)<=0)addInfoMessage($("fieldset.current"),bookings.resources.SoldOut,"warning");else{var u=$("#ScheduleEventsContainer").attr("data-name")+" ("+widgetPage.datepicker.formatDate(bookings.dateFormat,e)+" - "+formatEventTime(e)+")";$("#selectedEventLabel").removeClass("hidden").text(u)}}}),400)},selectEditItem:function(e,t,a){var i=!1,n=null,r="true"==$("#isCheckout").val();if(t=t?new Date(parseInt(t,10)):null,r&&_.size(widgetPage.productItems)>0)$("#section-tabs #IdTab").trigger("click");else if(e&&e==bookings.emptyGuid)$("#section-tabs li.active:first").addClass("current").trigger("click");else{if($("#CourseTab").hasClass("active")&&$("#CourseScheduleGroupContainer select option[data-value='"+e+"']").length>0)setTimeout((function(){widgetPage.setCurrentSection("CourseTab"),widgetPage.inDefaultSelection=a,$("#CourseScheduleGroupContainer select").val(e).trigger("change")}),200),i=!0;else if($("#CourseTab").hasClass("active")&&$("#ScheduleCoursesContainer select option[data-value='"+e+"']").length>0)setTimeout((function(){widgetPage.setCurrentSection("CourseTab");var i=$("#ScheduleCoursesContainer select option[data-value='"+e+"']");if(widgetPage.inDefaultSelection=a,grpId=i.attr("data-groupid"),$("#CourseScheduleGroupId").val(grpId),$("#CourseScheduleGroupContainer select").val(grpId).trigger("change"),t){var n=new Date(t),r=n.getHours()+":"+n.getMinutes();$("#ScheduleCoursesContainer select option[data-value='"+e+"'][data-starttime='"+r+"']:first").attr("selected","selected").trigger("change"),setTimeout((function(){widgetPage.selectStartTime(t,$("#CourseStartDate"),$("#daysValue"),!0)}),200)}else{if($("#ScheduleCoursesContainer select").val(e).trigger("change"),1==$("#ScheduleCoursesContainer select option:not([disabled])").length){var o=$("#ScheduleCoursesContainer select option:not([disabled]):first");if("0"==o.attr("data-costsession")&&"0"==o.attr("data-costsingle")&&$("#courseValue").closest(".infoRow").hide(),"3"==o.attr("data-session")){$("#courseWhenLabel").text($("#courseWhenLabel").attr("data-label"));var s=new Date(parseInt(o.attr("data-end"),10));$("#daysValue").text(widgetPage.datepicker.formatDate(bookings.dateFormat,s)+" - "+formatEventTime(s))}}$("#ScheduleCoursesContainer").hide()}}),200),i=!0;else if($("#EventsTab").hasClass("active")&&$("#ScheduleEventsContainer select option[data-value='"+e+"']").length>0)setTimeout((function(){if(widgetPage.setCurrentSection("EventsTab"),widgetPage.inDefaultSelection=a,$("#ScheduleEventsContainer select").val(e).trigger("change"),t&&!bookings.isValidDate(t)){var i=$("#ScheduleEventsContainer select option[data-value='"+e+"']");i&&i.attr("data-startdate")&&(t=new Date(parseInt(i.attr("data-startdate"),10)))}t&&widgetPage.selectStartTime(t,$("#EventStartDate"))}),300),i=!0;else if($("#BookTab").hasClass("active")&&$("#ScheduleGroupContainer select option[data-value='"+e+"']").length>0)setTimeout((function(){widgetPage.setCurrentSection("BookTab"),widgetPage.inDefaultSelection=a,$("#ScheduleGroupContainer select").val(e).trigger("change"),widgetPage.selectStartTime(t,$("#StartDate"))}),200),i=!0;else if($("#ProductsTab").hasClass("active")&&$("#ProductCategoryContainer select option[data-value='"+e+"']").length>0)setTimeout((function(){widgetPage.setCurrentSection("ProductsTab"),widgetPage.inDefaultSelection=a,setTimeout((function(){$("#ProductCategoryContainer select").val(e).trigger("change"),$("#CategoryRadios").hide()}),40)}),200),i=!0;else if($("#ProductsTab").hasClass("active")&&null!=(n=widgetPage.getProductById(e)))widgetPage.isInline=10==n.Type||14==n.Type,setTimeout((function(){widgetPage.setCurrentSection("ProductsTab");var e=$("#ProductCategoryContainer select option[data-value='"+n.CategoryId+"']");e&&e.length>0?($("#ProductCategoryContainer select").val(n.CategoryId).trigger("change"),$("#CategoryRadios").hide()):widgetPage.setProductsForCategory(n.CategoryId),10!=n.Type&&14!=n.Type||widgetPage.initializeInline(n),setTimeout((function(){widgetPage.inDefaultSelection=a;var e=$("<div/>",{value:n.Id,"data-value":n.Id,"data-cost":n.Cost,"data-membership":1==n.Type,"data-catId":n.CategoryId});widgetPage.selectProduct(e,n.Id),$("#ProductContainer select").trigger("change"),$(".donationItems .donationItem:first").click()}),40)}),200),i=!0;else if(widgetPage.forms.length>0&&null!=(frm=widgetPage.getFormById(e))){$("#FormsTab,#forms").removeClass("hidden").addClass("current").addClass("active"),widgetPage.initializeInline(frm);var o=new Date,s=$("#accessLevel").val(),d=s&&parseInt(s,10)>0;if(!frm.Active&&!d||frm.Expiration&&convertToDate(frm.Expiration)<o){$("#forms").hide().removeClass("current"),$("#complete").show().removeClass("next").addClass("active current centered");var l=$("#complete .completeContent"),c=$("#FormInactive").html();addInfoMessage(l,c),$(".addToCart").hide()}else frm.MembersOnly&&(addInfoMessage($("#section-tabs"),bookings.resources.FormForMembers,"single newForm"),$("input[data-code='FUND_PHONE']").closest(".row").hide(),$("input[data-code='FUND_ADDRESS']").closest(".row").hide(),$("input[data-code='FUND_ZIP']").closest(".row").hide());i=!0}else $("#section-tabs li.active:first").addClass("current").trigger("click");var g=$("#categoryId").val();if($("#ProductsTab").hasClass("active")&&null==n&&g&&g!=bookings.emptyGuid){var u=$("#ProductCategoryContainer select option[data-value='"+g+"']");u&&u.length>0&&(widgetPage.inDefaultSelection=a,$("#ProductCategoryContainer select").val(g).trigger("change"))}}return i&&window.top!=window.parent&&(widgetPage.preLoad=!1),i},setDefaultSelection:function(){var e=widgetPage.editId=$("#editId",widgetPage.content).val(),t=$("#editTime",widgetPage.content).val(),a=$("#categoryId",widgetPage.content).val(),i=e&&e!=bookings.emptyGuid||!a?e:a;widgetPage.selectEditItem(i,t,!0)},setInstructorSettings:function(){ajaxServerCall("POS","GetEmployees",{companyId:calendarPage.companyId},(function(e){e&&e.values&&(widgetPage.instructors=_.filter(e.values,(function(e){return 3==e.Job})),widgetPage.instructors.length>0&&($(".instructorRow").attr("data-enabled",1),$(".instructorLabel").text(widgetPage.instructors[0].Title)))}))},getDiscounts:function(){ajaxServerCall("Store","GetDiscounts",{companyId:calendarPage.companyId},(function(e){e.values&&(widgetPage.discounts=_.filter(e.values,(function(e){return e.HasCoupon})))}))},getProductById:function(e){return _.find(widgetPage.products,(function(t){return t.Id==e}))},getFormById:function(e){return _.find(widgetPage.forms,(function(t){return t.Id==e}))},getWidgetCourseSchedule:function(e,t,a){return _.find(widgetPage.scheduleCourses,(function(i){return i.ScheduleCourseId==e&&i.ScheduleGroupId==t&&(areEqualDates(i.Start,a)||i.Start<a&&a<i.End)}))},getWidgetEventSchedule:function(e,t,a){return _.find(widgetPage.scheduleEvents,(function(i){return i.ScheduleEventId==e&&i.ScheduleGroupId==t&&(areEqualDates(i.Start,a)||i.Start<a&&a<i.End)}))},getLocation:function(e){var t=widgetPage.companyData.Id==e?widgetPage.companyData.Address.City:null;if(null==t&&widgetPage.companyData.Offices){var a=_.find(widgetPage.companyData.Offices,(function(t){return t.Id==e}));a&&a.Address&&(t=a.Address.City)}return t},resetTabOrder:function(){var e=$("#section-tabs"),t=1;$("#IdTab .text").text($("#IdTab").attr("data-label")),$("#ConfirmTab .text").text($("#ConfirmTab").attr("data-label")),$("#CompleteTab .text").text($("#CompleteTab").attr("data-label")),$("#PaymentTab .text").text($("#PaymentTab").attr("data-label")),$("li:not(.hidden)",e).each((function(){$(this).find(".step_number").text(t++)}))},getClientDisplayInfo:function(e){if(e){var t="",a=!1,i=null;if((1==e.status||99==e.status)&&e.membershipEnd)if(i=convertToDate(e.membershipEnd),!isNaN(i.getTime()))t+="<span class='status "+((a=i>new Date)?"active":"expired")+"'>"+(a?bookings.resources.Active:bookings.resources.Expired)+"</span>";$("#identification .clientDisplayInfo").html(t).show(),widgetPage.userIsMember=a,widgetPage.userOfficeId=e.locationId,widgetPage.userMembershipEnd=i}else $("#identification .clientDisplayInfo").html("").hide(),widgetPage.userIsMember=!1,widgetPage.userOfficeId=null,widgetPage.userMembershipEnd=null},reset:function(){widgetPage.productItems=[],widgetPage.currentTickets=[];var e=$("#checkSaleContent");$("#PaidValue,#CheckNumber,#BatchNumber",e).val(""),$(".paidMethod",e).val("0"),$(".checkNumberSection",e).hide(),$(".orderStatus",e).val("1"),widgetPage.setSectionItems(!0),$("#CouponCode").val("").closest("div").hide(),$(".social_share.inserted").remove(),$("#reset").hide(),$("#section-tabs li.current").removeClass("current"),$("#section-tabs li.active:first").addClass("current")},initialize:function(){if(widgetPage.hasEnterprise){$("#widgetContainer");var e=_.size(_.filter(widgetPage.products,(function(e){return(e.Active||widgetPage.internalView)&&(e.Type<=5||10==e.Type||11==e.Type)})))>0;widgetPage.datepicker=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),widgetPage.setGroupSelection(),widgetPage.hasQuestions=_.some(calendarPage.calendar.Questions);var t=widgetPage.companyData.Widget;t.MinHoursBeforeReg&&parseInt(t.MinHoursBeforeReg,10)>0&&(widgetPage.maxRegistrationTime=new Date,widgetPage.maxRegistrationTime.setHours(widgetPage.maxRegistrationTime.getHours()+parseInt(t.MinHoursBeforeReg,10)+bookings.userServerOffset));var a=new Date;if(widgetPage.internalView&&a.setDate(a.getDate()-15),widgetPage.productItems=[],widgetPage.currentTickets=[],t.CartSessionLength&&(widgetPage.cartSessionLength=parseInt(t.CartSessionLength,10),widgetPage.retrieveCart()),t.RegisterOthers){var i=$("#registerDefaultContent");bookings.mobileRender||$(".mobileRow",i).each((function(){var e=$(this).html();$(this).prev().append(e),$(this).remove()})),$("#fieldsets .registerAnother .registerOtherContent").html("").append(i.html())}if(calendarPage.hasClasses&&(!widgetPage.internalView||widgetPage.canProcessClasses)&&widgetPage.hasSectionEnabled(t,1)){widgetPage.scheduleCourses=_.filter(calendarPage.calendar.Schedules,(function(e){return!e.Off&&null!=e.ScheduleCourseId&&(convertToDate(e.EndDate)>a||convertToDate(e.EndTime)>a)})),_.each(widgetPage.scheduleCourses,(function(e){var t=_.find(calendarPage.calendar.Courses,(function(t){return t.Id==e.ScheduleCourseId}));e.Position=t&&t.Position?String(t.Position).padStart(5,"0"):"0",e.Start=convertToDate(e.StartDate),e.End=convertToDate(e.EndDate)})),setDateAndTimePickers({},$("#CourseDateContainer"),widgetPage.getCourseDatepickerOptions()),setDateAndTimePickers({},$("#CourseTimeContainer"),widgetPage.getCourseDatepickerOptions()),$("#CourseTimeContainer input[type=text]").prop("disabled",!0),widgetPage.setClassSelection();var n=widgetPage.getSectionPosition(t,1);$("#CourseTab").removeClass("hidden").addClass("active").attr("data-pos",n),$("#registration").removeClass("hidden").addClass("active").attr("data-pos",n),t.CoursesTabName&&t.CoursesTabName.length>1&&$("#CourseTab .text").text(t.CoursesTabName),$("#CourseScheduleGroupId option").length<=1&&!widgetPage.internalView&&(addInfoMessage($("#PreRegisterContent"),bookings.resources.WidgetNoCourses),$("#registration input,#registration select").closest("div").hide())}if(calendarPage.hasEvents&&(!widgetPage.internalView||widgetPage.canProcessEvents)&&widgetPage.hasSectionEnabled(t,2)){widgetPage.scheduleEvents=_.filter(calendarPage.calendar.Schedules,(function(e){return null!=e.ScheduleEventId&&(convertToDate(e.EndDate)>a||areEqualDates(convertToDate(e.EndDate),a))})),_.each(widgetPage.scheduleEvents,(function(e){var t=_.find(calendarPage.calendar.Events,(function(t){return t.Id==e.ScheduleEventId}));e.Position=t&&t.Position?String(t.Position).padStart(5,"0"):"00000",e.Start=convertToDate(e.StartDate),e.End=convertToDate(e.EndDate)})),setDateAndTimePickers({},$("#eventFieldset"),widgetPage.getEventDatepickerOptions()),widgetPage.setEventSelection();n=widgetPage.getSectionPosition(t,2);$("#EventsTab").removeClass("hidden").addClass("active").attr("data-pos",n),$("#eventFieldset").removeClass("hidden").addClass("active").attr("data-pos",n),t.EventsTabName&&t.EventsTabName.length>1&&$("#EventsTab .text").text(t.EventsTabName),$("#ScheduleEventId option").length<=1&&!widgetPage.internalView&&(addInfoMessage($("#selectedEventLabel"),bookings.resources.WidgetNoEvents),$("#eventFieldset input,#eventFieldset select").closest("div").hide())}if(widgetPage.hasSectionEnabled(t,3)&&(!widgetPage.internalView||widgetPage.canProcessBookings)){$("#TimeContainer input[type=text]").prop("disabled",!0),setDateAndTimePickers({},$("#book"),widgetPage.getDatepickerOptions()),widgetPage.setServiceType();n=widgetPage.getSectionPosition(t,3);$("#BookTab").removeClass("hidden").addClass("active").attr("data-pos",n),$("#book").removeClass("hidden").addClass("active").attr("data-pos",n),t.BookingsTabName&&t.BookingsTabName.length>1&&$("#BookTab .text").text(t.BookingsTabName)}if(e&&(!widgetPage.internalView||widgetPage.canProcessProducts)&&widgetPage.hasSectionEnabled(t,4)){widgetPage.setProductSelection();var r=$("#ProductsTab");n=widgetPage.getSectionPosition(t,4);r.removeClass("hidden").addClass("active").attr("data-pos",n),$("#products").removeClass("hidden").addClass("active").attr("data-pos",n),t.ProductsTabName&&t.ProductsTabName.length>1&&!widgetPage.internalView&&$(".text",r).text(t.ProductsTabName),0!=_.size(widgetPage.products)||widgetPage.internalView||(addInfoMessage($("#selectedProductLabel"),bookings.resources.WidgetNoProducts),$("#products input,#products select").closest("div").hide())}widgetPage.moveTab(4),widgetPage.moveTab(3),widgetPage.moveTab(2),widgetPage.moveTab(1);var o=$("#userId").val();$("#signOut").toggleClass("hidden",o==bookings.emptyGuid),!widgetPage.hasSectionEnabled(t,3)||widgetPage.hasSectionEnabled(t,1)||widgetPage.hasSectionEnabled(t,2)||widgetPage.hasSectionEnabled(t,4)||($("#addToCart,#addToCartMobile").text(bookings.resources.Add),$("#CartItemRequired").text(bookings.resources.ProductSelection)),widgetPage.setEventChanges(),widgetPage.setSectionItems(!0),$("#CouponCode").val("").closest("div").hide(),$(".social_share.inserted").remove(),$("#reset").hide(),widgetPage.companyData.Payments.RequirePayments&&($("#PaymentTab").removeClass("hidden"),$("#CompleteTab").addClass("hidden")),widgetPage.resetTabOrder(),bookings.setCapitalization(widgetPage.content),widgetPage.getClientDisplayInfo(null);var s=$("#checkSaleContent");$("#PaidValue,#CheckNumber,#BatchNumber",s).val(""),$(".paidMethod",s).val("0"),$(".checkNumberSection",s).hide(),$(".orderStatus",s).val("1"),$(".orderStatus option[value='4']",s).remove(),bookings.setCostValidation(s),setDateAndTimePickers({},s),widgetPage.isInline||widgetPage.internalView||!widgetPage.singleOperationMode||$(".addToCart").remove(),widgetPage.preLoad&&(merchants.container.on("change",".paidMethod",(function(){var e=$(this).val();$(".checkNumberSection",merchants.container).toggle(3==e)})),merchants.container.on("change",".orderStatus",(function(){var e=parseInt($(this).val(),10);$(".paidDateSection",merchants.container).toggle(3==e);var t=$("#PaidValue",merchants.container);switch(e){case 1:case 11:t.val("");break;case 3:case 4:var a=widgetPage.unformatCost($("#payment .paymentItem.selected .orderAmount").text());t.val(a)}})))}else $("#section-tabs").hide(),$("#fieldsets").hide(),$(".widgetButtons,.helpContents").hide(),$("#disableContent").show()},initializeInline:function(e){if(widgetPage.isInline=!0,widgetPage.singleCQDisplay=!0,widgetPage.clearCart(),$("#addToCart,#addToCartMobile").text($("#PaymentTab").attr("data-label")),$(".addToCart").addClass("fundraiser").removeClass("phantom").show(),$("#CategoryRadios,#ProductRadios").hide(),e.Description&&e.Description.length>5&&$("#instructionsContent").html('<div style="max-width: 800px; margin: 0px auto;">'+e.Description+"</div>").fadeIn(500),$(".productInfoRow,.eventDescRow").remove(),setTimeout((function(){$("input[data-code='FUND_FIRST']").addClass("first").addClass("capitalization"),$("input[data-code='FUND_LAST']").addClass("last").addClass("capitalization"),$("input[data-code='FUND_EMAIL']").addClass("email"),$("input[data-code='FUND_PHONE']").addClass("telephone"),$("input[data-code='FUND_ADDRESS']").addClass("address"),$("input[data-code='FUND_ZIP']").addClass("zip"),bookings.setCapitalization($("#forms"));var e=$("#First").val();if(e){var t={first:e,last:$("#Last").val(),email:$("#Email").val(),phone:$("#Phone").val(),address:$("#Address").val(),zip:$("#Postal").val()};widgetPage.setUser(t)}}),1e3),$("#section-tabs").addClass("phantom"),$("#ProductCategoryContainer,#ProductContainer").hide(),$(".cartContent,.cartContentMobile").hide(),$(".infoRow:visible").hide(),$("#next,#back,#reset").remove(),$("#Quantity").prop("disabled",!1),$("#products,#payment,#forms").addClass("centered"),$("#products .registerAnotherSection").remove(),10==e.Type){$(".donationsContainer").show();var t=0;e.Labels&&(t=e.Labels.split(",")).length>=1&&widgetPage.setDonationOptions(e.Labels),$(".monthlyOption").toggleClass("hidden",t>1)}else if(14==e.Type){var a=$("#FundraiserContainer");a.show(),$(".goalAmount",a).text(numberWithCommas(widgetPage.formatCost(e.Value))),$("#fundraiserProgress",a).progressbar({value:1}),ajaxServerCall("Store","GetItemSales",{companyId:calendarPage.companyId,id:e.Id},(function(t){var i=numberWithCommas(widgetPage.formatCost(t.value));$(".raisedAmount",a).text(i);var n=parseInt(100*t.value/e.Value,10),r=setInterval((function(){var e=$("#fundraiserProgress",a).progressbar("option","value"),t=isNaN(e)?1:e+1;t>n?clearInterval(r):$("#fundraiserProgress",a).progressbar({value:t})}),50)}))}else if(e.Count){widgetPage.formAnswers=[],widgetPage.maxCount=e.Count;var i=new Date;i.setYear(i.getFullYear()-1);var n=new Date;n.setDate(n.getDate()+5);var r=_.filter(calendarPage.calendar.Questions,(function(t){return t.ForItem==e.Id&&(2==t.FieldType||3==t.FieldType)}));ajaxServerCall("Store","GetFormAnswers",{companyId:calendarPage.companyId,localStartDate:i,localEndDate:n},(function(t){_.each(t.carts,(function(t){_.each(t.Items,(function(a){if(a.Id==e.Id){var i=null,n={UserId:t.UserId,Answers:a.Notes?bookings.reconstructFields(r,a.Notes):[]};e.Single&&(i=_.find(widgetPage.formAnswers,(function(e){return e.UserId==t.UserId})))?_.extend(i,n):widgetPage.formAnswers.push(n)}}))})),widgetPage.setSectionItems(!0),$("#addToCart,#addToCartMobile").text(bookings.resources.Submit),$(".addToCart").addClass("form")}))}else widgetPage.setSectionItems(!0),$("#addToCart,#addToCartMobile").text(bookings.resources.Submit),$(".addToCart").addClass("form")},setUser:function(e){$("input[data-code='FUND_FIRST']").val(e.first).trigger("focusin"),$("input[data-code='FUND_LAST']").val(e.last).trigger("focusin"),$("input[data-code='FUND_EMAIL']").val(e.email).trigger("focusin"),$("input[data-code='FUND_PHONE']").val(e.phone).trigger("focusin"),$("input[data-code='FUND_ADDRESS']").val(e.address).trigger("focusin"),$("input[data-code='FUND_ZIP']").val(e.zip).trigger("focusin")},setGoogleMap:function(e,t){if(e.prepend("<div id='google-map' style='width: 100%; min-height: 350px;'></div>"),""!==t){var a=new google.maps.Map(document.getElementById("google-map")),i=new google.maps.InfoWindow({content:t});(new google.maps.Geocoder).geocode({address:t},(function(e,t){if(t==google.maps.GeocoderStatus.OK){a.setCenter(e[0].geometry.location),a.fitBounds(e[0].geometry.viewport);var n=new google.maps.Marker({map:a,position:e[0].geometry.location});google.maps.event.addListener(n,"click",(function(){i.open(a,n)}))}}))}},setNoPassword:function(){if(widgetPage.companyData.Widget.NoPasswordCheckout){var e=new Date;e.setHours(e.getHours()+-1*bookings.utcOffset),e.setHours(e.getHours()-29);var t=(e.getMonth()+1).toString(),a=e.getDate().toString(),i=e.getHours().toString(),n=(a[1]?a:"0"+a[0])+""+(t[1]?t:"0"+t[0])+e.getFullYear()+(i[1]?i:"0"+i[0]);$("#Password").val(n)}},setMultiCurrency:function(){var e=$("#editId",widgetPage.content).val(),t=$("#categoryId",widgetPage.content).val(),a=$("#useCurrency").val();if(a&&""!==a)widgetPage.currency=a;else if(t&&t!=bookings.emptyGuid){(i=_.find(widgetPage.products,(function(e){return e.CategoryId==t})))&&i.CategoryCurrency?widgetPage.currency=i.CategoryCurrency:null!=(r=getGroup(t))&&r.Currency&&(widgetPage.currency=r.Currency)}else if(e&&e!=bookings.emptyGuid){var i,n,r;(i=_.find(widgetPage.products,(function(t){return t.Id==e})))&&i.CategoryCurrency?widgetPage.currency=i.CategoryCurrency:(null!=(r=getGroup(e))&&r.Currency||null!=(n=getItemSchedule(e))&&null!=n.ScheduleGroupId&&null!=(r=getGroup(n.ScheduleGroupId))&&r.Currency)&&(widgetPage.currency=r.Currency)}var o=widgetPage.currency!=widgetPage.companyData.Payments.Currency;o&&$("#useCurrency").val(widgetPage.currency),widgetPage.products=_.reject(widgetPage.products,(function(e){return e.CategoryCurrency!=widgetPage.currency&&(o||null!=e.CategoryCurrency)}));var s=_.pluck(_.filter(calendarPage.calendar.Groups,(function(e){return e.Currency==widgetPage.currency||!o&&null==e.Currency})),"Id");calendarPage.calendar.Schedules=_.reject(calendarPage.calendar.Schedules,(function(e){return!_.contains(s,e.ScheduleGroupId)}))}};function initWidget(){if(widgetPage.content=$("#widgetContainer"),widgetPage.content.length>0){if(widgetPage.initFormEvents(),calendarPage.expandBookings=$("#CompanyLoggedIn").length>0,widgetPage.hasEnterprise="1"==$("#hasEnterprise").val(),widgetPage.hasQBO="1"==$("#hasQBO").val(),widgetPage.singleOperationMode="true"==$("#singleItem").val(),widgetPage.isMultiLocation="1"==$("#isMultiLocation").val(),widgetPage.internalView="1"==$("#internalView").val(),widgetPage.products=JSON.parse($("#productsData").val())||[],widgetPage.forms=JSON.parse($("#formsData").val())||[],widgetPage.companyData=JSON.parse($("#companyData").val()),widgetPage.isRequestMode="true"==$("#isRequest").val(),widgetPage.multiCurrency=widgetPage.companyData.Payments.MultiCurrency,$("#productsData").val(""),$("#companyData").val(""),widgetPage.initEmbedded(),initCalendarPage(),widgetPage.clientPreInitFn&&widgetPage.clientPreInitFn(),widgetPage.companyData.Payments.Currency&&(widgetPage.currency=widgetPage.companyData.Payments.Currency.toString().toUpperCase()),widgetPage.multiCurrency&&widgetPage.setMultiCurrency(),widgetPage.companyData.Widget.WelcomeMessage&&jQuery.trim(widgetPage.companyData.Widget.WelcomeMessage).length>5&&!widgetPage.embedded){var e=$("#instructionsContent");e.html(widgetPage.companyData.Widget.WelcomeMessage).attr("style","margin-bottom: 20px").attr("style","display: none"),e.fadeIn(1500)}if(!widgetPage.companyData.AltLanguage||widgetPage.internalView||widgetPage.isInsidePortal()||($(".languages",widgetPage.content).attr("style","display: block !important"),$(".supportContent",widgetPage.content).hide()),widgetPage.overwriteMobile){var t=widgetPage.overwriteMobile;if(t){var a,i=parseInt(t,10);a=setInterval((function(){console.log("check width "+$(window).width()),$(window).width()>0&&(bookings.mobileRender=$(window).width()<parseInt(i,10),$("#cssLinkMobile").attr("media","(max-width: "+i+"px)"),$("#cssLinkDesktop").attr("media","(min-width: "+(i+1)+"px)"),clearInterval(a))}),100)}}widgetPage.companyData.Widget.AllowFacebookSignIn&&$(".socialLogIn").show().removeClass("hidden").addClass("active"),widgetPage.companyData.Widget.AllowNameSignIn&&!widgetPage.internalView&&$(".hasAccount",widgetPage.content).attr("data-shared","true"),widgetPage.companyData.Widget.NoPasswordCheckout&&(widgetPage.setNoPassword(),$("#Password").closest(".passwordItem").hide().addClass("phantom"),$(".passwordLabel").removeClass("passwordLabel"),$(".forgot").removeClass("switchItem")),$("#calendarData").val(""),$('input[type="text"],input[type="email"],input[type="password"],input[type="number"]').attr("autocomplete","new-password"),calendarPage.companyId=agenda.currentCompanyId=$("#companyId",widgetPage.content).val(),widgetPage.setPictureGallery(),widgetPage.initialize(),widgetPage.setDefaultSelection();var n=$("#editId",widgetPage.content).val()!=bookings.emptyGuid?350:0;setTimeout((function(){widgetPage.isInline||$("#section-tabs").removeClass("hidden").fadeIn(500),widgetPage.setSelects(),widgetPage.setVisibility(),setTimeout((function(){widgetPage.setIdentificationFields(),widgetPage.checkTabsHeight(),widgetPage.checkMinHeight(),widgetPage.checkMobileWidth(),widgetPage.preLoad=!1;var e=$("#postalZipLabel").val();$("#authNetZipCode").attr("placeholder",e)}),550),widgetPage.clientInitCompleteFn&&widgetPage.clientInitCompleteFn(),widgetPage.clientDefaultAction()}),n),widgetPage.companyData.Widget.RequireInstructor&&widgetPage.setInstructorSettings(),widgetPage.companyData.Settings.DefaultCulture&&$.cookie("findjoo_culture",widgetPage.companyData.Settings.DefaultCulture,{path:"/"}),widgetPage.getDiscounts();var r=$("#userId").val();!widgetPage.internalView&&r&&r!=bookings.emptyGuid&&($("#IdTab").removeClass("active").removeClass("current").addClass("hidden"),widgetPage.resetTabOrder(),widgetPage.clientLoginFn&&widgetPage.clientLoginFn({userId:r}),$(".message-summary.info:visible").hide())}setTimeout((function(){$("#calendar #bookings").remove(),widgetPage.inDefaultSelection=!1}),900);var o=new Date;o=o.addHours(1),setTimeout((function(){var e=bookings.resources.CartExpiration.replace("{0}",formatEventTime(o)),t=[{title:bookings.resources.SessionExpirationTitle,html:e,buttons:{done:{title:"OK",value:2}},focus:0}];$.prompt(t),setTimeout((function(){widgetPage.reset(),location.reload()}),3e5)}),33e5)}function initInternalWidget(){initWidget(),$("#instructionsContent,#poweredByContainer").hide(),$(".socialLogIn").remove(),$(".signOut,.supportContent").remove(),$("#identification .forgot").remove(),$(".hasAccount").next().text($("#ExistingClient").text()),$("#Name").val(""),$(".infoContent .header").remove(),$(".whenContent,.whomContent").addClass("phantom"),$("#Email,#Password").closest("div").addClass("switchItem"),$("#Name").closest("div").removeClass("hidden").hide(),$("#Password").closest("div").remove(),$("#DOB,#Gender").removeClass("required"),$(".autoCompleteUser").show(),clients.includeAllLocations=widgetPage.isMultiLocation,ajaxServerCall("Portal","GetClientList",{companyId:widgetPage.companyData.Id,apiKey:$("#APIKey").val()},(function(e){if(e){clients.clients=JSON.parse(e.data);var t=clients.includeAllLocations?3:2,a=companySpace.getClientNames(clients.clients,0,t,!0);$("#Name").keydown((function(e){widgetPage.getClientDisplayInfo(null)})),$("#Name").autocomplete({source:function(e,t){t($.ui.autocomplete.filter(a,e.term).slice(0,50))},minLength:2,delay:50,select:function(e,t){return companySpace.clientSelectionChange($(this),t),$("#First").val(t.item.first),widgetPage.getClientDisplayInfo(t.item),!1}}),$("#Name").attr("autocomplete","new-password")}})),setBookingEvents(),setPaymentEvents();var e=$("form.elavonForm",bookings.container);e.length>0&&e.removeAttr("action").removeAttr("target"),widgetPage.hasQBO&&"False"==$("#APIView").val()&&companySpace.setQBOClassSelection($())}var eventMethod=window.addEventListener?"addEventListener":"attachEvent",eventer=window[eventMethod],messageEvent="attachEvent"==eventMethod?"onmessage":"message";eventer(messageEvent,(function(e){if(e.data&&e.data.inPopup)widgetPage.inPopup=!0;else if(e.data&&e.data.userId)$("#userId").val(e.data.userId),$("#Name").val(e.data.userName),$("#IdTab").removeClass("active").removeClass("current").addClass("hidden"),widgetPage.resetTabOrder(),widgetPage.clientLoginFn&&widgetPage.clientLoginFn({userId:e.data.userId}),$(".message-summary.info:visible").hide();else if(e.data&&e.data.userInfo){var t=e.data.userInfo;$("input[data-code='FUND_FIRST']").val(t.first),$("input[data-code='FUND_LAST']").val(t.last),$("input[data-code='FUND_EMAIL']").val(t.email),$("input[data-code='FUND_PHONE']").val(t.phone),$("input[data-code='FUND_ADDRESS']").val(t.address),$("input[data-code='FUND_ZIP']").val(t.zip)}}),!1);
$(document).ready((function(){$(".flyout").each((function(t,i){const n=$(i),o=n.find(".flyout-container"),e=n.find(".flyout-button");function c(t){$.contains(i,t.target)||i.hide()}i.isVisible=function(){o.hasClass("visible")},i.bindEvents=function(){$(document.body).on("click",c)},i.unbindEvents=function(){$(document.body).off("click",c)},i.hide=function(){i.timeoutID&&clearTimeout(i.timeoutID),o.css("opacity","0"),i.timeoutID=setTimeout((function(){o.css("display","none")}),200),i.unbindEvents()},i.show=function(){i.timeoutID&&clearTimeout(i.timeoutID),o.css("min-width",e.innerWidth()+16+"px"),n.hasClass("flyout-above")&&o.css("margin-top",-e.outerHeight()-8+"px"),o.css("display","block"),i.timeoutID=setTimeout((function(){o.css("opacity","1")}),0),i.bindEvents()},i.toggle=function(){i.isVisible()?i.hide():i.show()},e.click(i.toggle)}))}));
$(document).ready((function(){let n=null;function e(){n&&(n.css("display","none"),n=null)}$(".side-menu .item.hasSubMenu").each((function(t,u){const o=$(u);o.mouseenter((function(){const t=o.find(".submenu");var u;t&&t.length&&(u=t,e(),u.css("display","block"),n=u)}))})),$(document).mousemove((function({pageX:t}){if(n){t>n[0].getBoundingClientRect().right&&e()}}))}));
var memberPortal={content:null,companyId:null,userId:null,userName:null,orgName:null,loggedIn:!1,membership:null,country:null,clientId:bookings.emptyGuid,companyName:null,balance:0,embedded:!1,lastClientHeight:0,hasSSO:!1,isStaffLogin:!1,staffURL:"",gotoOnLogin:!0,initialized:!1,requiredFields:"",defaultTab:0,showRelatives:!0,allowDeleteRelative:!1,showSubscription:!0,showForms:!1,showDocuments:!1,showNotes:!1,showCustomFields:!0,addMemberExtraFields:0,enablePicUpload:!1,profileFunction:null,questionFunction:null,memberFunction:null,agendaFunction:null,historyFunction:null,purchaseFunction:null,relativeFunction:null,orgFunction:null,openCartFn:null,loggedInFunction:null,loggedOutFunction:null,passwordResetFunction:null,relativeFields:[],orgMemberFields:[],loginError:null,setCKEditor:function(e,t){var o=t?"/ckeditor/cke_tokens_config.js":"/ckeditor/cke_config.js";CKEDITOR.replace(e,{customConfig:o,tokenList:t,on:{fileUploadResponse:function(e){e.stop();var t=e.data,o=t.fileLoader.xhr.responseText.split("|");o[1]?(t.message=o[1],e.cancel()):t.url=o[0]}}})},customQuestionsUpdated:function(){bookings.scrollIntoView($(".profileAddress .buttonContainer"))},initEvents:function(){$("#memberLogin",memberPortal.content).on("click",(function(e){if(memberPortal.membership="",memberPortal.isStaffLogin){var t=memberPortal.content,o=jQuery.trim($(".email",t).val()),a=jQuery.trim($(".password",t).val());ajaxServerCall("Portal","LogIn",{email:o,first:"",companyId:memberPortal.companyId,password:a,isStaffLogin:!0},(function(e){e.success?window.location=window.location.origin:addErrorMessage($("#identification"),e.message)}))}else agenda.processAccount($("#identification"),(function(e){clearForSection(memberPortal.content),memberPortal.userId=e.userId,memberPortal.userName=e.name;var t=(new Date).addMinutes(60);memberPortal.hasSSO&&t.setFullYear(t.getFullYear()+10),$.cookie("findjoo_user",e.userId,{path:"/",expires:t,secure:!0}),$("#userId",memberPortal.content).val(memberPortal.userId),$("#memberPortal .name").val(e.name),memberPortal.has2FA?memberPortal.sendConfirmationCode():memberPortal.validateLoggedMember()}),!1,(function(e){memberPortal.loginError&&memberPortal.loginError(e)}),!1,!1,!1,memberPortal.hasSSO)})),$("#identification",memberPortal.content).on("keydown",(function(e){13==e.keyCode&&$("#memberLogin",memberPortal.content).click()})),$(document).on("click",".retrieve",(function(e){$("#identification").fadeOut(200),$("#forgotPassword").fadeIn(1e3),clearForSection(memberPortal.content)})),$(".remember",memberPortal.content).on("click",(function(e){$("#forgotPassword").hide(),$("#identification").fadeIn(1500),clearForSection(memberPortal.content)})),$("#forgot",memberPortal.content).on("click",(function(e){clearForSection(memberPortal.content);var t=$.trim($("#forgotEmail").val());t&&0!=t.length?ajaxServerCall("Account","ForgotPassword",{email:t,companyId:memberPortal.companyId},(function(e){e.success?(addSuccessMessage($("#forgotPassword"),e.message),$("#forgotEmail").val("")):addErrorMessage($("#forgotPassword"),e.message)})):addErrorMessage($("#forgotPassword"),$("#forgotPassword").attr("data-error-message"))})),$("#updatePassword",memberPortal.content).on("click",(function(e){clearForSection(memberPortal.content),ajaxServerCall("Account","SetNewPassword",{userId:memberPortal.userId,companyId:memberPortal.companyId,newPassword:$("#newPassword").val(),confirmPassword:$("#confirmPassword").val()},(function(e){e.success?(addSuccessMessage($("#identification"),e.message),$("#newPasswordContent").hide(),$("#identification").show(),memberPortal.passwordResetFunction&&memberPortal.passwordResetFunction()):addErrorMessage($("#newPasswordContent"),e.message)}))})),$("#submitCode",memberPortal.content).on("click",(function(e){clearForSection(memberPortal.content),ajaxServerCall("Portal","SubmitCode",{companyId:memberPortal.companyId,userId:memberPortal.userId,code:$("#confirmationCode").val()},(function(e){e.success?($("#confirmationCodeContent").hide(),memberPortal.validateLoggedMember()):addErrorMessage($("#confirmationCodeContent"),e.message)}))})),$("#unsubscribe",memberPortal.content).on("click",(function(e){clearForSection(memberPortal.content),ajaxServerCall("Portal","ConfirmUnsubscribe",{cId:memberPortal.companyId,mid:$("#memberId").val()},(function(e){e.success?(addSuccessMessage($("#unsubscribeContent"),e.message),$("#unsubscribeContent").hide()):addErrorMessage($("#unsubscribeContent"),e.message)}))})),$(".h-signOut",memberPortal.content).on("click",(function(){ajaxServerCall("Account","LogOffAccount",{hasSSO:memberPortal.hasSSO},(function(e){e&&(memberPortal.loggedIn=!1,$("#memberPageContent").hide(),$(".identification .validation-summary-errors").remove(),$(".identification").show(),$("#memberMenu,.burger_menu").addClass("hidden"),$("#inlineWidgetContainer").hide(),memberPortal.hasSSO||$.cookie("findjoo_user",null,{path:"/"}),memberPortal.loggedOutFunction&&memberPortal.loggedOutFunction(),memberPortal.isStaffLogin&&memberPortal.staffURL&&(window.location=memberPortal.staffURL))}))})),$(".h-memberMembership",memberPortal.content).on("click",(function(){console.log("Membership click:"+memberPortal.userId),ajaxServerCall("Client","GetAccountDetails",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){if(e){memberPortal.loadMemberPageContents(e.value);var t=$(".balance",memberPortal.content).attr("data-amount");t&&!isNaN(t)?memberPortal.balance=parseInt(t,10):memberPortal.balance=0,$(".sectionContent .small-icons-25",memberPortal.content).removeClass("small-icons-25").addClass("large-icons-64"),$(".sectionContent .cards",memberPortal.content).removeClass("cards").addClass("store");var o=$("#clientUploadWaiver"),a=$(".clientId",o).val();memberPortal.clientId=a,bookings.setSimpleFileUpload($(".initalStorage",o),"/Client/UploadFile/"+a+"?companyId="+memberPortal.companyId,!0),memberPortal.showSubscription&&memberPortal.loadSubscription($("#PaymentProfile1").val(),$("#PaymentProfile2").val()),memberPortal.memberFunction&&memberPortal.memberFunction(),memberPortal.setPictureUpload(a),memberPortal.showRelatives?$(".h-viewRelatives",memberPortal.content).click():$("#portalViewRelatives").hide(),$(".h-viewMembers",memberPortal.content).is(":visible")&&$(".h-viewMembers",memberPortal.content).click()}}),(function(e){console.log(e),window.location=window.location}))})),$(".h-memberAgenda",memberPortal.content).on("click",(function(){ajaxServerCall("Agenda","GetMemberAgenda",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){e&&(memberPortal.loadMemberPageContents(e.value),initAgenda(),ajaxServerCall("Agenda","GetMemberHistory",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){if(e){$();memberPortal.appendMemberPageContents(e.value),memberPortal.agendaFunction&&memberPortal.agendaFunction()}})))}),(function(e){console.log(e),window.location=window.location}))})),$(".h-deleteRequest",memberPortal.content).on("click",(function(){var e=$(this).closest("tr"),t=e.attr("data-id"),o=e.attr("data-compId"),a=($(".cName",e).text(),$(".bookingName",e).text()),r=$("#cancelEventContainer");r.html(r.attr("data-content").replace("{0}",a)),bookings.openConfirmDialog(r,r.attr("data-title"),(function(){agenda.cancelBooking(r,t,o,agenda.messageContainer,a,(function(){var e=$("tr.bookingRow[data-id="+t+"]");e&&e.remove()}))}))})),$(".h-memberDocuments",memberPortal.content).on("click",(function(){ajaxServerCall("Client","GetFolders",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){e&&memberPortal.loadMemberPageContents(e.value)}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-viewFiles",(function(e){var t=$(this),o=t.attr("data-id"),a=t.attr("data-name"),r=t.attr("data-allowUploads");ajaxServerCall("Client","GetFolderDocuments",{companyId:memberPortal.companyId,userId:memberPortal.userId,folderId:o},(function(e){if(e){$("#userAccountItemContainer").remove(),memberPortal.appendMemberPageContents(e.value);var t=$("#userAccountItemContainer .collapsibleHeader:first");if(t.text(a+" - "+t.text()),$("#library").attr("data-folderId",o),"false"==r)$(".h-addDocument").remove();else{var n="/Company/UploadFiles?publicFiles=false&folderId="+o+"&companyId="+memberPortal.companyId;$("#fileupload").attr("action",n);var l=$("#newDocumentContainer");$("#fileupload",l).fileupload(),$("#fileupload",l).fileupload("option",{resizeMaxWidth:1920,resizeMaxHeight:1200})}}}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-addDocument",(function(){var e=$("#newDocumentContainer"),t=e.attr("data-title"),o=[{text:bookings.resources.Close,click:function(){var t=$("#library").attr("data-folderid");$(".h-viewFiles[data-id='"+t+"']").click(),e.dialog("close")}}],a=e.dialog({modal:!0,title:t,resizable:!1,close:function(){e.dialog("destroy"),e.hide()},width:950,height:550,buttons:o});a.show(),$(".folderId",a).val($("#library").attr("data-folderId"))})),$(document).on("click",".h-downloadFile",(function(e){e.preventDefault();var t=$(this).closest("tr"),o=$(".rowId",t).val();window.open("/Portal/DownloadDocument/?id="+o+"&companyId="+memberPortal.companyId)})),$(document).on("click",".h-deleteFile",(function(){var e=$(this).closest("tr"),t=$(".rowId",e).val(),o=e.closest(".boxContent"),a=$("#deleteFileContainer");a.html(a.attr("data-content")),bookings.openConfirmDialog(a,a.attr("data-title"),(function(){ajaxServerCall("Company","DeleteDocument",{id:t,companyId:memberPortal.companyId},(function(e){if(e.success){var t=$("#library").attr("data-folderid");$(".h-viewFiles[data-id='"+t+"']").click()}else addErrorMessage(o,e.message)}),(function(e){addErrorMessage(o,getAjaxError(e))}))}))})),$(".h-memberForms",memberPortal.content).on("click",(function(){ajaxServerCall("Client","GetAvailableForms",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){e&&memberPortal.loadMemberPageContents(e.value),ajaxServerCall("Client","GetForms",{userId:memberPortal.userId,companyId:memberPortal.companyId},(function(e){if(e){$();memberPortal.appendMemberPageContents(e.value),memberPortal.agendaFunction&&memberPortal.agendaFunction()}}))}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-answerForm",(function(){var e=$(this).attr("data-id"),t=window.location.origin+"/POS/Widget/"+memberPortal.companyId+"?editId="+e+"&userId="+memberPortal.userId;window.open(t,"_blank").focus()})),$(".h-memberNotes",memberPortal.content).on("click",(function(){ajaxServerCall("Client","GetPersonalNotes",{userId:memberPortal.userId},(function(e){e&&memberPortal.loadMemberPageContents(e.value)}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-addNote",(function(){var e=$("#addNoteContainer");$(".note",e).val("");var t=null,o=[{text:bookings.resources.Cancel,class:"dialogCancel",click:function(){t.dialog("close")}},{text:bookings.resources.Confirm,click:function(){var o=$(".note",e).val();clearForSection(e),o?ajaxServerCall("Client","AddPersonalNote",{userId:memberPortal.userId,note:o,userName:memberPortal.userName},(function(e){e.success?(t.dialog("close"),$(".h-memberNotes",memberPortal.content).click()):addErrorMessage(t,e.message)})):addErrorMessage(e,e.attr("data-error"))}}];(t=e.dialog({modal:!0,title:e.attr("data-title"),resizable:!1,close:function(){e.dialog("destroy"),e.hide()},width:650,height:420,buttons:o})).show()})),$(document).on("click",".h-deleteNote",(function(){var e=$(this).closest("tr"),t=$(".rowId",e).val(),o=e.closest(".boxContent"),a=$("#deleteNoteContainer");a.html(a.attr("data-content")),bookings.openConfirmDialog(a,a.attr("data-title"),(function(){ajaxServerCall("Client","DeletePersonalNote",{id:t,userId:memberPortal.userId},(function(e){e.success?$(".h-memberNotes",memberPortal.content).click():addErrorMessage(o,e.message)}),(function(e){addErrorMessage(o,getAjaxError(e))}))}))})),$(document).on("click",".h-memberPurchases",(function(){ajaxServerCall("Client","GetPurchases",{userId:memberPortal.userId,companyId:memberPortal.companyId},(function(e){e&&(memberPortal.loadMemberPageContents(e.value),memberPortal.purchaseFunction&&memberPortal.purchaseFunction())}))})),$(".h-memberTransactions",memberPortal.content).on("click",(function(){memberPortal.orgName&&0!=$(".h-viewMembers").length||(memberPortal.orgName=""),ajaxServerCall("Client","GetMemberTransactions",{companyId:memberPortal.companyId,userId:memberPortal.userId,organization:memberPortal.orgName},(function(e){e&&(memberPortal.loadMemberPageContents(e.value),memberPortal.historyFunction&&memberPortal.historyFunction())}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-editBooking",(function(e){e.stopImmediatePropagation();var t=$(this).closest("tr");return ajaxServerCall("Store","GetPaymentForm",{Id:t.attr("data-id"),companyId:memberPortal.companyId},(function(e){if(e){memberPortal.appendMemberPageContents(e.value);var t=$("#userPaymentContent");bookings.isScrolledIntoView(t)||$("html, body").animate({scrollTop:t.offset().top-100+"px"},750)}})),!1})),$(".h-memberProfile",memberPortal.content).on("click",(function(){ajaxServerCall("User","GetUserProfile",{userId:memberPortal.userId},(function(e){e&&(memberPortal.loadMemberPageContents(e.value),$("#memberPageContent #CompanyId",memberPortal.content).val(memberPortal.companyId),memberPortal.profileFunction&&memberPortal.profileFunction(),bookings.createUiTooltip($("span.tooltip-icon",memberPortal.content)))}),(function(e){console.log(e),console.log(getAjaxError(e)),window.location=window.location})),memberPortal.showCustomFields&&setTimeout((function(){ajaxServerCall("Client","GetClientCustomProfile",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){e&&($("#clientProfile").remove(),$("#userProfile").after(e.value),memberPortal.orgName=$("#ClientProfileDTO_Organization").val(),memberPortal.content.on("click",".autoCompleteButton",(function(){var e=$(this).siblings("input:visible:first");e.autocomplete("search",""),e.focus()})),memberPortal.questionFunction&&memberPortal.questionFunction())}))}),600)})),$(document).on("click",".h-viewRelatives",(function(){var e=$(this).closest(".rowItem"),t=e.attr("data-compId"),o=(e.attr("data-compName"),e.attr("data-userId"));ajaxServerCall("Client","FamilyMembers",{companyId:t,userId:o},(function(e){e&&(memberPortal.appendMemberPageContents(e.value),setFamilyMembersTable(t,o,memberPortal.relativeFields,memberPortal.allowDeleteRelative,memberPortal.relativeFunction),memberPortal.relativeFunction&&memberPortal.relativeFunction())}),(function(e){window.location=window.location}))})),$(document).on("click",".h-viewMembers",(function(){$(this).closest(".rowItem");var e=$(this).attr("data-name"),t=$(this).attr("data-code"),o=$("#purchasedLabel"),a=$("#NbMembers"),r=o.length>0?parseInt(o.attr("data-count"),10):null;!r&&a.length>0&&a.val()&&(r=a.val()),ajaxServerCall("Client","OrganizationMembers",{companyId:memberPortal.companyId,code:t,nbMembers:r},(function(o){if(o){memberPortal.appendMemberPageContents(o.value),memberPortal.setOrganizationMembersTable(memberPortal.companyId,memberPortal.userId,e,t);var a=$(".organizationContent").addClass("boxContent");$(".sectionContent",a).removeClass("hidden"),$(".collapsibleButton",a).removeClass("expand-dark").addClass("collapse-dark"),clientCommon.compId=memberPortal.companyId}}),(function(){}))})),$(document).on("click",".h-deleteRelative,.h-deleteClient",(function(){var e=$(this).closest("tr"),t=$(".clientId",e).val(),o=$(".username",e).text(),a=e.closest(".clientsContent"),r=$("#deleteClientContainer");r.html(r.attr("data-content").replace("{0}",o)),bookings.openConfirmDialog(r,r.attr("data-title"),(function(){ajaxServerCall("Client","Remove",{id:t,name:o,compId:memberPortal.companyId},(function(t){t.success?(addSuccessMessage(a,t.message),e.remove()):addErrorMessage(a,t.message)}),(function(e){addErrorMessage(a,getAjaxError(e))}))}))})),$(document).on("click",".h-viewFamilyTransactions",(function(){var e=$(this).closest("tr"),t=$(".userId",e).val(),o=$(".username",e).text();$(".transactionsContent").remove(),memberPortal.orgName&&0!=$(".h-viewMembers").length||(memberPortal.orgName=""),ajaxServerCall("Client","GetMemberTransactions",{companyId:memberPortal.companyId,userId:t,organization:memberPortal.orgName},(function(e){if(e){memberPortal.appendMemberPage2Contents(e.value);var t=$("#userAccountItem2Container .boxContent .collapsibleHeader");t.text(t.text()+" - "+o)}}),(function(e){console.log(e),window.location=window.location}))})),$(document).on("click",".h-settleBalance",(function(){var e=$(this),t=parseInt(e.attr("data-amount"))/100;memberPortal.memberTabPayment(memberPortal.userId,memberPortal.userName,t)})),$(document).on("click",".h-settleFamBalance",(function(){var e=$(this),t=parseInt(e.attr("data-amount"))/100,o=e.closest("tr"),a=$(".userId",o).val(),r=$(".username",o).text();memberPortal.memberTabPayment(a,r,t)})),$(document).on("click",".h-payPendingCart",(function(){var e=$(this).closest("tr"),t=$(".rowId",e).attr("data-id");memberPortal.openCartPayment(t,memberPortal.userName,!1)})),$(document).on("click",".h-getInvoice",(function(){var e=$(this).attr("data-cartId");ajaxServerCall("Portal","DownloadInvoice",{cartId:e,userId:memberPortal.userId},(function(e){e&&e.success?window.location="/Portal/GetPDF?filename="+e.filename:addErrorMessage(memberPortal.content,e.message)}))})),$(document).on("click","#memberMenu li a",(function(){var e=$("#memberMenu");$("li a",e).removeClass("active"),$(this).addClass("active")})),$(".mobile_nav li a",memberPortal.content).on("click",(function(){var e=$(this).closest(".mobile_nav");e.is(":visible")&&e.hide()}))},getClientForm:function(){ajaxServerCall("Client","GetNewClientForm",{companyId:memberPortal.companyId},(function(e){$("#newClientContainer").html(e.value),1==(1&memberPortal.addMemberExtraFields)?$("#newClientContainer").attr("data-validate_zip",!0):2==(2&memberPortal.addMemberExtraFields)&&$("#newClientContainer").attr("data-validate_address",!0)}))},initCleanupFiles:function(){$(".h-removeFile",memberPortal.content).on("click",(function(){var e=$(this).closest(".storageFile "),t=$(".downloadLink",e);if(t.length>0){var o=(t=(t=t.attr("href")).substring(0,t.lastIndexOf("?"))).substring(t.lastIndexOf("/")+1);ajaxServerCall("Client","DeleteClientFile",{id:o,companyId:memberPortal.companyId},(function(t){e.remove()}))}else $("#ImageLogoItem",e).length>0&&e.remove()}))},memberHasPaymentProfile:function(){var e=$("#PaymentProfile1").val();return e&&e.length>5},memberTabPayment:function(e,t,o){var a=[];a.push({Type:0,Cost:o,Value:o,Name:bookings.resources.MemberTabPayment,Quantity:1}),ajaxServerCall("Store","CreateCart",{companyId:memberPortal.companyId,userId:e,bookingId:bookings.emptyGuid,items:JSON.stringify(a),inlineLayout:!1,name:t,eNews:!1,coupon:""},(function(o){if(o.success)memberPortal.memberHasPaymentProfile()?memberPortal.openProfilePayment(o.id,e,t,o.cost,!0):memberPortal.openCartPayment(o.id,t,!0);else{var a=o.message?o.message:bookings.resources.POSProcessError;addErrorMessage($("#memberPageContent"),a)}}),(function(e){addErrorMessage($("#memberPageContent"),bookings.resources.POSProcessError),widgetPage.processError=!0}),{async:!1})},loadMemberPageContents:function(e){var t=$("#memberPageContent",memberPortal.content);t.show().removeClass("hidden").html(e),$("html, body").animate({scrollTop:t.offset().top-100},1e3),$("#inlineWidgetContainer").hide()},loadMemberPageIFrameContents:function(e){var t=$("#memberPageContent",memberPortal.content);t.show().removeClass("hidden").html("<iframe id='externalContent' style='width: 100%; height: 100%; min-height: 600px; border: 0px; overflow: hidden;'></frame>"),$("#externalContent").contents().find("body").html(e),$("html, body").animate({scrollTop:t.offset().top-100},1e3),$("#inlineWidgetContainer").hide()},appendMemberPageContents:function(e){var t=$("#memberPageContent",memberPortal.content);$("#userAccountItemContainer",t).remove(),t.append('<div id="userAccountItemContainer">'+e+"</div>"),memberPortal.clientResize()},appendMemberPage2Contents:function(e){var t=$("#memberPageContent",memberPortal.content);$("#userAccountItem2Container",t).remove(),t.append('<div id="userAccountItem2Container">'+e+"</div>"),memberPortal.clientResize()},clientResize:function(){memberPortal.embedded&&setTimeout((function(){var e=document.getElementById("memberPortal").scrollHeight+50;(e=Math.max(400,e))!=memberPortal.lastClientHeight&&(console.log(e+" , portal: "+memberPortal.lastClientHeight),window.parent.postMessage({calendarHeight:e},"*"),memberPortal.lastClientHeight=e)}),400)},sendConfirmationCode:function(){ajaxServerCall("Portal","SendConfirmationCode",{companyId:memberPortal.companyId,userId:memberPortal.userId},(function(e){e.valid?($("#identification").hide(),$("#confirmationCodeContent").show()):(addErrorMessage($("#identification"),e.message),$.cookie("findjoo_user",null,{path:"/"}))}))},validateLoggedMember:function(){ajaxServerCall("Portal","ValidateLoggedMember",{id:memberPortal.companyId,userId:memberPortal.userId},(function(e){e.valid?(memberPortal.loggedIn=!0,memberPortal.membership=e.membership,memberPortal.country=e.country,$(".memberCountry").val(e.country),memberPortal.getClientForm(),memberPortal.gotoOnLogin&&(memberPortal.goToStart(!1,!0),$(".identification").hide(),$("#memberMenu,.burger_menu").removeClass("hidden")),memberPortal.loggedInFunction&&(console.log("Call log in fn"),memberPortal.loggedInFunction(e))):(addErrorMessage($("#identification"),e.message),$.cookie("findjoo_user",null,{path:"/"}))}))},getCurrentTab:function(e){var t=window.location.href,o=getParameterByName("page",t);o&&""!=o||(o=getParameterByName("tab",t));o&&""!=o||!memberPortal.userId||memberPortal.userId==bookings.emptyGuid||"true"!=(redirect=getParameterByName("logout",t))||(o="sign-out",memberPortal.defaultTab=5),console.log("Check Tab page: "+o+", user: "+memberPortal.userId+", logged in: "+memberPortal.loggedIn+", redirect: "+getParameterByName("redirect",t)+", is login: "+e),o&&""!==o&&("membership"==o?memberPortal.defaultTab=0:"agenda"==o?memberPortal.defaultTab=1:"transactions"==o?memberPortal.defaultTab=2:"profile"==o?memberPortal.defaultTab=3:"sign-out"==o&&(memberPortal.defaultTab=5))},goToStart:function(e,t){if(console.log("Go to start "+memberPortal.userId+", tab: "+memberPortal.defaultTab),e&&memberPortal.getCurrentTab(t),memberPortal.userId&&memberPortal.userId!=bookings.emptyGuid&&0==memberPortal.portalMode)switch(memberPortal.defaultTab){case 0:$(".h-memberMembership",memberPortal.content).trigger("click");break;case 1:$(".h-memberAgenda",memberPortal.content).trigger("click");break;case 2:$(".h-memberTransactions",memberPortal.content).trigger("click");break;case 3:$(".h-memberProfile",memberPortal.content).trigger("click");break;case 5:t?$(".h-memberProfile",memberPortal.content).trigger("click"):$(".h-signOut",memberPortal.content).trigger("click")}else memberPortal.userId==bookings.emptyGuid&&""!=memberPortal.userName&&memberPortal.userName.length>0&&$(".h-signOut",memberPortal.content).trigger("click")},validMembershipSelection:function(e,t){var o=!0;return 0==t.val()&&(addErrorMessage($(".container",e),bookings.resources.IsRequired.replace("{0}",t.attr("data-label"))),o=!1),o},initApplyMembership:function(){var e=$("#applicationFormContainer"),t=JSON.parse($("#calendarData").val(),e),o=JSON.parse($("#productsData").val(),e),a=_.filter(t.Questions,(function(e){return null==e.ForItem||e.ForItem==bookings.membershipGuid}));if(_.size(a)>0&&bookings.setEventFields($("#membershipApplicationContainer"),a),_.size(o)>0){var r=$(".membershipSelection");r.append($("<option>",{value:""}).text(bookings.resources.Select)),_.each(o,(function(e){r.append($("<option>",{value:e.Id,"data-cost":e.Cost,"data-desc":e.Description,"data-length":e.Value,"data-exp":e.EndDate}).text(e.Name))}))}$(".membershipSelection",e).on("change",(function(){var o=$(this).find("option:selected"),a=$("#membershipCustomQuestions",e);if($(".customQuestions",a).html(""),""==o.val())$(".membershipItem",e).hide();else{var r=_.filter(t.Questions,(function(e){return e.ForItem==o.val()}));_.size(r)>0&&bookings.setEventFields(a,r),$("#membershipCost",e).text(o.attr("data-cost")+" "+$("#compCurrency").val()),$("#membershipDesc",e).html(o.attr("data-desc")),$(".membershipItem",e).show()}})),$(".h-applyMembership",e).on("click",(function(){var o=$(".membershipSelection option:selected",e);if(validateBasicDialog(e)&&memberPortal.validMembershipSelection(e,o)){$(".h-applyMembership",e).hide();var a=$(".messageContent"),r="true"==$("#requirePayments",e).val()?4:1,n=4==r?parseFloat($("#membershipCost",e).text()).toFixed(2):0,l=o.attr("data-exp")?convertToDate(o.attr("data-exp")):null,i={companyId:t.CompanyId,fName:$(".firstName",e).val(),lName:$(".lastName",e).val(),email:$(".email",e).val(),phone:$(".telephone",e).val(),zip:$(".zip",e).val(),organization:$(".organization",e).val(),membershipId:o.val(),membershipName:o.text(),membershipLength:o.attr("data-length"),membershipExp:l,status:r,custom:bookings.extractFields(e),cost:n};ajaxServerCall("Portal","ApplyMembership",i,(function(t){t&&(t.success?(e.hide(),addSuccessMessage(a,t.message)):addErrorMessage(a,t.message),t.success&&4==r&&($("#paymentFormContent").html(t.content),setPaymentEvents()))}),(function(e){addErrorMessage(a,e)}))}}))},loadClientFiles:function(e,t){ajaxServerCall("Client","GetClientFiles",{clientId:t,companyId:memberPortal.companyId},(function(o){if(o){var a=JSON.parse(o.data);_.each(a,(function(o){memberPortal.setClientFile(e,o,t)})),memberPortal.setClientFile(e,null,t),memberPortal.initCleanupFiles(),$(".initalStorage",e).show()}}))},setClientFile:function(e,t,o){var a=$(".storageFile:not(.templateStorage):last",e);if(null===t)$(".h-removeFile",a).addClass("hidden"),$(".downloadLink",a).attr("href","").text("").hide();else{bookings.addFileSelector(a),$(".h-removeFile",a).removeClass("hidden").show();var r=t.Name.substring(0,Math.min(30,t.Name.length))+(t.Name.length>30?" ...":"");$(".downloadLink",a).attr("href","/Client/DownloadFile/"+t.Id+"?companyId="+memberPortal.companyId).text(r).show()}memberPortal.setClientFileUpload($(".clientFile",a),o),memberPortal.setClientFileUpload($(".clientPicture",a),o)},setPictureUpload:function(e){if(memberPortal.enablePicUpload){var t=$("#clientPictureSection");t.show(),bookings.setSimpleFileUpload(t,"/Client/UploadPicture/?id="+e+"&companyId="+memberPortal.companyId)}},setClientFileUpload:function(e,t){bookings.setSimpleFileUpload(e,"/Client/UploadFile/"+t+"?companyId="+memberPortal.companyId,!0)},setFieldHasMultiple:function(e){var t=!0,o=[],a=$("#"+e);if(a&&a.length>0&&0==$("#sel_"+e).length){a.hide(),$("#"+e).autocomplete("destroy"),$("#"+e).nextAll(".autoCompleteButton").remove();for(var r=a.attr("data-labels").split(","),n="<select id='sel_"+e+"' class='"+a.attr("class")+"'>",l=0;l<r.length;)n+="<option value='"+r[l]+"'>"+r[l++]+"</option>";n+="</select>",$(n).insertAfter(a);var i=$("#sel_"+e);i.attr("multiple","multiple"),i.multiselect({linkInfo:{checkAll:{text:bookings.resources.CheckAll,title:bookings.resources.CheckAll},uncheckAll:{text:bookings.resources.UncheckAll,title:bookings.resources.UncheckAll}},noneSelectedText:bookings.resources.Select,selectedText:bookings.resources.NbSelected,click:function(e,r){if(!t){if(r.checked)o.push(r.value);else{var n=o.indexOf(r.value);n>-1&&o.splice(n,1)}a.val(o.join(","))}},checkAll:function(e,r){t||(o=[],$("option",i).each((function(){o.push($(this).val())})),a.val(o.join(",")))},uncheckAll:function(e,r){t||(o=[],a.val(""))}}),i.multiselect("uncheckAll");var m=i.multiselect("widget"),s=a.attr("data-value");s&&(o=s.split(","),_.each(o,(function(e){m.find("input[value='"+e+"']").trigger("click")}))),t=!1}},openCartPayment:function(e,t,o){var a=$("#settlementContainer"),r=a.attr("data-title").replace("{0}",t);showProgress();var n=[{text:bookings.resources.Close,class:"dialogClose",click:function(){merchants&&merchants.successfull&&(o?$(".h-memberMembership").click():$(".h-memberTransactions").click()),a.dialog("close")}}];ajaxServerCall("Store","GetCartPaymentForm",{Id:e},(function(e){e&&(a.html(e.value),merchants.successfull=!1,hideProgress(),a.dialog({modal:!0,title:r,resizable:!1,close:function(){a.dialog("destroy"),a.hide()},width:850,height:650,buttons:n}).show(),memberPortal.openCartFn&&memberPortal.openCartFn())}))},openProfilePayment:function(e,t,o,a,r){var n=$("#profilePaymentContainer").clone(),l=n.attr("data-title").replace("{0}",o);n.html(n.attr("data-content").replace("{0}",parseFloat(a).toFixed(2)));var i=$(n),m=null,s=[{text:bookings.resources.Cancel,class:"dialogCancel",click:function(){m.dialog("close")}},{text:bookings.resources.Confirm,click:function(){ajaxServerCall("Store","ProcessPaymentProfile",{cartId:e,userId:t},(function(e){if(e&&e.success){addSuccessMessage(m,e.message);setTimeout((function(){r?$(".h-memberMembership").click():$(".h-memberTransactions").click(),m.dialog("close")}),4e3)}else addErrorMessage(m,e.message)}),(function(){m.dialog("close")}))}}];(m=i.dialog({modal:!0,title:l,resizable:!1,close:function(){i.dialog("destroy"),i.hide()},width:500,height:320,buttons:s})).show()},loadSubscription:function(e,t){e&&ajaxServerCall("Client","GetAccountCardForm",{userId:memberPortal.userId,companyId:memberPortal.companyId},(function(e){e&&memberPortal.appendMemberPage2Contents(e.value)}))},setOrganizationMembersTable:function(e,t,o,a){var r=$("#organizationMembers");$("#organizationMembers").attr("data-name",o).attr("data-code",a);var n=memberPortal.orgMemberFields;0==_.size(n)&&(n=["Phone","Title","MembershipEnd","AddressLine","City"]),_.each(n,(function(e){$("th."+e+"Header",r).removeClass("hidden").show()})),$("#organizationMembers").dataTable({aaSorting:[[1,"asc"]],bStateSave:!1,bDestroy:!0,processing:!0,serverSide:!0,ajax:{url:"/Client/GetOrganizationMembers",type:"POST",data:function(t){t.parameters=[{custom:e},{custom:a}]}},fnDrawCallback:function(e,t,o,a){memberPortal.orgFunction&&memberPortal.orgFunction()},sPaginationType:"full_numbers",oLanguage:{sInfo:bookings.resources.PagerTotal,sEmptyTable:bookings.resources.PagerEmpty,sInfoEmpty:bookings.resources.PagerInfoEmpty,sLengthMenu:bookings.resources.PagerMenu,sSearch:bookings.resources.Search,sInfoFiltered:bookings.resources.SearchFiltered},aoColumns:[{data:null,defaultContent:"&nbsp;"},{data:"InternalId",name:"InternalId",searchable:!0,visible:_.contains(n,"InternalId")},{data:"Name",name:"Name",searchable:!0,sClass:"username"},{data:"Email",name:"Email",searchable:!0,sClass:"email"},{data:"Phone",name:"Phone",searchable:!0,visible:_.contains(n,"Phone")},{data:"Title",name:"Title",searchable:!0,visible:_.contains(n,"Title")},{data:"Membership",name:"Membership",sClass:"membership",visible:_.contains(n,"Membership")},{data:"MembershipEnd",name:"MembershipEndDate",sClass:"levelOneShow",visible:_.contains(n,"MembershipEnd")},{data:"AddressLine",name:"AddressLine",sClass:"levelOneShow",visible:_.contains(n,"AddressLine")},{data:"City",name:"City",sClass:"levelOneShow",visible:_.contains(n,"City")},{data:"Custom1",name:"Custom1",sClass:"custom1",visible:_.contains(n,"Custom1")},{data:"Custom2",name:"Custom2",sClass:"custom3",visible:_.contains(n,"Custom2")},{data:"Custom3",name:"Custom3",sClass:"custom3",visible:_.contains(n,"Custom3")},{data:"Custom4",name:"Custom4",sClass:"custom4",visible:_.contains(n,"Custom4")},{data:"Custom5",name:"Custom5",sClass:"custom5",visible:_.contains(n,"Custom5")},{asSorting:[],data:null,sClass:"options",defaultContent:"&nbsp;",sWidth:"4%",render:function(e,o,a){var r="<input type='hidden' class='clientId' value='"+a.Id+"' />"+("<input type='hidden' class='companyId' value='"+a.CompanyId+"' />")+("<input type='hidden' class='memberName' value='"+a.Name+"' />")+(a.CreatedBy==t&&a.UserId!=t?"<div class='fa fa-times-circle fa-2x item h-deleteMember'></div>":""),n='<div class="headerPicker userMenu"><span class="small-icons down-arrow-blue select"></span><ul class="headerList accountItems hidden">';return n+="<li class='h-deleteClient'>"+bookings.resources.Remove+"</li>",r+(n+="</ul></div>")}}]}),"undefined"!=typeof datatable&&(datatable.bindDatatableSearch($("#organizationMembers").DataTable(),$("#organizationMembers").parent()),datatable.handleError($("#organizationMembers")))},initPortal:function(e){memberPortal.content=$("#memberPortal"),memberPortal.companyId=$("#companyId",memberPortal.content).val(),memberPortal.userId=$("#userId",memberPortal.content).val(),memberPortal.userName=$(".name",memberPortal.content).val(),memberPortal.membership=$("#membershipName",memberPortal.content).val(),memberPortal.country=$("#country",memberPortal.content).val(),memberPortal.portalMode=parseInt($("#portalMode",memberPortal.content).val(),10),memberPortal.hasSSO="true"==$("#hasSSO",memberPortal.content).val(),memberPortal.has2FA="true"==$("#requires2FA",memberPortal.content).val(),memberPortal.isStaffLogin="true"==$("#isStaffLogin",memberPortal.content).val(),memberPortal.staffURL=$("#staffURL",memberPortal.content).val();var t=memberPortal.hasSSO?$.cookie("findjoo_user"):null;console.log("init portal "+memberPortal.userId+", current val: "+$("#userId",memberPortal.content).val()+", cookie val: "+t),memberPortal.hasSSO||memberPortal.userId&&memberPortal.userId!=bookings.emptyGuid||!t||t==bookings.emptyGuid||(memberPortal.userId=t),e||memberPortal.initEvents(),$(".v-documentsPage").toggle(memberPortal.showDocuments),$(".v-formsPage").toggle(memberPortal.showForms),$(".v-notesPage").toggle(memberPortal.showNotes);var o="1"==$("#infoCompIsServiceType").text(),a="1"==$("#infoCompHasRooms").text();initAgendaSettings(memberPortal.companyId,null,null,null,o,a);$("#hasMembership",memberPortal.content).val();memberPortal.userId&&memberPortal.userId!=bookings.emptyGuid?($(".identification").hide(),$("#memberMenu,.burger_menu").removeClass("hidden"),memberPortal.getClientForm()):memberPortal.hasSSO&&memberPortal.checkSSO(),e||memberPortal.goToStart(!0,!1),memberPortal.initialized=!0},checkSSO:function(){var e=$.cookie("findjoo_user"),t=document.referrer;console.log("SSO Check"),memberPortal.hasSSO&&e&&e!=bookings.emptyGuid&&-1==t.indexOf("redirect")&&-1==t.indexOf("sign-out")&&ajaxServerCall("Portal","CheckSSOLogin",{userId:e},(function(e){e.success&&(memberPortal.userId=e.userId,memberPortal.userName=e.name,$("#userId",memberPortal.content).val(memberPortal.userId),$("#memberPortal .name").val(e.name),ajaxServerCall("Portal","ValidateLoggedMember",{id:memberPortal.companyId,userId:memberPortal.userId},(function(e){e.valid&&(memberPortal.loggedIn=!0,memberPortal.membership=e.membership,$(".memberCountry").val(e.country),memberPortal.getClientForm(),memberPortal.gotoOnLogin&&(memberPortal.goToStart(!1,!1),$(".identification").hide(),$("#memberMenu,.burger_menu").removeClass("hidden")),memberPortal.loggedInFunction&&(console.log("Call log in fn"),memberPortal.loggedInFunction(e,!0)))})))}))},loginPortal:function(){memberPortal.userId=$("#userId",memberPortal.content).val(),memberPortal.userName=$(".name",memberPortal.content).val(),memberPortal.userId&&memberPortal.userId!=bookings.emptyGuid&&hasMembership&&(memberPortal.loggedIn=!0,$(".identification").hide(),$("#memberMenu,.burger_menu").removeClass("hidden"),memberPortal.goToStart(!0,!1))}},eventMethod=window.addEventListener?"addEventListener":"attachEvent",messageHandler=window[eventMethod],messageEvent="attachEvent"==eventMethod?"onmessage":"message";messageHandler(messageEvent,(function(e){if(e.data&&e.data.step)switch(console.log("Portal step: "+e.data.step),e.data.step){case 1:$(".h-memberAgenda",memberPortal.content).trigger("click");break;case 2:$(".h-memberTransactions",memberPortal.content).trigger("click");break;case 3:$(".h-memberProfile",memberPortal.content).trigger("click");break;case 4:$(".h-memberMembership",memberPortal.content).trigger("click");break;case 5:$(".h-signOut",memberPortal.content).trigger("click")}else e.data&&e.data.userId&&e.data.userId!=bookings.emptyGuid&&(console.log("Received user id: "+e.data.userId),memberPortal.userId=e.data.userId,memberPortal.loggedIn=!0,$(".identification").hide(),$("#memberMenu,.burger_menu").removeClass("hidden"),memberPortal.goToStart(!0,!1))}));
var memberDirectory={content:null,companyId:null,fields:[],sizePerPage:100,nbPages:1,currentPage:1,minHeight:0,searchFields:["name"],initCompleteFn:null,displayMode:0,memberList:null,clients:[],filterFn:null,fieldFilterFn:null,filterSearchParams:null,executeSort:!0,restrictMembers:!0,initList:function(){var e=$("#memberList",memberDirectory.content),t=_.contains(memberDirectory.fields,"InternalId"),r=_.contains(memberDirectory.fields,"Organization")?"":"hidden",i=_.contains(memberDirectory.fields,"Custom1")?"":"hidden",s=_.contains(memberDirectory.fields,"Custom2")?"":"hidden",m=_.contains(memberDirectory.fields,"Custom3")?"":"hidden",n=_.contains(memberDirectory.fields,"Custom4")?"":"hidden",c=_.contains(memberDirectory.fields,"Custom5")?"":"hidden",o=_.contains(memberDirectory.fields,"Custom6")?"":"hidden",a=_.contains(memberDirectory.fields,"Custom7")?"":"hidden",d=_.contains(memberDirectory.fields,"Custom8")?"":"hidden",l=_.contains(memberDirectory.fields,"Custom9")?"":"hidden",p=_.contains(memberDirectory.fields,"Custom10")?"":"hidden",b=_.contains(memberDirectory.fields,"Custom11")?"":"hidden",u=_.contains(memberDirectory.fields,"Custom12")?"":"hidden",y=_.contains(memberDirectory.fields,"Custom13")?"":"hidden",D=_.contains(memberDirectory.fields,"Custom14")?"":"hidden",h=_.contains(memberDirectory.fields,"Custom15")?"":"hidden",f=_.contains(memberDirectory.fields,"Custom16")?"":"hidden",C=_.contains(memberDirectory.fields,"Custom17")?"":"hidden",g=_.contains(memberDirectory.fields,"Custom18")?"":"hidden",P=_.contains(memberDirectory.fields,"Custom19")?"":"hidden",v=_.contains(memberDirectory.fields,"Custom20")?"":"hidden",L=_.contains(memberDirectory.fields,"Custom21")?"":"hidden",w=_.contains(memberDirectory.fields,"Custom22")?"":"hidden",z=_.contains(memberDirectory.fields,"Custom23")?"":"hidden",M=_.contains(memberDirectory.fields,"Custom24")?"":"hidden",x=_.contains(memberDirectory.fields,"Custom25")?"":"hidden",F=_.contains(memberDirectory.fields,"Custom26")?"":"hidden",I=_.contains(memberDirectory.fields,"Custom27")?"":"hidden",S=_.contains(memberDirectory.fields,"Custom28")?"":"hidden",E=_.contains(memberDirectory.fields,"Custom29")?"":"hidden",k=_.contains(memberDirectory.fields,"Custom30")?"":"hidden",N=1,T=new Date;if(!memberDirectory.clients||0==memberDirectory.clients.length){var H=$("#clients").val();memberDirectory.clients=JSON.parse(H),$("#clients").remove()}var O,B=memberDirectory.clients;function A(){var e=$("li.active a").text();memberDirectory.currentPage=parseInt(e,10),setTimeout((function(){console.log("Set Pager page"),window.parent.postMessage({valueScroll:200},"*")}),90)}if(memberDirectory.restrictMembers&&(B=_.filter(memberDirectory.clients,(function(e){return e.MembershipEndDate&&1==e.StatusValue&&(new Date(e.MembershipEndDate)>T||convertToDate(e.MembershipEndDate)>T)}))),memberDirectory.filterFn&&(B=memberDirectory.filterFn(B)),memberDirectory.executeSort&&(B=_.sortBy(B,(function(e){return e.LastName}))),_.each(B,(function(_){var $=t&&_.InternalId?" ("+_.InternalId+")":"",T="<p class='organization "+r+"'>"+_.Organization+"</p><p class='id hidden'>"+_.Id+"</p><p class='name'>"+_.Name+$+"</p><p class='address hidden'>"+_.Address+"</p><p class='email hidden'>"+_.Email+"</p><p class='phone hidden'>"+_.Phone+"</p><p class='title hidden'>"+_.Title+"</p><p class='city hidden'>"+_.City+"</p><p class='postal_state hidden'>"+_.Province_State+"</p><p class='c1 "+i+"'>"+_.Custom1+"</p><p class='c2 "+s+"'>"+_.Custom2+"</p><p class='c3 "+m+"'>"+_.Custom3+"</p><p class='c4 "+n+"'>"+_.Custom4+"</p><p class='c5 "+c+"'>"+_.Custom5+"</p><p class='c6 "+o+"'>"+_.Custom6+"</p><p class='c7 "+a+"'>"+_.Custom7+"</p><p class='c8 "+d+"'>"+_.Custom8+"</p><p class='c9 "+l+"'>"+_.Custom9+"</p><p class='c10 "+p+"'>"+_.Custom10+"</p><p class='c11 "+b+"'>"+_.Custom11+"</p><p class='c12 "+u+"'>"+_.Custom12+"</p><p class='c13 "+y+"'>"+_.Custom13+"</p><p class='c14 "+D+"'>"+_.Custom14+"</p><p class='c15 "+h+"'>"+_.Custom15+"</p><p class='c16 "+f+"'>"+_.Custom16+"</p><p class='c17 "+C+"'>"+_.Custom17+"</p><p class='c18 "+g+"'>"+_.Custom18+"</p><p class='c19 "+P+"'>"+_.Custom19+"</p><p class='c20 "+v+"'>"+_.Custom20+"</p><p class='c21 "+L+"'>"+_.Custom21+"</p><p class='c22 "+w+"'>"+_.Custom22+"</p><p class='c23 "+z+"'>"+_.Custom23+"</p><p class='c24 "+M+"'>"+_.Custom24+"</p><p class='c25 "+x+"'>"+_.Custom25+"</p><p class='c26 "+F+"'>"+_.Custom26+"</p><p class='c27 "+I+"'>"+_.Custom27+"</p><p class='c28 "+S+"'>"+_.Custom28+"</p><p class='c29 "+E+"'>"+_.Custom29+"</p><p class='c30 "+k+"'>"+_.Custom30+"</p><p class='membershipName'>"+_.Membership+"</p><p class='membership'>"+_.MembershipEndDate+"</p><p class='mid hidden'>"+_.Id+"</p><p class='profile hidden'>"+_.Profile+"</p><p class='pictureLink hidden'>"+_.PictureLink+"</p>";0!=memberDirectory.displayMode&&(T+="<div class='header'></div><div class='content'><div class='leftContent'></div><div class='rightContent'></div></div><div class='footer'></div>"),e.append("<li class='diplayMode"+memberDirectory.displayMode+"'  data-id='"+N+++"'>"+T+"</li>")})),memberDirectory.memberList=new List("memberDirectory",{valueNames:memberDirectory.searchFields,page:memberDirectory.sizePerPage,pagination:!0}),memberDirectory.initCompleteFn){function J(){memberDirectory.initCompleteFn(B),memberDirectory.nbPages=Math.round(_.size(B)/memberDirectory.sizePerPage),setTimeout((function(){var e,t=document.getElementById("memberDirectory").scrollHeight+50,r=Math.max(t,memberDirectory.minHeight);window.parent.postMessage({calendarHeight:r},"*"),e=$("li.active a").text(),$(".paginate_button.current").text(e)}),80)}memberDirectory.initCompleteFn(B),memberDirectory.nbPages=Math.round(_.size(B)/memberDirectory.sizePerPage),(O=$("ul.pagination")).hide(),A(),O.after('<div class="dataTables_paginate paging_full_numbers" id="clients_paginate"><a class="paginate_button first page"  tabindex="0" id="clients_first">First</a><a class="paginate_button previous page"  tabindex="0" id="clients_previous">Previous</a><span><a class="paginate_button current" tabindex="0">'+memberDirectory.currentPage+'</a></span><a class="paginate_button next"  tabindex="0" id="clients_next">Next</a><a class="paginate_button last"   tabindex="0" id="clients_last">Last</a></div>'),$(document).on("click",".paginate_button.first",(function(){memberDirectory.memberList.show(1,memberDirectory.sizePerPage),A()})),$(document).on("click",".paginate_button.previous",(function(){memberDirectory.currentPage>1&&(memberDirectory.memberList.show((memberDirectory.currentPage-2)*memberDirectory.sizePerPage+1,memberDirectory.sizePerPage),A())})),$(document).on("click",".paginate_button.next",(function(){memberDirectory.currentPage<memberDirectory.nbPages&&(memberDirectory.memberList.show(memberDirectory.currentPage*memberDirectory.sizePerPage+1,memberDirectory.sizePerPage),A())})),$(document).on("click",".paginate_button.last",(function(){memberDirectory.memberList.show((memberDirectory.nbPages-1)*memberDirectory.sizePerPage+1,memberDirectory.sizePerPage),A()})),memberDirectory.memberList.on("updated",J),memberDirectory.memberList.on("searchComplete",J),memberDirectory.memberList.on("filterComplete",J),memberDirectory.memberList.on("sortComplete",J)}hideProgress()},initDirectory:function(){showProgress(),memberDirectory.content=$("#memberDirectory"),memberDirectory.companyId=$("#companyId",memberDirectory.content).val(),memberDirectory.initList();var e=window.addEventListener?"addEventListener":"attachEvent";(0,window[e])("attachEvent"==e?"onmessage":"message",(function(e){window.self,window.top;e.data&&e.data.searchParams?(console.log("Search:"+e.data.searchParams),memberDirectory.filterSearchParams=e.data.searchParams,memberDirectory.memberList.filter(memberDirectory.fieldFilterFn)):e.data&&e.data.reset&&(memberDirectory.filterSearchParams=null,memberDirectory.memberList.filter())}))}};
var merchants={container:null,successMessage:null,successfull:!1,stripe:null,stripeCard:null,initSubmits:!1,submitActor:null,tokens:[],getCultureTotal:function(e){return e&&("en"==bookings.culture&&-1!=e.indexOf(",")?e=e.replace(",","."):"fr"==bookings.culture&&-1!=e.indexOf(".")&&(e=e.replace(".",","))),e},processCallbackCharge:function(e,t,a){if(a.success){merchants.successfull=!0,e.hasClass("current")?e.removeClass("current"):e.hide(),$("ul.section-tabs li").removeClass("active"),$("input[type=submit]",e).hide();var r=merchants.successMessage?merchants.successMessage:a.message;if(addSuccessMessage(e,r),$(".social_share",e).length>0){t=$(".social_share",e).removeClass("hidden").outerHTML();$(".social_share",e).remove(),$(t).insertBefore(e)}-1!=window.location.href.toLowerCase().indexOf("widget")&&(widgetPage.clearCart(),widgetPage.checkScrollLocation(e))}else 1==$(".paymentContainer",t).length&&(t=$(".paymentContainer",t)),addErrorMessage(t,a.message)},processCallbackUpdateCard:function(e,t,a){a.success?(e.hasClass("current")?e.removeClass("current"):e.hide(),$("input[type=text]",e).val(""),addSuccessMessage(e,a.message)):addErrorMessage(t,a.message)},setPayPalPayMethodChange:function(e,t){if($(".subscriptionItem",t).remove(),e.hasClass("singlePayment"))$(".payCommand",t).val("_xclick");else{$(".payCommand",t).val("_xclick-subscriptions");var a=parseFloat(e.attr("data-non-recurring-cost")).toFixed(2);a>0&&(t.append("<input type='hidden' class='subscriptionItem' name='a1' value='"+a+"' />"),t.append("<input type='hidden' class='subscriptionItem' name='p1' value='1' />"),t.append("<input type='hidden' class='subscriptionItem' name='t1' value='D' />")),t.append("<input type='hidden' class='subscriptionItem' name='a3' value='"+e.attr("data-cost")+"' />"),t.append("<input type='hidden' class='subscriptionItem' name='p3' value='"+e.attr("data-freq")+"' />"),t.append("<input type='hidden' class='subscriptionItem' name='t3' value='M' />"),t.append("<input type='hidden' class='subscriptionItem' name='src' value='1' />"),t.append("<input type='hidden' class='subscriptionItem' name='srt' value='"+e.attr("data-length")+"' />"),t.append("<input type='hidden' class='subscriptionItem' name='sra' value='1' />")}},setCaptureMethodChange:function(e,t){if(e.hasClass("singlePayment"))$(".orderAmount",t).val(e.attr("data-cost")),$(".orderPlanAmount",t).val("0"),$(".frequency",t).val("1"),$(".count",t).val("1");else{$(".orderAmount",t).val("0"),$(".orderPlanAmount",t).val(e.attr("data-cost")),$(".frequency",t).val(parseInt(e.attr("data-freq"),10)),$(".count",t).val(parseInt(e.attr("data-length"),10));var a=parseFloat(e.attr("data-non-recurring-cost")).toFixed(2);a>0&&$(".orderAmount",t).val(a)}},authNetResponseHandler:function(e){var t=$("#payment");if("Error"===e.messages.resultCode)for(var a=0;a<e.messages.message.length;a++)addErrorMessage(t,e.messages.message[a].text);else merchants.AuthNetUseOpaqueData(e.opaqueData)},AuthNetUseOpaqueData:function(e){if(!_.contains(merchants.tokens,e.dataValue)){merchants.tokens.push(e.dataValue);var t=$("#authorizeNetContent"),a=$("#payment"),r=$(".orderInvoice",t).val(),n=$("#Email").val(),s=$(".paymentItem.selected",a).attr("data-length"),o=$(".paymentItem.selected",a).attr("data-freq"),i=merchants.getCultureTotal($(".orderPlanAmount",t).val()),l=merchants.getCultureTotal($(".orderAmount",t).val());ajaxServerCall("ProcessingAuthorizeNet","Charge",{cartId:r,dataDescriptor:e.dataDescriptor,dataValue:e.dataValue,email:n,name:$("#authNetCardHolder").val(),mth:$("#authNetExpMonth").val(),year:$("#authNetExpYear").val(),type:$("#authNetCardType").val(),amount:l,nbPayments:s,frequency:o,planAmount:i},(function(e){merchants.processCallbackCharge(a,t,e)}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}),{async:!1})}},authNetCardResponseHandler:function(e){var t=$("#payment");if("Error"===e.messages.resultCode)for(var a=0;a<e.messages.message.length;a++)addErrorMessage(t,e.messages.message[a].text);else merchants.AuthNetCardUseOpaqueData(e.opaqueData)},AuthNetCardUseOpaqueData:function(e){var t=$("#authorizeNetContent"),a=$("#payment"),r=$(".orderCustom",t).val(),n=$(".orderInvoice",t).val();ajaxServerCall("ProcessingAuthorizeNet","UpdateClientCard",{companyId:n,userId:r,dataDescriptor:e.dataDescriptor,dataValue:e.dataValue},(function(e){merchants.processCallbackUpdateCard(a,t,e)}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}),{async:!1})},stripeResponseHandler:function(e,t){var a=$("#payment");clearForSection(a);var r=$(".stripeForm",merchants.container);r.find(".payment-errors").text("");var n=$("#stripeContent",a);if(t.error)r.find(".payment-errors").text(t.error.message),r.find(".stripeButton").prop("disabled",!1);else{var s=t.id,o=$(".orderCustom",n).val(),i=$(".orderInvoice",n).val(),l=$("#Email").val(),c=$(".paymentItem.selected",a).attr("data-length"),d=$(".paymentItem.selected",a).attr("data-freq"),u=merchants.getCultureTotal($(".orderPlanAmount",n).val()),m=merchants.getCultureTotal($(".orderAmount",n).val()),p=$(".internalPurchase",n).val(),h="true"==p?"Payment":"Charge";"true"==p&&0==$(".paymentItem.selected",a).length&&(c=12),ajaxServerCall("ProcessingStripe",h,{token:s,cartId:i,userId:o,email:l,amount:m,nbPayments:c,frequency:d,planAmount:u,mth:$("#stripeExpMonth").val(),year:$("#stripeExpYear").val()},(function(e){r.find(".stripeButton").prop("disabled",!1),merchants.processCallbackCharge(a,r,e)}),(function(e,t,a){return r.find(".payment-errors").text(getAjaxError(e)),r.find(".stripeButton").prop("disabled",!1),!1}),{async:!1})}},stripeCreatePaymentMethod:function(e){merchants.stripe.createPaymentMethod({type:"card",card:merchants.stripeCard}).then((function(t){t.error?(document.getElementById("card-errors").textContent=t.error.message,$(".stripeForm",merchants.container).find(".stripeButton").prop("disabled",!1)):e?merchants.stripeCardPaymentIntentHandler(t.paymentMethod.id):merchants.stripeCreatePaymentIntent(t.paymentMethod.id)}))},stripeCreatePaymentIntent:function(e){var t=$("#payment");clearForSection(t);var a=$(".stripeForm",merchants.container);a.find(".payment-errors").text("");var r=$("#stripeContent",t),n=$(".orderCustom",r).val(),s=$(".orderInvoice",r).val(),o=$("#Email").val(),i=$(".paymentItem.selected",t).attr("data-length"),l=$(".paymentItem.selected",t).attr("data-freq"),c=merchants.getCultureTotal($(".orderPlanAmount",r).val()),d=merchants.getCultureTotal($(".orderAmount",r).val()),u=$(".internalPurchase",r).val(),m="true"==u?"PaymentIntentBE":"CreatePaymentIntent";"true"==u&&0==$(".paymentItem.selected",t).length&&(i=12),ajaxServerCall("ProcessingStripe",m,{token:e,cartId:s,userId:n,email:o,amount:d,nbPayments:i,frequency:l,planAmount:c,mth:$("#stripeExpMonth").val(),year:$("#stripeExpYear").val()},(function(e){e.requires_action?merchants.stripeConfirmPaymentIntent(e,s,n,o,d,i,l,c,$("#stripeExpMonth").val(),$("#stripeExpYear").val()):e.success?(a.find(".stripeButton").prop("disabled",!1),merchants.processCallbackCharge(t,a,e)):(a.find(".payment-errors").text(e.message),a.find(".stripeButton").prop("disabled",!1))}),(function(e,t,r){return a.find(".payment-errors").text(getAjaxError(e)),a.find(".stripeButton").prop("disabled",!1),!1}),{async:!1})},stripeConfirmPaymentIntent:function(e,t,a,r,n,s,o,i,l,c){var d=$("#payment"),u=$(".stripeForm",merchants.container);merchants.stripe.handleCardAction(e.paymentIntentCS).then((function(m){m.error?(u.find(".payment-errors").text(m.message),u.find(".stripeButton").prop("disabled",!1)):ajaxServerCall("ProcessingStripe","ConfirmPaymentIntent",{payment_intent_id:e.paymentIntentId,cartId:t,userId:a,email:r,amount:n,nbPayments:s,frequency:o,planAmount:i,mth:l,year:c},(function(e){e.success?(u.find(".stripeButton").prop("disabled",!1),merchants.processCallbackCharge(d,u,e)):(u.find(".payment-errors").text(e.error.message),u.find(".stripeButton").prop("disabled",!1))}),(function(e,t,a){return u.find(".payment-errors").text(getAjaxError(e)),u.find(".stripeButton").prop("disabled",!1),!1}),{async:!1})}))},stripeCardPaymentIntentHandler:function(e){var t=$("#payment");clearForSection(t);var a=$(".stripeCardForm",merchants.container);0==a.length&&(a=$("#updateCardContainer")),a.find(".payment-errors").text("");var r=$(".orderCustom",a).val(),n=$(".orderInvoice",a).val(),s="UpdateClientCard";"true"==$(".updateCard",a).val()&&(s="UpdateCard"),ajaxServerCall("ProcessingStripe",s,{token:e,companyId:n,userId:r},(function(e){a.find(".stripeButton").prop("disabled",!1),merchants.processCallbackUpdateCard(t,a,e)}),(function(e,t,r){return a.find(".payment-errors").text(getAjaxError(e)),a.find(".stripeButton").prop("disabled",!1),!1}),{async:!1})},stripeCardResponseHandler:function(e,t){var a=$("#payment");clearForSection(a);var r=$(".stripeCardForm",merchants.container);if(r.find(".payment-errors").text(""),t.error)r.find(".payment-errors").text(t.error.message),r.find(".stripeButton").prop("disabled",!1);else{var n=t.id,s=$(".orderCustom",r).val(),o=$(".orderInvoice",r).val(),i="UpdateClientCard";"true"==$(".updateCard",r).val()&&(i="UpdateCard"),ajaxServerCall("ProcessingStripe",i,{token:n,companyId:o,userId:s},(function(e){r.find(".stripeButton").prop("disabled",!1),merchants.processCallbackUpdateCard(a,r,e)}),(function(e,t,a){return r.find(".payment-errors").text(getAjaxError(e)),r.find(".stripeButton").prop("disabled",!1),!1}),{async:!1})}},processInternalPayment:function(e){$(this).closest("form");$("#back").hide(),$("#reset").show();var t=$("#mailInPaymentItem.selected:visible").length>0,a=$("#poPaymentItem.selected:visible").length>0,r=$("#ccReaderPaymentItem.selected:visible").length>0,n=$("#memberTabPaymentItem.selected:visible").length>0;if(t||a||r||n){var s=$("#payment");clearForSection(s);var o=0,i=null,l=1,c=0,d="",u=null,m="";if(t){if(o=1,widgetPage&&widgetPage.internalView){var p=$("#checkSaleContent");i=$("#PaidValue",p).val(),l=$(".orderStatus",p).val(),c=$(".paidMethod",p).val(),u=$(".paidDate",p).val(),d=$("#CheckNumber",p).val(),m=$("#BatchNumber",p).val(),u&&(u=setOffsetDateToServer(u))}}else a?o=2:r?(o=3,l=3,c=2):n&&(o=4);!i&&$(".balanceOwedCheck:visible",s).is(":checked")&&(i=widgetPage.unformatCost($(".paymentItem.selected .orderAmount",s).text()));var h=$(".orderInvoice",s).val(),v=$(".orderCustom",s).val();s.hasClass("current")?s.removeClass("current"):s.hide(),$("ul.section-tabs li").removeClass("active"),$("input[type=submit]",s).hide(),e&&(e.preventDefault(),e.stopImmediatePropagation()),ajaxServerCall("Store","ProcessCart",{cartId:h,userId:v,pt:o,amountPaid:i,status:l,paidMethod:c,checkNumber:d,paidDate:u,batchNumber:m},(function(e){if(e.success){var t=merchants.successMessage?merchants.successMessage:e.message;if(addSuccessMessage(s,t),$(".social_share",s).length>0){var a=$(".social_share",s).removeClass("hidden").outerHTML();$(".social_share",s).remove(),$(a).insertBefore(s)}widgetPage&&widgetPage.clearCart()}else addErrorMessage(s,e.message)}),(function(e){widgetPage.processError=!0}),{async:!1})}},squareUpdateCard:function(e){var t=$("#squareContent"),a=$("#payment"),r=$(".orderUserId",t).val(),n=$(".orderInvoice",t).val();ajaxServerCall("ProcessingSquare","UpdateClientCard",{cardNonce:e,companyId:n,userId:r},(function(e){merchants.processCallbackUpdateCard(a,t,e),$("#cardNonce").val("")}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}),{async:!1})},squareProcessPayment:function(e){var t=$("#squareContent"),a=$("#payment"),r=$(".orderInvoice",t).val(),n=$(".orderCustom",t).val(),s=($("#Email").val(),$(".count",a).val()),o=$(".frequency",a).val(),i=merchants.getCultureTotal($(".orderPlanAmount",t).val()),l=merchants.getCultureTotal($(".orderAmount",t).val());ajaxServerCall("ProcessingSquare","Charge",{cardNonce:e,cartId:r,userId:n,amount:l,count:s,frequency:o,planAmount:i},(function(e){merchants.processCallbackCharge(a,t,e),$("#cardNonce").val("")}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}),{async:!1})},squareTokenize:async function(e){const t=await e.tokenize();if("OK"===t.status)return t.token;{let e="Tokenization failed-status: "+t.status;throw t.errors&&(e+=" and errors: "+JSON.stringify(t.errors)),new Error(e)}},squareHandlePayment:async function(e,t){var a=document.getElementById("card-button"),r=$("form").hasClass("squareCardForm");e.preventDefault();try{a.disabled=!0;const e=await merchants.squareTokenize(t);r?merchants.squareUpdateCard(e):merchants.squareProcessPayment(e)}catch(e){a.disabled=!1,console.error(e.message)}},squareInitializeCard:async function(e){const t=await e.card();return await t.attach("#card-container"),t},initSquare:async function(e,t){var a=document.getElementById("card-button");if(!window.Square)throw new Error("Square.js failed to load properly");const r=window.Square.payments(e,t);let n;try{n=await merchants.squareInitializeCard(r)}catch(e){return void console.error("Initializing Card failed",e)}a.addEventListener("click",(async function(e){var t=$("#mailInPaymentItem.selected:visible").length>0,a=$("#poPaymentItem.selected:visible").length>0,r=$("#ccReaderPaymentItem.selected:visible").length>0,s=$("#memberTabPaymentItem.selected:visible").length>0;t||a||r||s?merchants.processInternalPayment():await merchants.squareHandlePayment(e,n)}))}};function setPaymentEvents(){merchants.container=$("#main").length>0?$("#main"):$("#homepage"),$("#ReadLicenseStore",merchants.container).on("click",(function(){var e=!$(this).is(":checked");$(".h-buyProducts").toggleClass("disabled").prop("disabled",e)})),$(document).on("click","input[type='submit'],input.PayPalAuxiliary",(function(){widgetPage.submitActor=$(this)})),merchants.container.on("keyup","input.selectProduct",(function(){bookings.productSelection($(this))})),merchants.container.on("click",".h-buyProducts",(function(){$(".messageContent").hide();var e=$(this).closest(".productsContainer"),t=$("input.selectProduct.selected",e);if(0==t.length)addErrorMessage(e,bookings.resources.ProductSelection);else{$(this).hasClass("v-addToBooking");var a=e.attr("data-compid"),r=e.attr("data-userid"),n=[],s=window.location.href.toLowerCase().indexOf("?inlinelayout=true")>-1;t.each((function(){var e=$(this);if(e.attr("data-id")!=bookings.emptyGuid||"Credit"!=e.attr("data-type")){var t={Id:e.attr("data-id"),Name:e.attr("data-name"),Quantity:e.val(),Type:e.attr("data-type"),TypeItemId:e.attr("data-typeId"),Cost:e.attr("data-cost"),Value:e.attr("data-value")};n.push(t)}})),ajaxServerCall("Store","CreateCart",{companyId:a,userId:r,items:JSON.stringify(n),inlineLayout:s},(function(t){t.success?window.location.href=t.url:addErrorMessage(e,bookings.resources.ProcessCartError)}),(function(t){addErrorMessage(e,bookings.resources.ProcessCartError)}))}})),$(".paymentItem",merchants.container).on("click",(function(e){var t=$(this),a=$("#payment");$("#checkSaleContent").toggle(widgetPage&&widgetPage.internalView&&t.hasClass("mailInPayment")),$(".paymentItem",a).removeClass("selected"),t.addClass("selected");var r=$(".paymentContainer",a);r.hasClass("cardInfoContainer")&&r.toggle(!(t.hasClass("mailInPayment")||t.hasClass("poPayment")||t.hasClass("ccReader")||t.hasClass("memberTab"))),$("#paypalContent",a).is(":visible")?merchants.setPayPalPayMethodChange(t,$("#paypalContent",a)):($("#authorizeNetContent",a).is(":visible")||$("#elavonContent",a).is(":visible")||$("#paypalCardContent",a).is(":visible")||$("#squareContent",a).is(":visible")||$("#stripeContent",a).is(":visible"))&&merchants.setCaptureMethodChange(t,$(".paymentContainer:visible",a));var n=parseInt(t.attr("data-cost"),10),s=parseInt(t.attr("data-length"),10),o=isNaN(n)||isNaN(s)?widgetPage.cost:n*s;$("#orderDisplayAmount").text(widgetPage.formatCost(o))})),merchants.initSubmits||(merchants.initSubmits=!0,$(document).on("submit","form.paymentForm",(function(e){merchants.processInternalPayment(e)})),$(document).on("submit","form.elavonForm",(function(e){$(this);var t=$("#elavonContent"),a=$("#payment");if(e.preventDefault(),e.stopImmediatePropagation(),$(".payment-errors").html(""),t.find("input:visible,select:visible,textarea:visible").valid()){var r=$(".orderInvoice",t).val(),n=$("#Email").val(),s=$(".paymentItem.selected",a).attr("data-length"),o=$(".paymentItem.selected",a).attr("data-freq"),i=merchants.getCultureTotal($(".orderPlanAmount",t).val()),l=merchants.getCultureTotal($(".orderAmount",t).val());$(".orderCustom",t).val();ajaxServerCall("ProcessingElavon","Charge",{cartId:r,amount:l,number:$("#elavonCardNumber").val(),name:$("#elavonCardHolder").val(),mth:$("#elavonExpMth").val(),year:$("#elavonExpYear").val(),type:$("#elavonCardType").val(),cvv:$("#elavonCVC").val(),email:n,nbPayments:s,frequency:o,planAmount:i},(function(e){merchants.processCallbackCharge(a,t,e)}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}))}})),$(document).on("submit",".stripeForm",(function(e){$(this).find(".stripeButton").prop("disabled",!0),e.preventDefault(),e.stopImmediatePropagation(),merchants.stripeCreatePaymentMethod(!1)})),$(document).on("submit",".authorizeNetForm",(function(e){$(this);var t=$("#payment");e.preventDefault(),e.stopImmediatePropagation(),clearForSection(t);var a={},r={},n={};return n.cardNumber=$("#authNetCardId",t).val(),n.month=$("#authNetExpMonth",t).val(),n.year=$("#authNetExpYear",t).val(),n.cardCode=$("#authNetCVC",t).val(),n.zip=$("#authNetZipCode",t).val(),n.fullName=$("#authNetCardHolder",t).val(),a.cardData=n,r.clientKey=$("#authNetClientKey",t).val(),r.apiLoginID=$("#authNetApiLoginKey",t).val(),a.authData=r,Accept.dispatchData(a,merchants.authNetResponseHandler),!1})),$(document).on("submit","form.paypalForm",(function(e){var t=$("#paypalCardContent"),a=$("#payment"),r=$("#fieldsets").parent();if(($("input[type='hidden']",r).each((function(){var e=$(this);0==e.closest(".paymentContainer").length&&0==e.closest(".calendarBox").length&&e.remove()})),t.length>0)&&(e.preventDefault(),e.stopImmediatePropagation(),$(".payment-errors").html(""),t.find("input:visible,select:visible,textarea:visible").valid())){var n=$(".orderInvoice",t).val(),s=$("#Email").val(),o=$(".paymentItem.selected",a).attr("data-length"),i=$(".paymentItem.selected",a).attr("data-freq"),l=merchants.getCultureTotal($(".orderPlanAmount",t).val()),c=merchants.getCultureTotal($(".orderAmount",t).val());ajaxServerCall("Processing","Charge",{cartId:n,amount:c,number:$("#paypalCardNumber").val(),firstName:$("#paypalFirstName").val(),lastName:$("#paypalLastName").val(),mth:$("#paypalExpMth").val(),year:$("#paypalExpYear").val(),type:$("#paypalCardType").val(),email:s,nbPayments:o,frequency:i,planAmount:l},(function(e){merchants.processCallbackCharge(a,t,e)}),(function(e,a,r){return t.find(".payment-errors").text(getAjaxError(e)),!1}),{async:!1})}})),$(document).on("submit",".authorizeNetCardForm",(function(e){$(this);var t=$("#payment");e.preventDefault(),e.stopImmediatePropagation(),clearForSection(t);var a={},r={},n={};n.cardNumber=$("#authNetCardId",t).val(),n.month=$("#authNetExpMonth",t).val(),n.year=$("#authNetExpYear",t).val(),n.cardCode=$("#authNetCVC",t).val(),n.zip=$("#authNetZipCode",t).val(),n.fullName=$("#authNetCardHolder",t).val(),a.cardData=n,r.clientKey=$("#authNetClientKey",t).val(),r.apiLoginID=$("#authNetApiLoginKey",t).val(),a.authData=r,Accept.dispatchData(a,merchants.authNetCardResponseHandler)})),$(document).on("submit",".stripeCardForm",(function(e){$(this).find(".stripeButton").prop("disabled",!0),e.preventDefault(),e.stopImmediatePropagation(),merchants.stripeCreatePaymentMethod(!0)})))}$(document).ready((function(){setPaymentEvents()}));
var reporting={container:null,company:null,calendar:null,reportId:null,datepicker:null,calendarGroupData:null,sources:[],currentSources:[],employees:null,isAPI:!1,isAdmin:!1,isMultiCurrency:!1,exportData:null,currentReportData:null,data:null,sales:null,clients:[],products:[],distributions:null,distUsers:[],distId:null,locations:[],forms:null,reports:[],campaigns:null,bookings:null,subscriptions:null,fieldsList:[],dates:[],categories:[],dataGroups:[],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],reportTypes:{Sales:0,Earnings:1,Bookings:3,Registrations:4,Attendance:5,Calendar:6,Memberships:7,Receivables:8,Dues:9,Forms:10,Refunds:11,Members:12,Visitors:19,RoomUtilization:20,EmailCampaign:40,RenewalNotification:41,EmailClicks:42,Fundraiser:50,Inventory:60,EFT_Transactions:80},currentReportType:0,paymentMethods:null,partialAmount:null,partialDate:null,canDelete:!1,viewDues:!1,viewEmails:!1,viewBookings:!1,viewSales:!1,viewMembers:!1,viewForms:!1,viewInventory:!1,viewRefunds:!1,getData:function(e){0==reporting.products.length&&(ajaxServerCall("Store",e?"GetActiveProducts":"GetAllProducts",{},(function(e){if(e){if(reporting.products=e.values,reporting.viewInventory&&reporting.products&&_.any(reporting.products,(function(e){return 11==e.Type}))||$("#ReportType option[value='Inventory']").remove(),reporting.viewSales&&reporting.products&&_.any(reporting.products,(function(e){return 14==e.Type}))||$("#ReportType option[value='Fundraiser']").remove(),reporting.products&&_.any(reporting.products,(function(e){return 1==e.Type}))||($("#ReportType option[value='Memberships']").remove(),$("#ReportType option[value='RenewalNotification']").remove()),!reporting.products||0==_.size(reporting.products,(function(e){return 1==e.Type}))&&(!reporting.calendar||0==!_.size(reporting.calendar.Events)&&0==_.size(reporting.calendar.Courses))){var t=!reporting.calendar||_.size(reporting.calendar.Services)>0?$("#Services").text():$("#Bookings").text();$("#ReportType option[value='Registrations']").text(t)}reporting.products&&_.any(reporting.products,(function(e){return 1==e.Type}))||$("#ReportType option[value='Members']").text(bookings.resources.Clients),reporting.viewDues||($("#ReportType option[value='Dues']").remove(),$("#ReportType option[value='Receivables']").remove()),reporting.viewBookings||($("#ReportType option[value='Attendance']").remove(),$("#ReportType option[value='Bookings']").remove(),$("#ReportType option[value='Calendar']").remove(),$("#ReportType option[value='Visitors']").remove()),reporting.viewEmails||($("#ReportType option[value='EmailCampaign']").remove(),$("#ReportType option[value='EmailClicks']").remove(),$("#ReportType option[value='RenewalNotification']").remove()),reporting.viewForms||$("#ReportType option[value='Forms']").remove(),reporting.viewMembers||($("#ReportType option[value='Families']").remove(),$("#ReportType option[value='Memberships']").remove(),$("#ReportType option[value='Members']").remove()),reporting.viewRefunds||$("#ReportType option[value='Refunds']").remove(),reporting.viewSales||($("#ReportType option[value='Earnings']").remove(),$("#ReportType option[value='Sales']").remove())}reporting.completeInit()})),e?reporting.setFieldSelection():ajaxServerCall("Client","GetAllClients",{},(function(e){e&&(reporting.clients=JSON.parse(e.data),reporting.setFieldSelection())})));0==reporting.reports.length&&ajaxServerCall("Reporting","GetReports",{},(function(e){e&&(reporting.reports=JSON.parse(e.value),reporting.reports.length>0&&(reporting.setReportAutoComplete(),reporting.setDistributionSelection()))}))},completeInit:function(){reporting.initFiltering(),reporting.setSourcesList(),reporting.setViewAutocomplete(),reporting.setLocationAutocomplete(),reporting.toggleExport(!1)},ensureFormList:function(){null==reporting.forms&&(reporting.forms=[],ajaxServerCall("Company","GetAvailableForms",{},(function(e){e&&(reporting.forms=e.values,sectionLabel=$("#Forms").text(),_.each(_.sortBy(reporting.forms,(function(e){return e.Name})),(function(e){var t=sectionLabel+" - "+e.Name;reporting.sources.push({label:t,shortLabel:e.Name,value:e.Id,parentId:bookings.formsGuid,desc:bookings.stripHTML(e.Description)})})),reporting.currentSources=reporting.sources,reporting.currentSources=_.reject(reporting.sources,(function(e){return e.parentId!=bookings.formsGuid})),reporting.setViewAutocomplete(),reporting.forms||$("#ReportType option[value='Forms']").remove())}),null,{async:!1}))},ensureStaffList:function(){null==reporting.employees&&ajaxServerCall("Company","GetEmployees",{},(function(e){reporting.employees=_.sortBy(e.values,(function(e){return e.Name}))}))},getDistributions:function(){reporting.distributions=[],ajaxServerCall("Email","GetDistributionList",{},(function(e){if(e){var t=JSON.parse(e.value);_.each(t,(function(e){reporting.distributions.push({label:e.Name,shortLabel:e.Name,value:e.Id,filter:e.Filter})}))}reporting.setDistributionAutocomplete(reporting.container)}),null,{async:!1})},setDistributionSelection:function(){null==reporting.distributions?reporting.getDistributions():reporting.setDistributionAutocomplete(reporting.container)},getStaffPersonName:function(e){var t=_.find(reporting.employees,(function(t){return t.UserId==e}));return t?t.Name:""},getEmptyClient:function(){return{InternalId:"",FirstName:"",LastName:"",Name:"",Email:"",Phone:"",DOBDate:"",Gender:"",AddressLine:"",City:"",Postal_Zip:"",Province_State:"",Country:"",Organization:"",Location:"",Date:"",MembershipName:"",MembershipEnd:"",Created:"",Custom1:"",Custom2:"",Custom3:"",Custom4:"",Custom5:"",Custom6:"",Custom7:"",Custom8:"",Custom9:"",Custom10:"",Custom11:"",Custom12:"",Custom13:"",Custom14:"",Custom15:"",Custom16:"",Custom17:"",Custom18:"",Custom19:"",Custom20:"",Custom21:"",Custom22:"",Custom23:"",Custom24:"",Custom25:"",Custom26:"",Custom27:"",Custom28:"",Custom29:"",Custom30:"",Notes:"",Location:reporting.officeId}},getCurrency:function(){var e=null;return reporting.isMultiCurrency&&((e=$("#Currency").val())&&""!=e||(e=reporting.company.Payments.Currency)),e},getClient:function(e){var t=reporting.clients.find((function(t){return t.UserId==e}));if(t&&2==t.ClientTypeValue&&reporting.currentReportType!=reporting.reportTypes.Forms){var r=reporting.clients.find((function(e){return 1==e.ClientTypeValue&&e.OrganizationCode==t.OrganizationCode}));r&&(t=_.extend(t,r))}return t||reporting.getEmptyClient()},getForm:function(e){return _.find(reporting.forms,(function(t){return t.Id==e}))},getGroup:function(e){return _.find(reporting.calendar.Groups,(function(t){return t.Id==e}))},getUser:function(e){var t=_.find(reporting.clients,(function(t){return t.Id==e}));return t||reporting.getEmptyClient()},getSourceListItem:function(e){return _.find(reporting.sources,(function(t){return t.value==e}))},getSourceListItems:function(e){return _.filter(reporting.sources,(function(t){return t.parentId==e||t.categoryId==e}))},hasSchedule:function(e,t){return!reporting.officeId||_.find(reporting.calendar.Schedules,(function(r){return(r.ScheduleEventId==e||r.ScheduleCourseId==e)&&_.contains(t,r.ScheduleGroupId)}))},setSourcesList:function(){if(reporting.sources=[],reporting.sources.push({label:bookings.resources.All,shortLabel:bookings.resources.Other,value:"",isCourse:!0}),_.size(reporting.calendar.Events)>0){var e=$("#Events").text();reporting.sources.push({label:e,shortLabel:e,value:bookings.eventGuid})}if(_.size(reporting.calendar.Courses)>0){e=$("#Courses").text();reporting.sources.push({label:e,shortLabel:e,value:bookings.courseGuid})}if(_.size(reporting.calendar.Services)>0){e=$("#Services").text();reporting.sources.push({label:e,shortLabel:e,value:bookings.serviceGuid})}if(reporting.products&&_.any(reporting.products,(function(e){return 1!=e.Type&&14!=e.Type}))){e=$("#Products").text();reporting.sources.push({label:e,shortLabel:e,value:bookings.productGuid,isProduct:!0})}var t=[];reporting.products&&reporting.products.length>0&&_.each(reporting.products,(function(e){bookings.productGuid;e.CategoryId&&!_.contains(t,e.CategoryId)&&(reporting.sources.push({label:e.CategoryName,shortLabel:e.CategoryName,value:e.CategoryId,account:e.CategoryAccount,class:e.CategoryClass,isCategory:!0}),t.push(e.CategoryId))}));var r=reporting.officeId?_.pluck(_.filter(reporting.calendar.Groups,(function(e){return e.OfficeId==reporting.officeId})),"Id"):[],o=$("#Services").text();_.each(_.sortBy(reporting.calendar.Services,(function(e){return e.name})),(function(e){var t=o+" - "+e.Item;reporting.sources.push({label:t,shortLabel:e.Item,value:e.Id,parentId:bookings.serviceGuid,desc:e.Description?bookings.stripHTML(e.Description):""})})),o=$("#Rooms").text(),_.each(_.sortBy(reporting.calendar.Rooms,(function(e){return e.Name})),(function(e){var t=o+" - "+e.Name;reporting.sources.push({label:t,shortLabel:e.Name,value:e.Id,isRoom:!0,desc:e.Description?bookings.stripHTML(e.Description):""})})),o=$("#Courses").text(),_.each(_.sortBy(_.filter(reporting.calendar.Courses,(function(e){return reporting.hasSchedule(e.Id,r)})),(function(e){return e.Name})),(function(e){var t=o+" - "+e.Name;reporting.sources.push({label:t,shortLabel:e.Name,value:e.Id,parentId:bookings.courseGuid,isCourse:!0,desc:e.Description?bookings.stripHTML(e.Description):""})})),o=$("#Events").text(),_.each(_.sortBy(_.filter(reporting.calendar.Events,(function(e){return reporting.hasSchedule(e.Id,r)})),(function(e){return e.Name})),(function(e){var t=o+" - "+e.Name;reporting.sources.push({label:t,shortLabel:e.Name,value:e.Id,parentId:bookings.eventGuid,desc:e.Description?bookings.stripHTML(e.Description):""}),e.Tickets&&_.each(e.Tickets,(function(t){var r=o+" - "+e.Name+" - "+t.Name;reporting.sources.push({label:r,shortLabel:t.Name,value:t.Id,parentId:e.Id,desc:e.Description?bookings.stripHTML(e.Description):"",subItem:!0})}))})),reporting.products&&reporting.products.length>0&&_.each(_.sortBy(reporting.products,(function(e){return e.Name})),(function(e){var t=bookings.productGuid;1==e.Type?t=bookings.membershipGuid:14==e.Type&&(t=bookings.fundraiserGuid),reporting.sources.push({label:e.Name,shortLabel:e.Name,value:e.Id,parentId:t,isProduct:!0,categoryId:e.CategoryId,desc:e.Description?bookings.stripHTML(e.Description):""})})),o=$("#Forms").text(),_.each(_.sortBy(reporting.forms,(function(e){return e.Name})),(function(e){var t=o+" - "+e.Name;reporting.sources.push({label:t,shortLabel:e.Name,value:e.Id,parentId:bookings.formsGuid,desc:bookings.stripHTML(e.Description)})})),reporting.currentSources=reporting.sources},setReportAutoComplete:function(){var e=_.sortBy(_.map(reporting.reports,(function(e){return{label:e.Name,value:e.Id}})),(function(e){return e.label}));$(".reportNameSelect",reporting.container).autocomplete({source:function(t,r){r($.ui.autocomplete.filter(e,t.term))},minLength:0,delay:0,selectFirst:!0,select:function(e,t){var r=$(this).closest("div");$(".reportNameSelect",r).val(t.item.label).attr("data-id",t.item.value);var o=_.find(reporting.reports,(function(e){return e.Id==t.item.value}));if(o){$("#ReportType").val(o.TypeValue).trigger("change"),$("#DatePeriodType").val(o.PeriodTypeValue).trigger("change"),7==o.PeriodType&&($("#StartDate").val(o.StartDate),$("#EndDate").val(o.EndDate));var n=null;o.Distribution&&null!=(n=_.find(reporting.distributions,(function(e){return e.value==o.Distribution})))?($("#DistributionId").val(o.Distribution),$("#DistributionName").val(n.label)):($("#DistributionId").val(""),$("#DistributionName").val(""));var i,a,s=null;o.LocationId&&null!=(s=_.find(reporting.locations,(function(e){return e.value==o.LocationId})))?($("#LocationId").val(o.LocationId),$("#LocationName").val(s.label)):($("#LocationId").val(""),$("#LocationName").val("")),$("#CampaignName").val(o.ItemName),$("#Currency").val(o.Currency),(i=$("#sel_TypeItemId").multiselect("widget")).find(".ui-multiselect-none").click(),(a=o.Items)&&(cols=-1!=a.indexOf(",")?a.split(","):[a],_.each(cols,(function(e){i.find("input[value^='"+e+"']").trigger("click")}))),(i=$("#sel_FieldName").multiselect("widget")).find(".ui-multiselect-none").click(),(a=o.Fields)&&(cols=-1!=a.indexOf(",")?a.split(","):[a],_.each(cols,(function(e){i.find("input[value^='"+e+"']").trigger("click")}))),$(".h-deleteReport").css("display","inline-block"),$(".v-generateReport").click(),reporting.isAPI&&setTimeout((function(){$("#filtersContent").hide()}),250)}return!1}}),$("#rightHeader").show()},setCampaignAutoComplete:function(){null==reporting.campaigns&&($(".emailCampaign .editor-field",reporting.container).hide(),ajaxServerCall("Email","GetCampaignNames",{},(function(e){reporting.campaigns=_.map(_.sortBy(e.values,(function(e){return e})),(function(e){return{label:e,value:e}})),$(".campaignName",reporting.container).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(reporting.campaigns,e.term))},minLength:0,delay:0,selectFirst:!0,select:function(e,t){var r=$(this).closest("div");return $("#CampaignName",r).val(t.item.label),$("#CampaignId",r).val(t.item.value),!1}}),$(".emailCampaign .editor-field",reporting.container).show()})))},setViewAutocomplete:function(){var e=$("#ReportType").val();$(".itemSelection .ui-multiselect").toggle("Forms"!=e),$("#TypeItemName,.autoCompleteItem").toggle("Forms"==e);var t=_.reject(reporting.currentSources,(function(e){return e.subItem}));"Forms"!=e?bookings.setFieldHasMultiple("TypeItemId",t,!0):$(".typeItemName",reporting.container).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(reporting.currentSources,e.term))},minLength:0,delay:0,selectFirst:!0,change:function(e,t){""==$.trim($("#TypeItemName").val())&&$("#TypeItemId").val("")},select:function(e,t){var r=$(this).closest("div");return $("#TypeItemName",r).val(t.item.label),$("#TypeItemId",r).val(t.item.value),reporting.toggleExport(!1),!1}})},setDistributionAutocomplete:function(){0==reporting.distributions.length?$("#distributionFilter").remove():$(".distributionName",reporting.container).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(reporting.distributions,e.term))},minLength:0,delay:0,selectFirst:!0,change:function(e,t){""==$.trim($("#DistributionName").val())&&$("#DistributionId").val("")},select:function(e,t){var r=$(this).closest("div");return $("#DistributionName",r).val(t.item.label),$("#DistributionId",r).val(t.item.value),reporting.toggleExport(!1),!1}})},setLocationAutocomplete:function(){var e=reporting.company.Offices;_.size(e)>0&&(_.each(e,(function(e){var t=_.filter(reporting.calendar.Groups,(function(t){return t.OfficeId==e.Id}));if(t){var r=_.pluck(t,"Id");reporting.locations.push({value:e.Id,label:e.Name,groups:r})}else reporting.locations.push({value:e.Id,label:e.Name,groups:[]})})),reporting.locations.unshift({label:bookings.resources.Any,value:bookings.membershipGuid})),reporting.locations.length<=2||reporting.officeId&&reporting.officeId!=bookings.emptyGuid?$("#locationFilter").remove():($(".locationName",reporting.container).autocomplete({source:function(e,t){t($.ui.autocomplete.filter(reporting.locations,e.term))},minLength:0,delay:0,selectFirst:!0,change:function(e,t){""==$.trim($("#LocationName").val())&&$("#LocationId").val("")},select:function(e,t){var r=$(this).closest("div");return $("#LocationName",r).val(t.item.label),$("#LocationId",r).val(t.item.value),reporting.toggleExport(!1),!1}}),$("#createReportContainer .reportAutoCompleteOffice").show().closest(".editFieldSection").removeClass("hidden"),$("#createReportContainer .reportOfficeName").autocomplete({source:function(e,t){t($.ui.autocomplete.filter(reporting.locations,e.term))},minLength:0,delay:0,change:function(e,t){var r=$(this).parent(),o=$(".reportOfficeName",r).val();""!=o&&_.find(data,(function(e){return e!=o}))||$(".reportOfficeId",r).val(null)},select:function(e,t){var r=$(this).parent();return $(".reportOfficeName",r).val(t.item.label),$(".reportOfficeId",r).val(t.item.value),!1}}))},getLocation:function(e){var t=reporting.company.Id==e?reporting.company.Address.City:null;if(null==t&&reporting.company.Offices){var r=_.find(reporting.company.Offices,(function(t){return t.Id==e}));r&&(t=r.Name?r.Name:r.Address.AddressLine+", "+r.Address.City)}return t},initFiltering:function(){setDateAndTimePickers({},reporting.container),$("#DatePeriodType").trigger("change"),reporting.calendar.Rooms&&0!=_.size(reporting.calendar.Rooms)||($("#ReportType option[value='RoomUtilization']").remove(),$("#ReportType option[value='Visitors']").remove()),reporting.calendar.Courses&&0!=_.size(reporting.calendar.Courses)||$("#ReportType option[value='Attendance']").remove(),reporting.company.Settings.CustomReports&&reporting.isAdmin||$("#ReportType option[value='EFT_Transactions']").remove(),reporting.isMultiCurrency&&$("#currencyFilter").removeClass("hidden")},getSumOfSubset:function(e){return _.reduce(e,(function(e,t){return t.Paid+t.Fees+e}),0)},getFeeSumOfSubset:function(e){var t=_.reduce(e,(function(e,t){return t.Fees+e}),0);return{total:t,fee1:t>0?_.reduce(e,(function(e,t){return t.Fee1+e}),0):0,fee2:t>0?_.reduce(e,(function(e,t){return t.Fee2+e}),0):0,fee3:t>0?_.reduce(e,(function(e,t){return t.Fee3+e}),0):0}},getReportingItemsList:function(){var e=$("#TypeItemId",reporting.container).val(),t=$("#ReportType").val(),r=[],o=e.split(",");_.each(o,(function(e){switch(e){case"":"Calendar"==t?r=[{Type:0,value:"",label:bookings.resources.Booking},{Type:1,value:"",label:bookings.resources.Class},{Type:2,value:"",label:bookings.resources.Event},{Type:3,value:"",label:bookings.resources.Schedule}]:"Fundraiser"!=t&&_.each(_.filter(reporting.sources,(function(e){return!e.subItem})),(function(e){r.push(reporting.getSourceListItem(e.value))}));break;case bookings.eventGuid:case bookings.courseGuid:case bookings.serviceGuid:case bookings.membershipGuid:case bookings.productGuid:case bookings.fundraiserGuid:case bookings.formsGuid:_.each(_.filter(reporting.sources,(function(t){return t.parentId==e})),(function(e){r.push(reporting.getSourceListItem(e.value))}));break;default:var o=!1;if("Bookings"!=t){var n=reporting.getSourceListItems(e);(o=n.length>0)&&_.each(n,(function(e){r.push(e)}))}o||r.push(reporting.getSourceListItem(e))}}));var n=r;return _.each(n,(function(e){e.count=null,e.total=null})),_.sortBy(n,(function(e){return e.label}))},generateRevenueReport:function(e,t,r){var o=[],n=_.size(reporting.categories);reporting.currentReportData=[];var a=[],s=_.pluck(_.filter(e,(function(e){return""!==e.value})),"value"),u=null!=r?r:"";if(_.each(e,(function(r){var l=[],p=[];if((a=""==r.value?_.filter(reporting.data,(function(e){return!_.contains(s,e.ItemId)&&!e.included})):_.filter(reporting.data,(function(e){return(e.ItemId==r.value||6==e.Type&&e.TypeItemId==r.value)&&!e.included}))).length>0||1==e.length){var c=0,m=0,g=0,C=0,d=0;for(i=0;i!=n;i++){var f=new Date(reporting.categories[i]),v=t;p=[],i+1<=n-1&&reporting.categories.length>1&&(v=new Date(reporting.categories[i+1])).setDate(v.getDate()-1),v.setHours(23),v.setMinutes(59),p=[];var h,D=0;if(reporting.currentReportType==reporting.reportTypes.Sales)p=_.filter(a,(function(e){return f<=e.PaidDate&&e.PaidDate<=v})),D=reporting.getSumOfSubset(p),h=reporting.getFeeSumOfSubset(p);else if(reporting.currentReportType==reporting.reportTypes.Receivables)p=_.filter(a,(function(e){return f<=e.Date&&e.Date<=v})),D=reporting.getSumOfSubset(p),h=reporting.getFeeSumOfSubset(p);else if(reporting.currentReportType==reporting.reportTypes.Refunds)p=_.filter(a,(function(e){return f<=e.RefundDate&&e.RefundDate<=v})),D=_.reduce(p,(function(e,t){return t.RefundFee+e}),0);else{var b=i==n-1?new Date(reporting.categories[n-1]):new Date(reporting.categories[i+1]),y=calendarPage.getDaysDiff(new Date(reporting.categories[i]),b);p=_.filter(a,(function(e){return f<=e.EarnedDate&&(e.EarnedDate<=v||1==e.Type)})),D=_.reduce(p,(function(e,t){var r=1==t.Type?Math.min(1,y/calendarPage.getDaysDiff(t.PaidDate,t.EarnedDate)):1;return parseFloat(t.Paid*r).toFixed(2)*parseInt(t.Quantity,10)+t.Fees+e}),0)}l.push(D>0?Number(parseFloat(D).toFixed(2)):u),D>0&&(c+=D),h&&h.total>0&&(m+=h.total,g+=h.fee1,C+=h.fee2,d+=h.fee3),p.length>0&&(_.map(a,(function(e){return e.included=!0})),reporting.currentReportData=reporting.currentReportData.concat(p),r.count+=_.reduce(p,(function(e,t){return(t.Quantity?parseInt(t.Quantity,10):1)+e}),0))}o.push({name:r.label,data:l}),r.total=c,r.fees=m,r.fee1=g,r.fee2=C,r.fee3=d}})),calendarPage.getDaysDiff(reporting.categories[0],reporting.categories[n-1])>50&&_.size(reporting.categories)<=12&&"Custom"!=$("#DatePeriodType").val())if(12==_.size(reporting.categories))reporting.categories=reporting.monthNames;else{var l=reporting.monthNames.slice();n=_.size(reporting.categories);reporting.categories=l.splice(reporting.categories[0].getMonth()),n>reporting.categories.length&&(reporting.categories=reporting.categories.concat(l.splice(0,n-reporting.categories.length)))}else{var p=_.clone(reporting.categories);reporting.categories=[],_.each(p,(function(e){reporting.categories.push(dateToString(e))}))}return o},generateFamiliesReport:function(){reporting.currentReportData=[];var e=reporting.clients,t=$("#LocationId").val();showProgress(),t&&t&&bookings.emptyGuid&&t!=bookings.membershipGuid&&(e=_.reject(reporting.clients,(function(e){return e.Location!=t})));var r=(e=e.filter((function(e){return reporting.getFilteredClient(e.UserId)}))).filter((function(e){return 4==e.UserType||5==e.UserType||6==e.UserType||8==e.UserType}));0==r.length&&(r=reporting.clients.filter((function(e){return 4==e.UserType||5==e.UserType||6==e.UserType||8==e.UserType})));var o=(e=e.filter((function(e){return 0==e.UserType}))).length;reporting.currentReportData=e,hideProgress();var n=["Request","Confirmed","Revoked","Cancelled","Inactive","Invalid Email","Trial","Pending Payment","Expired","Active"],i=JSON.parse($("#StatusTypesValues").val());if(0==o)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0),data=[],categories=[];var a=0;_.each([0,1,2,3,4,5,6,7,97,99],(function(t){var r=_.filter(e,(function(e){return e.StatusValue==t}));if(r&&r.length>0){var o=99==t?_.first(i):_.find(i,(function(e){return e.Value==t.toString()})),s=o?o.Text:n[a];categories.push(s),data.push({name:s,y:r.length})}a++})),_.each(r,(function(e){var t=null;(5==e.UserType&&null!=(t=reporting.getClientByEmail(e.Email))||6==e.UserType&&null!=(t=reporting.getClientByUserId(e.CreatedBy)))&&t.UserId!=e.UserId?(t.SpouseFirstName=e.FirstName,t.SpouseLastName=e.LastName):(4==e.UserType&&null!=(t=reporting.getClientByEmail(e.Email))||8==e.UserType&&null!=(t=reporting.getClientByUserId(e.CreatedBy)))&&t.UserId!=e.UserId&&(t.hasOwnProperty("Child1FirstName")?t.hasOwnProperty("Child2FirstName")?t.hasOwnProperty("Child3FirstName")?t.hasOwnProperty("Child4FirstName")?t.hasOwnProperty("Child5FirstName")?t.hasOwnProperty("Child6FirstName")||(t.Child6FirstName=e.FirstName,t.Child6LastName=e.LastName):(t.Child5FirstName=e.FirstName,t.Child5LastName=e.LastName):(t.Child4FirstName=e.FirstName,t.Child4LastName=e.LastName):(t.Child3FirstName=e.FirstName,t.Child3LastName=e.LastName):(t.Child2FirstName=e.FirstName,t.Child2LastName=e.LastName):(t.Child1FirstName=e.FirstName,t.Child1LastName=e.LastName))})),$(".summaryContainer .v-chartControl:visible",reporting.container).remove();var s=$("#ReportType option:selected").text(),u={series:[{colorByPoint:!0,name:s,data:data}],categories:categories,type:"column",title:s},l=$("#templateChart").html();$(l).insertBefore($("#summaryContent"));var p=$(".v-chartControl:visible:last",reporting.container);p.show(),bookings.initChart(p,u);var c=$("#summaryContent"),m=$("ul.itemsContent",c);m.html(""),_.each(data,(function(e){m.append("<li>"+e.name+" ("+e.y.toString()+")</li>")})),$("#summaryContent").toggle(o>0),$(".count",c).text(o).parent().hide(),$(".total",c).text(o),$(".feesRow",c).hide(),$(".messageRow",c).hide();var g=$("#FieldName").val();if(g){var C=g.split(",");_.each(C,(function(t){var r=_.find(reporting.fieldsList,(function(e){return e.value==t}));if(r){data=[],categories=[],a=0;var o=r.values?r.values.split(";"):[];if(_.each(o,(function(t){var o=_.filter(e,(function(e){var o=e[r.value];return!r.isMultiple&&o==t||r.isMultiple&&o&&o.includes(t)}));if(o&&o.length>0){var n=t;categories.push(n),data.push({name:n,y:o.length})}a++})),o&&o.length>0){var n={series:[{colorByPoint:!0,name:r.label,data:data}],categories:o,type:o.length>6?"column":"pie",title:r.label},i=$("#templateChart").html();$(i).insertBefore($("#summaryContent"));var s=$(".v-chartControl:visible:last",reporting.container);s.show(),bookings.initChart(s,n)}}}))}}reporting.finalizedReport()},generateMembersReport:function(){reporting.currentReportData=[];var e=reporting.clients,t=$("#LocationId").val();showProgress(),t&&t&&bookings.emptyGuid&&t!=bookings.membershipGuid&&(e=_.reject(reporting.clients,(function(e){return e.Location!=t})));var r=(e=e.filter((function(e){return reporting.getFilteredClient(e.UserId)}))).length;reporting.currentReportData=e,hideProgress();var o=[0,1,2,3,4,5,6,7,97,99],n=["Request","Confirmed","Revoked","Cancelled","Inactive","Invalid Email","Trial","Pending Payment","Expired","Active"],i=JSON.parse($("#StatusTypesValues").val());if(0==r)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0),$(".summaryContainer .v-chartControl:visible",reporting.container).remove(),data=[],categories=[];var a=0;_.each(o,(function(t){var r=_.filter(e,(function(e){return e.StatusValue==t}));if(r&&r.length>0){var o=99==t?_.first(i):_.find(i,(function(e){return e.Value==t.toString()})),s=o?o.Text:n[a];categories.push(s),data.push({name:s,y:r.length})}a++}));var s={series:[{colorByPoint:!0,name:l=$("#ReportType option:selected").text(),data:data}],categories:categories,type:"column",title:l},u=$("#templateChart").html();if($(u).insertBefore($("#summaryContent")),(p=$(".v-chartControl:visible:last",reporting.container)).show(),bookings.initChart(p,s),reporting.locations&&reporting.locations.length>2){o=_.map(reporting.locations,(function(e){return e.value})),n=_.map(reporting.locations,(function(e){return e.label})),data=[],categories=[],a=0,_.each(o,(function(t){var r=_.filter(e,(function(e){return e.Location==t}));if(r&&r.length>0){var o=n[a];categories.push(o),data.push({name:o,y:r.length})}a++}));var l,p;s={series:[{colorByPoint:!0,name:l=$("#locationLabel").text(),data:data}],categories:categories,type:"column",title:l},u=$("#templateChart").html();$(u).insertBefore($("#summaryContent")),(p=$(".v-chartControl:visible:last",reporting.container)).show(),bookings.initChart(p,s)}var c=$("#summaryContent"),m=$("ul.itemsContent",c);m.html(""),_.each(data,(function(e){m.append("<li>"+e.name+" ("+e.y.toString()+")</li>")})),$("#summaryContent").toggle(r>0),$(".count",c).text(r).parent().hide(),$(".total",c).text(r),$(".feesRow",c).hide(),$(".messageRow",c).hide();var g=$("#FieldName").val();if(g){var C=g.split(",");_.each(C,(function(t){var r=_.find(reporting.fieldsList,(function(e){return e.value==t}));if(r){data=[],categories=[],a=0;var o=r.values?r.values.split(";"):[];if(_.each(o,(function(t){var o=_.filter(e,(function(e){var o=e[r.value];return!r.isMultiple&&o==t||r.isMultiple&&o&&o.includes(t)})),n=t;(o&&o.length>0||!reporting.distId)&&(categories.push(n),data.push({name:n,y:o.length})),a++})),categories&&categories.length>0){var n=[{colorByPoint:!0,name:r.label,data:data}],i=categories.length>6?"column":"pie",s={series:n,categories:categories,type:i,title:r.label},u=$("#templateChart").html();$(u).insertBefore($("#summaryContent"));var l=$(".v-chartControl:visible:last",reporting.container);l.show(),bookings.initChart(l,s)}}}))}}reporting.finalizedReport()},generateDuesReport:function(){var e=[];reporting.currentReportData=[];var t=_.filter(reporting.clients,(function(e){return e.Balance<0&&reporting.getFilteredClient(e.UserId)}));reporting.currentReportData=t;if(t.length>0){var r=$("#ReportType option[value='Dues']").text(),o=parseFloat(_.reduce(t,(function(e,t){return t.Balance+e}),0).toFixed(2));_.size(t);e.push({name:r,data:[-1*o],dataLabels:{format:'<div style="text-align:center"><span style="font-size:25px">{y}</span><br/><span style="font-size:12px;opacity:0.4">'+reporting.company.Payments.Currency+"</span></div>"},stops:[[.1,"#55BF3B"],[.5,"#DDDF0D"],[.9,"#DF5353"]],tooltip:{valueSuffix:reporting.company.Payments.Currency},title:{y:-70},yAxis:{min:0,max:1e5,title:{text:r}}})}if(0==e.length)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0);var n=$("#TypeItemName",reporting.container).is(":visible")?$("#TypeItemName",reporting.container).val():$(".itemSelection .ui-multiselect span:last",reporting.container).text(),i=$("#ReportType option:selected").text()+" - "+n,a={series:e,categories:reporting.categories,type:"solidgauge",title:i,showPercentage:!1};$(".summaryContainer .v-chartControl:visible",reporting.container).remove();var s=$("#templateChart").html();$(s).insertBefore($("#summaryContent"));var u=$(".v-chartControl:visible:last",reporting.container);u.show(),bookings.initChart(u,a);var l=$("#summaryContent"),p=$("ul.itemsContent",l);p.html("");var c=0,m=0;_.each(t,(function(e){c+=1,m+=e.Balance})),t.length>10&&(t=_.first(_.sortBy(t,(function(e){return e.Balance})),10)),_.each(t,(function(e){p.append("<li>"+e.Name+" ("+e.Balance.toFixed(2)+")</li>")})),$("#summaryContent").toggle(c>0),$(".count",l).text(c).parent().show(),$(".total",l).text(parseFloat(m).toFixed(2)).closest(".totalRow").toggle(m>0),$(".feesRow",l).hide(),$(".messageRow",l).hide()}reporting.finalizedReport()},generateFundraiserReport:function(e){var t=[];reporting.currentReportData=[];var r=[],o=null;return _.each(e,(function(n){r=_.filter(reporting.data,(function(e){return e.ItemId==n.value})),reporting.currentReportData=reporting.currentReportData.concat(r),o=_.find(reporting.products,(function(e){return e.Id==n.value}));if((r.length>0||1==e.length)&&null!=o){var i=_.reduce(r,(function(e,t){return t.Paid*parseInt(t.Quantity,10)+e}),0),a=i>0?Number(parseFloat(i).toFixed(2)):0;t.push({name:o.Name,data:[a],dataLabels:{format:'<div style="text-align:center"><span style="font-size:25px;color:'+(Highcharts.theme&&Highcharts.theme.contrastTextColor||"black")+'">{y}</span><br/><span style="font-size:12px;color:silver">'+$("#Amount").text()+"</span></div>"},tooltip:{valueSuffix:$("#Amount").text()},yAxis:{min:0,max:o.Value,title:{text:o.Name}}})}})),t},generateBookingsReport:function(e){var t=[],r=_.size(reporting.categories);reporting.currentReportData=[];var o=[];if(_.each(e,(function(n){o=_.filter(reporting.data,(function(e){return e.ItemId==n.value})),reporting.currentReportData=reporting.currentReportData.concat(o);var a=formatToDate($("#EndDate").val()),s=[],u=[],l=0,p=0;if(o.length>0||1==e.length){for(n.count=o.length,i=0;i!=r;i++){var c=new Date(reporting.categories[i]),m=a;u=[],i+1!=r&&reporting.categories.length>1&&(m=new Date(reporting.categories[i+1])).setDate(m.getDate()-1),m.setHours(23),m.setMinutes(59),u=_.filter(o,(function(e){return c<=e.Date&&e.Date<=m}));var g=_.size(u);l+=g,s.push(g>0?g:""),p+=_.reduce(o,(function(e,t){return e+Math.max(t.Paid,0)+t.Fees}),0)}l>0&&(t.push({name:n.label,data:s}),n.total=p)}})),calendarPage.getDaysDiff(reporting.categories[0],reporting.categories[r-1])>50&&_.size(reporting.categories)<=12&&"Custom"!=$("#DatePeriodType").val())if(12==_.size(reporting.categories))reporting.categories=reporting.monthNames;else{var n=reporting.monthNames.slice();r=_.size(reporting.categories);reporting.categories=n.splice(reporting.categories[0].getMonth()),r>reporting.categories.length&&(reporting.categories=reporting.categories.concat(n.splice(0,r-reporting.categories.length)))}else{var a=_.clone(reporting.categories);reporting.categories=[],_.each(a,(function(e){reporting.categories.push(dateToString(e))}))}return t},generateCalendarReport:function(e){var t=[],r=_.size(reporting.categories);reporting.currentReportData=[];var o=[];if(_.each(e,(function(n){o=_.filter(reporting.data,(function(e){return""==n.value&&n.Type==e.Type||e.RoomId==n.value})),reporting.currentReportData=reporting.currentReportData.concat(o);var a=formatToDate($("#EndDate").val()),s=[],u=[],l=0;if(o.length>0||1==e.length){for(i=0;i!=r;i++){var p=new Date(reporting.categories[i]),c=a;u=[],i+1<=r-1&&reporting.categories.length>1&&(c=new Date(reporting.categories[i+1])).setDate(c.getDate()-1),c.setHours(23),c.setMinutes(59),u=_.filter(o,(function(e){return p<=e.Date&&e.Date<=c}));var m=_.size(u);l+=m,s.push(m>0?m:"")}l>0&&t.push({name:n.label,data:s})}})),calendarPage.getDaysDiff(reporting.categories[0],reporting.categories[r-1])>50&&_.size(reporting.categories)<=12&&"Custom"!=$("#DatePeriodType").val())if(12==_.size(reporting.categories))reporting.categories=reporting.monthNames;else{var n=reporting.monthNames.slice();r=_.size(reporting.categories);reporting.categories=n.splice(reporting.categories[0].getMonth()),r>reporting.categories.length&&(reporting.categories=reporting.categories.concat(n.splice(0,r-reporting.categories.length)))}else{var a=_.clone(reporting.categories);reporting.categories=[],_.each(a,(function(e){reporting.categories.push(dateToString(e))}))}return t},generateRegistrationReport:function(e){reporting.categories=[];var t=$("#TypeItemId",reporting.container).val(),r=t.split(",");_.each(_.filter(reporting.sources,(function(e){return _.contains(r,e.parentId)||_.contains(r,e.value)&&e.parentId||""==t})),(function(t){_.any(reporting.data,(function(e){return e.ItemId==t.value}))?reporting.categories.push(t.value):e=_.reject(e,(function(e){return e.value==t.value}))}));var o=[],n=[];reporting.currentReportData=[],_.each(e,(function(e){if(n=_.filter(reporting.data,(function(t){return t.ItemId==e.value})),reporting.currentReportData=reporting.currentReportData.concat(n),0!=_.size(n)){any=!0;var t=new Array(_.size(reporting.categories)).fill("");t[_.indexOf(reporting.categories,e.value)]=_.size(n),o.push({name:e.label,data:t})}}));var i=_.clone(reporting.categories);return reporting.categories=[],_.each(i,(function(e){var t=_.find(reporting.sources,(function(t){return t.value==e}));t&&reporting.categories.push(t.label)})),o},generateAttendanceReport:function(){$(".v-chartControl",reporting.container).remove();var e=reporting.getReportingItemsList(),t=[];reporting.categories=reporting.dates;var r=_.size(reporting.categories);reporting.currentReportData=[];var o=[];if("Attendance"==$("#ReportType").val()&&(e=_.filter(e,(function(e){return e.isCourse}))),_.each(e,(function(n){""!==n.value&&(o=_.filter(reporting.data,(function(e){return e.ItemId==n.value}))),reporting.currentReportData=reporting.currentReportData.concat(o);var a=formatToDate($("#EndDate").val()),s=[],u=[],l=0;if(o.length>0||1==e.length){for(i=0;i!=r;i++){var p=new Date(reporting.categories[i]),c=a;u=[],i+1<=r-1&&reporting.categories.length>1&&(c=new Date(reporting.categories[i+1])).setDate(c.getDate()-1),c.setHours(23),c.setMinutes(59),u=_.filter(o,(function(e){return p<=e.Date&&e.Date<=c}));var m=0;_.each(u,(function(e){m+=e.Count})),l+=m,s.push(m>0?m:"")}l>0&&(t.push({name:n.label,data:s}),n.count||(n.count=0),n.count+=l)}})),calendarPage.getDaysDiff(reporting.categories[0],reporting.categories[r-1])>50&&_.size(reporting.categories)<=12&&"Custom"!=$("#DatePeriodType").val())if(12==_.size(reporting.categories))reporting.categories=reporting.monthNames;else{var n=reporting.monthNames.slice();r=_.size(reporting.categories);reporting.categories=n.splice(reporting.categories[0].getMonth()),r>reporting.categories.length&&(reporting.categories=reporting.categories.concat(n.splice(0,r-reporting.categories.length)))}else{var a=_.clone(reporting.categories);reporting.categories=[],_.each(a,(function(e){reporting.categories.push(dateToString(e))}))}if(_.any(t,(function(e){return _.any(e.data,(function(e){return e>0}))}))){reporting.toggleExport(!0);var s=$("#ReportType option:selected").text()+" - "+$("#TypeItemName",reporting.container).val(),u={series:t,categories:reporting.categories,type:"column",title:s,showPercentage:!1},l=$("#templateChart").html();$(l).insertBefore($("#summaryContent"));var p=$("#summaryContent"),c=$("ul.itemsContent",p);c.html("");var m=0,g=0;_.each(_.filter(e,(function(e){return e.count>0})),(function(e){c.append("<li>"+e.shortLabel+" - "+e.count+" </li>"),m+=e.count,g+=e.total})),$("#summaryContent").toggle(m>0),$(".count",p).text(m).parent().show(),$(".feesRow",p).hide(),$(".total",p).text(parseFloat(g).toFixed(2)).closest(".totalRow").toggle(g>0);var C=$(".v-chartControl:visible:last",reporting.container);C.show(),bookings.initChart(C,u)}else reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());reporting.finalizedReport()},generateUtilizationReport:function(e){var t=[],r=_.size(reporting.categories);reporting.currentReportData=[];var o=[],n=[];if(_.each(e,(function(e){var a=reporting.getGroupForRoom(e.value);o=_.filter(reporting.data,(function(e){return e.GroupId==a})),reporting.currentReportData=reporting.currentReportData.concat(o);var s=formatToDate($("#EndDate").val()),u=[];n=new Array;var l=[];for(i=0;i!=r;i++){var p=new Date(reporting.categories[i]),c=s;l=[],i+1<=r-1&&reporting.categories.length>1&&(c=new Date(reporting.categories[i+1])).setDate(c.getDate()-1),c.setHours(23),c.setMinutes(59);for(var m=0,g=new Date(p);g<c;)m+=reporting.getMinutesAvailableForRoom(g,a,e.value),g.setDate(g.getDate()+1);l=_.filter(_.uniq(o,(function(e){return e.Date+e.Length})),(function(e){return p<=e.Date&&e.Date<=c}));var C=0;_.each(l,(function(e){C+=e.Length}));var d=m>0?parseFloat(C/m*100).toFixed(2)/1:0;u.push(d);var f=bookings.resources.UtilizationInfo,v=C,h=m;C>0&&(v=Math.floor(C/60)+parseFloat(C%60/60).toFixed(2).substring(1)),m>0&&(h=Math.floor(m/60)+parseFloat(m%60/60).toFixed(2).substring(1)),f=f.replace("{0}",v).replace("{1}",h),n.push({info:f})}t.push({name:e.label,data:u,info:n.slice()})})),calendarPage.getDaysDiff(reporting.categories[0],reporting.categories[r-1])>50&&_.size(reporting.categories)<=12&&"Custom"!=$("#DatePeriodType").val())if(12==_.size(reporting.categories))reporting.categories=reporting.monthNames;else{var a=reporting.monthNames.slice();r=_.size(reporting.categories);reporting.categories=a.splice(reporting.categories[0].getMonth()),r>reporting.categories.length&&(reporting.categories=reporting.categories.concat(a.splice(0,r-reporting.categories.length)))}else{var s=_.clone(reporting.categories);reporting.categories=[],_.each(s,(function(e){reporting.categories.push(dateToString(e))}))}return t},generateReport:function(){$(".v-chartControl",reporting.container).remove();var e=$("#ReportType").val(),t=reporting.getReportingItemsList(),r=[];reporting.categories=[],reporting.applyLocationFilter();var o=!1,n="column",i=!1,a=formatToDate($("#EndDate").val());switch(e){case"Bookings":reporting.categories=reporting.dates,r=reporting.generateBookingsReport(t);break;case"Calendar":reporting.categories=reporting.dates,r=reporting.generateCalendarReport(t);break;case"Fundraiser":reporting.categories=reporting.dates,r=reporting.generateFundraiserReport(t);n="solidgauge";break;case"RoomUtilization":reporting.categories=reporting.dates,r=reporting.generateUtilizationReport(t),o=!0;break;case"Registrations":r=reporting.generateRegistrationReport(t);break;case"Earnings":case"Receivables":case"Refunds":case"Sales":reporting.categories=reporting.dates,r=reporting.generateRevenueReport(t,a),i=!0}if(0==r.length||!_.any(r,(function(e){return _.any(e.data,(function(e){return e>0}))}))&&"column"==n)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0);var s=$("#TypeItemName",reporting.container).is(":visible")?$("#TypeItemName",reporting.container).val():$(".itemSelection .ui-multiselect span:last",reporting.container).text(),u=$("#ReportType option:selected").text()+" - "+s,l={series:r,categories:reporting.categories,type:n,title:u,showPercentage:o},p=$("#templateChart").html();$(p).insertBefore($("#summaryContent"));var c=$(".v-chartControl:visible:last",reporting.container);c.show(),bookings.initChart(c,l);var m=$("#summaryContent");(D=$("ul.itemsContent",m)).html("");var g=0,C=0,d=0,f=0,v=0,h=0;if(i)t=_.sortBy(t,(function(e){return e.total})).reverse();_.each(_.filter(t,(function(e){return e.count>0})),(function(e){D.append("<li>"+e.shortLabel+" - "+e.count+" "+(i?"("+e.total.toFixed(2)+")":"")+"</li>"),g+=e.count,C+=e.total,d+=e.fees,f+=e.fee1,v+=e.fee2,h+=e.fee3})),$("#summaryContent").toggle(g>0),$(".count",m).text(g).parent().show(),$(".total",m).text(parseFloat(C).toFixed(2)).closest(".totalRow").toggle(C>0),$(".fees",m).text(parseFloat(d).toFixed(2)).closest(".feesRow").toggle(d>0),$(".messageRow",m).hide(),(D=$("ul.feesContent",m)).html(""),d>0&&(D.append("<li>"+reporting.company.Payments.Taxes.TaxOneName+" ("+f.toFixed(2)+")</li>"),v>0&&D.append("<li>"+reporting.company.Payments.Taxes.TaxTwoName+" ("+v.toFixed(2)+")</li>"),h>0&&D.append("<li>"+reporting.company.Payments.Taxes.TaxThreeName+" ("+h.toFixed(2)+")</li>"));var D;m=$("#paymentMethodSummary");(D=$("ul",m)).html("");e=$("#ReportType").val();if(i&&("Sales"==e||"Earnings"==e)){C=0;_.each(reporting.paymentMethods,(function(e){var t=_.filter(reporting.currentReportData,(function(t){return t.PaidMethod==e.value}));if(t.length>0){var r=_.reduce(t,(function(e,t){return t.Paid+t.Fees+e}),0);C+=r;var o=_.countBy(t,"CartId");D.append("<li>"+e.name+" - "+_.size(o)+" ("+r.toFixed(2)+")</li>")}})),$(".total",m).text(parseFloat(C).toFixed(2)).closest(".totalRow").toggle(C>0),m.show()}}reporting.finalizedReport()},generateEmailChart:function(){$(".v-chartControl",reporting.container).remove();var e=$("#ReportType").val();if(reporting.categories=[bookings.resources.Delivered,bookings.resources.Bounced,bookings.resources.Opened],reporting.currentReportData=[],"EmailCampaign"==e){var t=$("#CampaignName").val();reporting.currentReportData=_.filter(reporting.data,(function(e){return 2==e.Type&&(!t||e.Campaign==t)}))}else"RenewalNotification"==e&&(reporting.currentReportData=_.filter(reporting.data,(function(e){return 5==e.Type})));var r=_.size(reporting.currentReportData),o=1,n=[];if(0==r)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0),_.each(reporting.categories,(function(e){var t=_.size(_.filter(reporting.currentReportData,(function(e){return e.Status==o})));o++,n.push({name:e,y:t,percentage:Number(parseFloat(t/r*100).toFixed(2))})}));var i=$("#ReportType option:selected").text();t&&(i+=" - "+t);n={series:[{colorByPoint:!0,name:i,data:n}],categories:reporting.categories,type:"pie",title:i};var a=$("#templateChart").html();$(a).insertBefore($("#summaryContent"));var s=$(".v-chartControl:visible:last",reporting.container);s.show(),bookings.initChart(s,n),$("#summaryContent,#paymentMethodSummary").hide()}reporting.finalizedReport()},generateEmailClicksChart:function(){$(".v-chartControl",reporting.container).remove();$("#ReportType").val();reporting.categories=["No click"];var e=$("#CampaignName").val();reporting.currentReportData=_.filter(reporting.data,(function(t){return 2==t.Type&&(!e||""==e||t.Campaign==e)&&null!=t.Clks}));var t=_.size(reporting.currentReportData),r=[];if(0==t)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0);_.filter(reporting.data,(function(t){return 2==t.Type&&(!e||t.Campaign==e)}));_.each(reporting.currentReportData,(function(e){_.each(e.Clks,(function(t){var o=t.Text?t.Text:t.URL,n=_.find(r,(function(e){return e.name==o}));n?n.y+=1:(reporting.categories.push(o),r.push({name:o,y:1})),-1!=t.URL.indexOf("Portal/Unsubscribe")&&(e.Unsubscribe=!0)}))}));var o=$("#ReportType option:selected").text();e&&(o+=" - "+e);var n=[{colorByPoint:!0,name:o,data:r}],i=reporting.categories.length>100?"column":"pie",a=(r={series:n,categories:reporting.categories,type:i,title:o},$("#templateChart").html());$(a).insertBefore($("#summaryContent"));var s=$(".v-chartControl:visible:last",reporting.container);s.show(),bookings.initChart(s,r),$("#summaryContent,#paymentMethodSummary").hide()}reporting.finalizedReport()},generateFormReport:function(){$(".v-chartControl",reporting.container).remove(),reporting.categories=[];var e=$("#TypeItemId",reporting.container).val();reporting.currentReportData=_.filter(reporting.data,(function(t){return t.ItemId==e}));if(0==_.size(reporting.currentReportData))reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0);var t=_.filter(reporting.calendar.Questions,(function(t){return t.ForItem==e&&(2==t.FieldType||4==t.FieldType)}));_.each(t,(function(e){r=[];var t=e.Values?e.Values.split(";"):[];if(_.each(t,(function(t){var o=_.filter(reporting.data,(function(r){return r&&r.Answers&&_.find(r.Answers,(function(r){return r.code==e.Code&&(r.value==t||r.value.split(",").includes(t))}))}));r.push({name:t,y:o.length})})),t&&t.length>0){var r={series:[{colorByPoint:!0,name:e.Name,data:r}],categories:t,type:t.length>6?"column":"pie",title:e.Name},o=$("#templateChart").html();$(o).insertBefore($("#summaryContent"));var n=$(".v-chartControl:visible:last",reporting.container);n.show(),bookings.initChart(n,r)}})),reporting.toggleExport(!0),$("#summaryContent,#paymentMethodSummary").hide()}reporting.finalizedReport()},addSingleChart:function(e,t,r,o){t={series:[{colorByPoint:!0,name:e,data:t}],categories:o,type:"column",title:e};var n=$("#templateChart").html();$(n).insertBefore($("#summaryContent"));var i=$(".v-chartControl:visible:last",reporting.container);i.show(),bookings.initChart(i,t)},generateInventoryReport:function(){$(".v-chartControl",reporting.container).remove(),reporting.categories=[],reporting.currentReportData=_.filter(reporting.products,(function(e){return 11==e.Type}));var e=_.size(reporting.products),t=[];if(0==e)report.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0);var r=_(reporting.currentReportData).chain().sortBy((function(e){return e.Labels})).sortBy((function(e){return e.CategoryName})).value();t=[];var o=null,n=[];_.each(r,(function(e){if(e.Labels&&""!=e.Labels){if(null!=o&&t.length>0){var r=o.Labels?o.Name:o.CategoryName;reporting.addSingleChart(r,t,"column",n)}t=[],n=[];var i=bookings.getProductOptions(e.Labels,",");_.each(i,(function(r){var o=_.clone(e),i=r.Inventory?parseInt(r.Inventory,10):0;o.Label=r.Label,o.Inventory=i,reporting.currentReportData.push(o),n.push(r.Label),t.push({name:r.Label,y:i})})),reporting.addSingleChart(e.Name,t,"column",n)}else e.Inventory||(e.Inventory=0),null!=o&&o.CategoryName!=e.CategoryName&&t.length>0&&(reporting.addSingleChart(o.CategoryName,t,"column",n),t=[],n=[]),n.push(e.Name),t.push({name:e.Name,y:e.Inventory});o=e.Labels?null:e})),null!=o&&!o.Labels&&t.length>0&&(reporting.addSingleChart(o.CategoryName,t,"column",n),t=[],n=[]),reporting.toggleExport(!0),$("#summaryContent,#paymentMethodSummary").hide()}reporting.finalizedReport()},generateMembershipReport:function(){$(".v-chartControl",reporting.container).remove();var e=convertToDate($("#StartDate").val()),t=convertToDate($("#EndDate").val()),r=new Date(e.setMonth(e.getMonth()-1)),o=new Date(t.setMonth(t.getMonth()-1));reporting.categories=[bookings.resources.Lapsed,bookings.resources.New,bookings.resources.Renewed],reporting.currentReportData=[],reporting.currentReportData=_.filter(reporting.data,(function(e){return 1==e.Type})),reporting.exportData=_.filter(reporting.clients,(function(e){var t=e.MembershipEnd?convertToDate(e.MembershipEnd):new Date;return e.MembershipName&&r<=t&&t<o&&!_.any(reporting.currentReportData,(function(t){return t.UserId==e.UserId}))}));var n=_.size(reporting.exportData),i=_.size(reporting.currentReportData)+n,a=[];if(0==i)reporting.toggleExport(!1),addErrorMessage($(".actionsDiv:first",reporting.container),$("#NoDataForReport").text());else{reporting.toggleExport(!0),_.each(reporting.currentReportData,(function(e){var t=new Date(e.Date);e.TestDate=new Date(e.Date.setMonth(e.Date.getMonth()+e.Value)),e.IsNew=!e.MembershipEnd||areEqualDates(t,e.Created)}));var s=_.size(_.filter(reporting.currentReportData,(function(e){return e.IsNew}))),u=i-s-n;a.push({name:bookings.resources.Lapsed,percentage:Number(parseFloat(n/i*100).toFixed(2)),y:n}),a.push({name:bookings.resources.New,percentage:Number(parseFloat(s/i*100).toFixed(2)),y:s}),a.push({name:bookings.resources.Renewed,percentage:Number(parseFloat(u/i*100).toFixed(2)),y:u});var l=$("#ReportType option:selected").text(),p=(a={series:[{colorByPoint:!0,name:l,data:a}],categories:reporting.categories,type:"pie",title:l,showCount:!0},$("#templateChart").html());$(p).insertBefore($("#summaryContent"));var c=$(".v-chartControl:visible:last",reporting.container);c.show(),bookings.initChart(c,a),$("#summaryContent,#paymentMethodSummary").hide();var m=$("#summaryContent"),g=$("ul.itemsContent",m);g.html("");var C=_.filter(reporting.currentReportData,(function(e){return e.IsNew})),d=_.reduce(C,(function(e,t){return t.Paid+t.Fees+e}),0);C=_.filter(reporting.currentReportData,(function(e){return!e.IsNew}));var f=_.reduce(C,(function(e,t){return t.Paid+t.Fees+e}),0);g.append("<li>"+bookings.resources.Lapsed+" - "+n+"</li>"),g.append("<li>"+bookings.resources.New+" - "+s+" ("+d.toFixed(2)+")</li>"),g.append("<li>"+bookings.resources.Renewed+" - "+u+" ("+f.toFixed(2)+")</li>"),$("#summaryContent").show(),$(".count",m).text(i).parent().show(),$(".total",m).text(parseFloat(d+f).toFixed(2)).closest(".totalRow").show(),$(".feesRow",m).hide(),$(".messageRow",m).show(),$(".h-exportReport,.h-createReport",reporting.container).show()}reporting.finalizedReport()},getExportData:function(){var e=$("#ReportType").val(),t=reporting.currentReportData.slice();switch(e){case"Calendar":t=_.sortBy(_.sortBy(_.sortBy(t,"Type"),"Email"),"Date");break;case"Dues":t=_.sortBy(t,"Balance");break;case"Inventory":break;case"Dues":case"Members":t=_.sortBy(t,"Name");break;case"Memberships":t=reporting.getMembershipExportData();break;case"EmailCampaign":case"EmailClicks":case"RenewalNotification":t=_.sortBy(t,"CreatedDate");break;default:t=_.sortBy(_.sortBy(_.sortBy(t,"Type"),"Email"),"Date")}return t},getMembershipExportData:function(){var e=reporting.exportData.slice();return _.each(e,(function(e){e.Membership=e.MembershipName,e.MembershipStatus=3})),_.each(reporting.currentReportData,(function(t){t.MembershipStatus=3;var r=reporting.getClient(t.UserId);r&&(r.MembershipStatus=t.IsNew?1:2,r.Membership=t.MembershipName,e.push(r))})),e},setCategoriesBetweenDates:function(e,t){var r="Custom"==$("#DatePeriodType").val();if(reporting.dates=[],r)for(var o=daydiff(e,t)<=8?1:7;e<t;)reporting.dates.push(e),(e=new Date(e)).setDate(e.getDate()+o);else for(;e<t;)reporting.dates.push(e),(e=new Date(e)).setDate(e.getDate()+7);0==reporting.dates.length?reporting.dates.push(e):e<=t&&reporting.dates.push(t)},setCategoriesBetweenMonths:function(e,t){var r="Custom"==$("#DatePeriodType").val();if(reporting.dates=[],r)for(;e<t;)reporting.dates.push(e),(e=new Date(e)).setMonth(e.getMonth()+1),e>=t&&reporting.dates.push(t);else for(;e<=t;)reporting.dates.push(new Date(e)),(e=new Date(e)).setMonth(e.getMonth()+1)},finalizedReport:function(){reporting.reportId&&setTimeout((function(){ajaxServerCall("Account","LogOffAccount",{},(function(e){}))}),5e3)},toggleExport:function(e){clearMessageContents(),$("#summaryContent,.h-exportReport,.h-createReport,.summaryContainer",reporting.container).toggle(e),e||$("#paymentMethodSummary",reporting.container).hide()},setDateCategories:function(e,t){calendarPage.getDaysDiff(e,t)>70?reporting.setCategoriesBetweenMonths(new Date(e),new Date(t)):reporting.setCategoriesBetweenDates(new Date(e),new Date(t))},setFieldSelection:function(){reporting.fieldsList=[];var e=_.uniq(reporting.clients,(function(e){return e.MembershipName}));if(e&&e.length>1){var t=$("#Memberships").text();reporting.fieldsList.push({label:t,shortLabel:t,value:"MembershipName",isProduct:!0,values:_.pluck(_.filter(e,(function(e){return""!=e.MembershipName})),"MembershipName").join(";"),isMultiple:!1})}var r=reporting.company&&reporting.company.ClientFields,o=r&&r.MultiCols?r.MultiCols.split(","):[];r&&r.C1&&r.C1Options&&reporting.fieldsList.push({label:r.C1,shortLabel:r.C1,value:"Custom1",isProduct:!1,values:r.C1Options,isMultiple:_.contains(o,"Custom1")}),r&&r.C2&&r.C2Options&&reporting.fieldsList.push({label:r.C2,shortLabel:r.C2,value:"Custom2",isProduct:!1,values:r.C2Options,isMultiple:_.contains(o,"Custom2")}),r&&r.C3&&r.C3Options&&reporting.fieldsList.push({label:r.C3,shortLabel:r.C3,value:"Custom3",isProduct:!1,values:r.C3Options,isMultiple:_.contains(o,"Custom3")}),r&&r.C4&&r.C4Options&&reporting.fieldsList.push({label:r.C4,shortLabel:r.C4,value:"Custom4",isProduct:!1,values:r.C4Options,isMultiple:_.contains(o,"Custom4")}),r&&r.C5&&r.C5Options&&reporting.fieldsList.push({label:r.C5,shortLabel:r.C5,value:"Custom5",isProduct:!1,values:r.C5Options,isMultiple:_.contains(o,"Custom5")}),r&&r.C6&&r.C6Options&&reporting.fieldsList.push({label:r.C6,shortLabel:r.C6,value:"Custom6",isProduct:!1,values:r.C6Options,isMultiple:_.contains(o,"Custom6")}),r&&r.C7&&r.C7Options&&reporting.fieldsList.push({label:r.C7,shortLabel:r.C7,value:"Custom7",isProduct:!1,values:r.C7Options,isMultiple:_.contains(o,"Custom7")}),r&&r.C8&&r.C8Options&&reporting.fieldsList.push({label:r.C8,shortLabel:r.C8,value:"Custom8",isProduct:!1,values:r.C8Options,isMultiple:_.contains(o,"Custom8")}),r&&r.C9&&r.C9Options&&reporting.fieldsList.push({label:r.C9,shortLabel:r.C9,value:"Custom9",isProduct:!1,values:r.C9Options,isMultiple:_.contains(o,"Custom9")}),r&&r.C10&&r.C10Options&&reporting.fieldsList.push({label:r.C10,shortLabel:r.C10,value:"Custom10",isProduct:!1,values:r.C10Options,isMultiple:_.contains(o,"Custom10")}),r&&r.C11&&r.C11Options&&reporting.fieldsList.push({label:r.C11,shortLabel:r.C11,value:"Custom11",isProduct:!1,values:r.C11Options,isMultiple:_.contains(o,"Custom11")}),r&&r.C12&&r.C12Options&&reporting.fieldsList.push({label:r.C12,shortLabel:r.C12,value:"Custom12",isProduct:!1,values:r.C12Options,isMultiple:_.contains(o,"Custom12")}),r&&r.C13&&r.C13Options&&reporting.fieldsList.push({label:r.C13,shortLabel:r.C13,value:"Custom13",isProduct:!1,values:r.C13Options,isMultiple:_.contains(o,"Custom13")}),r&&r.C14&&r.C14Options&&reporting.fieldsList.push({label:r.C14,shortLabel:r.C14,value:"Custom14",isProduct:!1,values:r.C14Options,isMultiple:_.contains(o,"Custom14")}),r&&r.C15&&r.C15Options&&reporting.fieldsList.push({label:r.C15,shortLabel:r.C15,value:"Custom15",isProduct:!1,values:r.C15Options,isMultiple:_.contains(o,"Custom15")}),r&&r.C16&&r.C16Options&&reporting.fieldsList.push({label:r.C16,shortLabel:r.C16,value:"Custom16",isProduct:!1,values:r.C16Options,isMultiple:_.contains(o,"Custom16")}),r&&r.C17&&r.C17Options&&reporting.fieldsList.push({label:r.C17,shortLabel:r.C17,value:"Custom17",isProduct:!1,values:r.C17Options,isMultiple:_.contains(o,"Custom17")}),r&&r.C18&&r.C18Options&&reporting.fieldsList.push({label:r.C18,shortLabel:r.C18,value:"Custom18",isProduct:!1,values:r.C18Options,isMultiple:_.contains(o,"Custom18")}),r&&r.C19&&r.C19Options&&reporting.fieldsList.push({label:r.C19,shortLabel:r.C19,value:"Custom19",isProduct:!1,values:r.C19Options,isMultiple:_.contains(o,"Custom19")}),r&&r.C20&&r.C20Options&&reporting.fieldsList.push({label:r.C20,shortLabel:r.C20,value:"Custom20",isProduct:!1,values:r.C20Options,isMultiple:_.contains(o,"Custom2")}),r&&r.C21&&r.C21Options&&reporting.fieldsList.push({label:r.C21,shortLabel:r.C21,value:"Custom21",isProduct:!1,values:r.C21Options,isMultiple:_.contains(o,"Custom21")}),r&&r.C22&&r.C22Options&&reporting.fieldsList.push({label:r.C22,shortLabel:r.C22,value:"Custom22",isProduct:!1,values:r.C22Options,isMultiple:_.contains(o,"Custom22")}),r&&r.C23&&r.C23Options&&reporting.fieldsList.push({label:r.C23,shortLabel:r.C23,value:"Custom23",isProduct:!1,values:r.C23Options,isMultiple:_.contains(o,"Custom23")}),r&&r.C24&&r.C24Options&&reporting.fieldsList.push({label:r.C24,shortLabel:r.C24,value:"Custom24",isProduct:!1,values:r.C24Options,isMultiple:_.contains(o,"Custom24")}),r&&r.C25&&r.C25Options&&reporting.fieldsList.push({label:r.C25,shortLabel:r.C25,value:"Custom25",isProduct:!1,values:r.C25Options,isMultiple:_.contains(o,"Custom25")}),r&&r.C26&&r.C26Options&&reporting.fieldsList.push({label:r.C26,shortLabel:r.C26,value:"Custom26",isProduct:!1,values:r.C26Options,isMultiple:_.contains(o,"Custom26")}),r&&r.C27&&r.C27Options&&reporting.fieldsList.push({label:r.C27,shortLabel:r.C27,value:"Custom27",isProduct:!1,values:r.C27Options,isMultiple:_.contains(o,"Custom27")}),r&&r.C28&&r.C28Options&&reporting.fieldsList.push({label:r.C28,shortLabel:r.C28,value:"Custom28",isProduct:!1,values:r.C28Options,isMultiple:_.contains(o,"Custom28")}),r&&r.C29&&r.C29Options&&reporting.fieldsList.push({label:r.C29,shortLabel:r.C29,value:"Custom29",isProduct:!1,values:r.C29Options,isMultiple:_.contains(o,"Custom29")}),r&&r.C30&&r.C30Options&&reporting.fieldsList.push({label:r.C30,shortLabel:r.C30,value:"Custom30",isProduct:!1,values:r.C30Options,isMultiple:_.contains(o,"Custom30")}),bookings.setFieldHasMultiple("FieldName",reporting.fieldsList,!0)},addClientFields:function(e,t){var r=reporting.company.ClientFields;r&&r.C1&&(e[r.C1]=t.Custom1,r&&r.C2&&(e[r.C2]=t.Custom2),r&&r.C3&&(e[r.C3]=t.Custom3),r&&r.C4&&(e[r.C4]=t.Custom4),r&&r.C5&&(e[r.C5]=t.Custom5),r&&r.C6&&(e[r.C6]=t.Custom6),r&&r.C7&&(e[r.C7]=t.Custom7),r&&r.C8&&(e[r.C8]=t.Custom8),r&&r.C9&&(e[r.C9]=t.Custom9),r&&r.C10&&(e[r.C10]=t.Custom10),r&&r.C11&&(e[r.C11]=t.Custom11),r&&r.C12&&(e[r.C12]=t.Custom12),r&&r.C13&&(e[r.C13]=t.Custom13),r&&r.C14&&(e[r.C14]=t.Custom14),r&&r.C15&&(e[r.C15]=t.Custom15),r&&r.C16&&(e[r.C16]=t.Custom16),r&&r.C17&&(e[r.C17]=t.Custom17),r&&r.C18&&(e[r.C18]=t.Custom18),r&&r.C19&&(e[r.C19]=t.Custom19),r&&r.C20&&(e[r.C20]=t.Custom20),r&&r.C21&&(e[r.C21]=t.Custom21),r&&r.C22&&(e[r.C22]=t.Custom22),r&&r.C23&&(e[r.C23]=t.Custom23),r&&r.C24&&(e[r.C24]=t.Custom24),r&&r.C25&&(e[r.C25]=t.Custom25),r&&r.C26&&(e[r.C26]=t.Custom26),r&&r.C27&&(e[r.C27]=t.Custom27),r&&r.C28&&(e[r.C28]=t.Custom28),r&&r.C29&&(e[r.C29]=t.Custom29),r&&r.C30&&(e[r.C30]=t.Custom30))},setItemFields:function(e){var t={Name:"",Desc:""},r=_.find(reporting.sources,(function(t){return t.value==e}));return r&&(t.Name=r.label,t.Desc=$("<div />").html(r.desc).text()),t},getFilteredClient:function(e){return!reporting.distId||""==reporting.distId||_.contains(reporting.distUsers,e)?reporting.getClient(e):""!=reporting.distId?null:reporting.getEmptyClient()},getClientByEmail:function(e){return _.find(reporting.clients,(function(t){return t.Email&&t.Email.toUpperCase()==e.toUpperCase()&&0==t.UserType}))},getClientByUserId:function(e){return _.find(reporting.clients,(function(t){return t.UserId==e&&0==t.UserType}))},getMembershipReportData:function(e,t){reporting.currentReportType=reporting.reportTypes.Memberships,ajaxServerCall("Reporting","GetReportData",{utcOffset:reporting.calendar.UTCOffset,localStartDate:e,localEndDate:t,currency:reporting.getCurrency(),isSales:!0},(function(e){reporting.sales=e.carts,reporting.bookings=[],reporting.data=[];formatToDate($("#StartDate").val()),formatToDate($("#EndDate").val());_.each(reporting.sales,(function(e){var t=reporting.getFilteredClient(e.UserId);t&&(t.FirstName||(t.FirstName=e.UserName),_.each(e.Items,(function(r){var o=0==r.Cost?0:1==e.Items.length?1:r.Cost*r.Quantity/e.CartCost,n=e.PaidDate?convertToDate(e.PaidDate):convertToDate(e.CreatedDate);n=setOffsetDate(n);var i=reporting.setItemFields(r.Id),a=0==o?0:parseFloat((e.Fee1*o).toFixed(2)),s=0==o?0:parseFloat((e.Fee2*o).toFixed(2)),u=0==o?0:parseFloat((e.Fee3*o).toFixed(2)),l="",p="",c="",m=_.find(reporting.products,(function(e){return e.Id==r.Id}));m&&(l=m.CategoryName,p=m.CategoryAccount,c=m.CategoryClass),reporting.data.push({Title:r.Name,Amount:r.Cost,Paid:r.Total,Quantity:r.Quantity,Value:r.Value,ItemId:r.Id,ItemName:i.Name,ItemDescription:i.Desc,GroupId:null,Location:t.Location,InternalId:t.InternalId,FirstName:t.FirstName,LastName:t.LastName,Email:t.Email,Phone:t.Phone,DOB:t.DOBDate,Gender:t.GenderText,Organization:t.Organization,LocationName:t.LocationName,MemberSince:t.MemberSinceDate,AddressLine:t.AddressLine,City:t.City,Postal_Zip:t.Postal_Zip,Province_State:t.Province_State,MembershipName:t.MembershipName,MembershipEnd:t.MembershipEndDate,Created:setOffsetDate(convertToDate(t.Date)),Custom1:t.Custom1,Custom2:t.Custom2,Custom3:t.Custom3,Custom4:t.Custom4,Custom5:t.Custom5,Custom6:t.Custom6,Custom7:t.Custom7,Custom8:t.Custom8,Custom9:t.Custom9,Custom10:t.Custom10,Custom11:t.Custom11,Custom12:t.Custom12,Custom13:t.Custom13,Custom14:t.Custom14,Custom15:t.Custom15,Custom16:t.Custom16,Custom17:t.Custom17,Custom18:t.Custom18,Custom19:t.Custom19,Custom20:t.Custom20,Custom21:t.Custom21,Custom22:t.Custom22,Custom23:t.Custom23,Custom24:t.Custom24,Custom25:t.Custom25,Custom26:t.Custom26,Custom27:t.Custom27,Custom28:t.Custom28,Custom29:t.Custom29,Custom30:t.Custom30,Date:n,PaidDate:n,EarnedDate:r.ExpirationDate?setOffsetDate(convertToDate(r.ExpirationDate)):n,Discount:r.Discount,MemberDiscount:r.MemberDiscount,PurchaseDebit:r.PurchaseDebit,ClientDebit:r.ClientDebit,Tip:0,Status:e.Status,PaidMethod:e.PaidMethod,CreditCardType:e.CreditCardType,Type:r.Type,Fee1:a,Fee2:s,Fee3:u,Fees:a+s+u,Category:l,Account:p,Class:c,Notes:r.Notes,CartId:e.Id,UserId:e.UserId})})))})),reporting.generateMembershipReport()}))},calculateTaxForItem:function(e,t,r,o,n,i,a,s,u){var l=0;if(!t||null!=r&&0!=r.length?t&&null!=r&&null!=n&&(_.contains(r,n.Id)||_.contains(r,n.SelectionId))&&(l=Number(parseFloat(o*(t/100)).toFixed(2))):l=Number(parseFloat(o*(t/100)).toFixed(2)),i&&t&&t>0&&l>0&&a&&s){var p=a.split(";"),c=!1;p.forEach(e=>{var t=e.split(":");t.length>=3&&(t[0].trim().toLowerCase()==s.toLowerCase()||t[0].trim().toLowerCase()==u.toLowerCase())&&parseFloat(t[2])&&(l=Number(parseFloat(o*(parseFloat(t[2])/100)).toFixed(2)),c=!0)}),c||(l=0)}return e>=l?l:0},processTransactionsData:function(){var e=formatToDate($("#StartDate").val()),t=formatToDate($("#EndDate").val());t.setDate(t.getDate()+1);var r=reporting.currentReportType==reporting.reportTypes.Receivables,o=reporting.currentReportType==reporting.reportTypes.Refunds,n=reporting.company.Payments,i=n&&n.Taxes?n.Taxes:null;_.each(reporting.sales,(function(n){var a=reporting.getFilteredClient(n.UserId);if(a){a.FirstName||(a.FirstName=n.UserName),reporting.processSubscription(n,e,t);var s=n.Items.length,u=n.Fees;_.each(n.Items,(function(e){var t=1;null!==reporting.partialAmount&&(t=reporting.partialAmount/e.Cost,e.Cost=e.Cost*t,e.CartCost=e.CartCost*t,e.Discount=e.Discount*t,e.MemberDiscount=e.MemberDiscount*t,e.PurchaseDebit=e.PurchaseDebit*t,e.ClientDebit=e.ClientDebit*t,e.RefundFee=e.RefundFee*t,reporting.partialAmount>0&&(n.PaidDate=reporting.partialDate));var l=0==e.Cost||0==n.TotalCost?0:1==s?1:2,p=setOffsetDate(convertToDate(n.CreatedDate)),c=n.PaidDate?setOffsetDate(convertToDate(n.PaidDate)):p,m=e.ExpirationDate?convertToDate(e.ExpirationDate):c,g=null,C=5!=e.Type&&8!=e.Type||!e.TypeItemId?e.Id:e.TypeItemId,d=reporting.setItemFields(C),f=n.Fee1,v=n.Fee2,h=n.Fee3;n.Fees>0&&l>1&&(n.Fee1>0&&n.Fees>=n.Fee1&&(f=reporting.calculateTaxForItem(n.Fee1,i.TaxOneRate,i.TaxOneItems,e.Total,e,i.ApplyLocal,i.LocalRates,a.Province_State,a.Country)),n.Fee2>0&&n.Fees>=n.Fee2&&(v=reporting.calculateTaxForItem(n.Fee2,i.TaxTwoRate,i.TaxTwoItems,e.Total,e,i.ApplyLocalTwo,i.LocalRates,a.Province_State,a.Country)),n.Fee3>0&&n.Fees>=n.Fee3&&(h=reporting.calculateTaxForItem(n.Fee3,i.TaxThreeRate,i.TaxThreeItems,e.Total,e,i.ApplyLocalThree,i.LocalRates,a.Province_State,a.Country))),n.Fee1-=f,n.Fee2-=v,n.Fee3-=h,n.Fee1=Number(n.Fee1.toFixed(2)),n.Fee2=Number(n.Fee2.toFixed(2)),n.Fee3=Number(n.Fee3.toFixed(2));var D=f+v+h;n.Fees-=D,n.Fees=Number(n.Fees.toFixed(2));var b=0;if(0==e.Type&&1==e.Cost&&e.Quantity>1&&(e.Cost=e.Quantity,e.Quantity=1),r&&(n.AmountPaid&&n.AmountPaid>0||n.TotalDebit>0)&&(e.Cost=parseFloat((e.Cost-(n.AmountPaid+n.TotalDebit)/e.Quantity*l).toFixed(2))),r&&(c=m=null),o&&n.RefundFee){if(b=s>1?n.AmountPaid:n.RefundFee,s>1){var y=parseFloat((n.RefundFee/s).toFixed(2));b=y>e.Total+u?e.Total:y}g=n.RefundDate?setOffsetDate(convertToDate(n.RefundDate)):p}var I="",T="",$="",R=_.find(reporting.products,(function(t){return t.Id==e.Id}));R&&(I=R.CategoryName,T=R.CategoryAccount,$=R.CategoryClass),(!o||b>0)&&reporting.data.push({Title:e.Name,Amount:e.Cost,Paid:e.Total,Quantity:e.Quantity,Value:e.Value,ItemId:C,ItemName:d.Name,ItemDescription:d.Desc,TypeItemId:e.TypeItemId,GroupId:e.SelectionId,Location:a.Location,InternalId:a.InternalId,FirstName:a.FirstName,LastName:a.LastName,Email:a.Email,Phone:a.Phone,DOB:a.DOBDate,Gender:a.GenderText,Organization:a.Organization,LocationName:a.LocationName,MemberSince:a.MemberSinceDate,AddressLine:a.AddressLine,City:a.City,Postal_Zip:a.Postal_Zip,Province_State:a.Province_State,MembershipName:a.MembershipName,MembershipEnd:a.MembershipEndDate,Custom1:a.Custom1,Custom2:a.Custom2,Custom3:a.Custom3,Custom4:a.Custom4,Custom5:a.Custom5,Custom6:a.Custom6,Custom7:a.Custom7,Custom8:a.Custom8,Custom9:a.Custom9,Custom10:a.Custom10,Custom11:a.Custom11,Custom12:a.Custom12,Custom13:a.Custom13,Custom14:a.Custom14,Custom15:a.Custom15,Custom16:a.Custom16,Custom17:a.Custom17,Custom18:a.Custom18,Custom19:a.Custom19,Custom20:a.Custom20,Custom21:a.Custom21,Custom22:a.Custom22,Custom23:a.Custom23,Custom24:a.Custom24,Custom25:a.Custom25,Custom26:a.Custom26,Custom27:a.Custom27,Custom28:a.Custom28,Custom29:a.Custom29,Custom30:a.Custom30,Date:p,PaidDate:c,EarnedDate:m,Discount:e.Discount,MemberDiscount:e.MemberDiscount,PurchaseDebit:e.PurchaseDebit,ClientDebit:e.ClientDebit,Tip:0,Status:n.Status,PaidMethod:n.PaidMethod,CreditCardType:n.CreditCardType,Type:e.Type,Fee1:f,Fee2:v,Fee3:h,Fees:D,RefundFee:b,RefundDate:g,Category:I,Account:T,Class:$,Notes:e.Notes,CartId:n.Id})}))}})),_.each(reporting.bookings,(function(r){var o=reporting.getFilteredClient(r.UserId),n=reporting.currentReportType==reporting.reportTypes.Sales;if(o){var i=setOffsetDate(convertToDate(r.StartTime));n||e<=i&&i<=t||!r.EndRegistrationDate||(i=new Date(e.getFullYear(),e.getMonth(),e.getDate(),i.getHours(),i.getMinutes()),i=setOffsetDate(i));var a=n?setOffsetDate(r.ConfirmedDate?convertToDate(r.ConfirmedDate):convertToDate(r.CreatedDate)):null,s=r.ItemId?r.ItemId:r.ServiceId,u=reporting.setItemFields(s),l=r.GroupId?reporting.getGroup(r.GroupId):null,p=l?l.Name:"";reporting.data.push({Title:r.Title,Amount:r.Amount,Paid:r.Amount,Quantity:1,Value:1,ItemId:s,ItemName:u.Name,ItemDescription:u.Desc,GroupId:r.GroupId,Calendar:p,Location:o.Location,InternalId:o.InternalId,FirstName:o.FirstName,LastName:o.LastName,Email:o.Email,Phone:o.Phone,DOB:o.DOBDate,Gender:o.GenderText,Organization:o.Organization,LocationName:o.LocationName,MemberSince:o.MemberSinceDate,AddressLine:o.AddressLine,City:o.City,Postal_Zip:o.Postal_Zip,Province_State:o.Province_State,MembershipName:o.MembershipName,MembershipEnd:o.MembershipEndDate,Custom1:o.Custom1,Custom2:o.Custom2,Custom3:o.Custom3,Custom4:o.Custom4,Custom5:o.Custom5,Custom6:o.Custom6,Custom7:o.Custom7,Custom8:o.Custom8,Custom9:o.Custom9,Custom10:o.Custom10,Custom11:o.Custom11,Custom12:o.Custom12,Custom13:o.Custom13,Custom14:o.Custom14,Custom15:o.Custom15,Custom16:o.Custom16,Custom17:o.Custom17,Custom18:o.Custom18,Custom19:o.Custom19,Custom20:o.Custom20,Custom21:o.Custom21,Custom22:o.Custom22,Custom23:o.Custom23,Custom24:o.Custom24,Custom25:o.Custom25,Custom26:o.Custom26,Custom27:o.Custom27,Custom28:o.Custom28,Custom29:o.Custom29,Custom30:o.Custom30,Date:i,PaidDate:a,EarnedDate:n?i:null,Length:r.Length,Linked_Items:r.Products,Notes:r.Notes,Discount:0,MemberDiscount:0,PurchaseDebit:0,ClientDebit:0,Tip:r.Tip,Status:r.Status,PaidMethod:r.PaidMethod,CreditCardType:0,Type:8,Fee1:r.TaxOne,Fee2:r.TaxTwo,Fee3:r.TaxThree,Fees:parseFloat((r.TaxOne+r.TaxTwo+r.TaxThree).toFixed(2))})}}))},processSubscription:function(e,t,r){if(reporting.partialAmount=null,reporting.partialDate=new Date(1900,1,1),e.HasSubscription&&null!=(subscription=_.find(reporting.subscriptions,(function(t){return t.CartId==e.Id})))){var o=subscription.LastPayment?new Date(subscription.LastPayment):new Date(subscription.NextPayment),n=parseFloat(Number(subscription.Amount)/100),i=convertToDate(e.CreatedDate);for(null===subscription.LastPayment&&null===subscription.NextPayment&&(o=i),reporting.partialAmount=0,reporting.partialDate=new Date(o),i.setHours(0),i.setMinutes(1);o>t;)t<=o&&o<r&&(reporting.partialAmount+=n,reporting.partialDate=new Date(o)),o.setMonth(o.getMonth()-subscription.Interval)}},getDashboardDates:function(){var e=new Date,t=new Date;t.setDate(t.getDate()-30);formatDate(dateToString(t)),formatDate(dateToString(e));for(reporting.dates=[];t<e;)reporting.dates.push(t),(t=new Date(t)).setDate(t.getDate()+1);return reporting.dates},generateDashboardReport:function(e,t){var r=new Date;r.setDate(r.getDate()-30),$(".v-chartControl:visible").remove();var o=JSON.parse($("#HistoricalData").val()),n=[],i=[];reporting.categories=[],_.each(o,(function(t){var r=dateToString(convertToDate(t.Date));reporting.categories.push(r),i.push(t[e])})),n.push({name:"All",data:i});var a={series:n,categories:void 0,type:"areaspline",labels:{enabled:!1},title:""},s=$("#templateChart").html();$(s).insertAfter($("#templateChart"));var u=$(".v-chartControl:visible:last");u.show(),bookings.initChart(u,a)},getDashboardSalesReport:function(){var e=new Date,t=new Date;t.setDate(t.getDate()-30);var r=formatDate(dateToString(t)),o=formatDate(dateToString(e));$(".v-chartControl:visible").remove(),ajaxServerCall("Reporting","GetReportData",{utcOffset:0,localStartDate:r,localEndDate:o,currency:null,isSales:!0},(function(r){reporting.data=[],reporting.sales=r.carts,reporting.bookings=r.bookings,reporting.subscriptions=r.subscriptions,reporting.currentReportType=reporting.reportTypes.Sales,_.each(reporting.sales,(function(r){reporting.processSubscription(r,t,e),_.each(r.Items,(function(e){var t=1;null!==reporting.partialAmount&&(t=reporting.partialAmount/e.Cost,e.Cost=e.Cost*t,e.CartCost=e.CartCost*t,reporting.partialAmount>0&&(r.PaidDate=reporting.partialDate));var o=setOffsetDate(convertToDate(r.CreatedDate)),n=r.PaidDate?setOffsetDate(convertToDate(r.PaidDate)):o;reporting.data.push({Title:e.Name,Amount:e.Cost,Paid:e.Total,Quantity:e.Quantity,Fees:0,Value:e.Value,Date:o,PaidDate:n,CartId:r.Id})}))}));var o=o=[{Type:0,value:"",label:bookings.resources.All,count:null,total:null}];reporting.categories=reporting.getDashboardDates();var n={series:reporting.generateRevenueReport(o,e,0),categories:reporting.categories,type:"line",title:"Total Revenue"},i=$("#templateChart").html();$(i).insertAfter($("#templateChart"));var a=$(".v-chartControl:visible:last");a.show(),bookings.initChart(a,n)}))},getItemsReportData:function(e,t,r){ajaxServerCall("Reporting","GetReportData",{utcOffset:reporting.calendar.UTCOffset,localStartDate:e,localEndDate:t,currency:reporting.getCurrency(),isSales:r},(function(e){reporting.data=[],reporting.sales=e.carts,reporting.bookings=e.bookings,reporting.subscriptions=e.subscriptions,reporting.currentReportType=r?reporting.reportTypes.Sales:reporting.reportTypes.Bookings,reporting.processTransactionsData(),reporting.generateReport()}))},getReceivablesReportData:function(e,t,r){ajaxServerCall("Reporting","GetPendingPaymentsReportData",{utcOffset:reporting.calendar.UTCOffset,localStartDate:e,localEndDate:t,currency:reporting.getCurrency()},(function(e){reporting.data=[],reporting.sales=e.carts,reporting.bookings=e.bookings;e.subscriptions;reporting.currentReportType=reporting.reportTypes.Receivables,reporting.processTransactionsData(),reporting.generateReport()}))},getRefundsReportData:function(e,t,r){ajaxServerCall("Reporting","GetRefundsReportData",{utcOffset:reporting.calendar.UTCOffset,localStartDate:e,localEndDate:t,currency:reporting.getCurrency()},(function(e){reporting.data=[],reporting.sales=e.carts,reporting.bookings=e.bookings;e.subscriptions;reporting.currentReportType=reporting.reportTypes.Refunds,reporting.processTransactionsData(),reporting.generateReport()}))},getFormReportData:function(e,t){ajaxServerCall("Reporting","GetFormReportData",{localStartDate:e,localEndDate:t},(function(e){reporting.sales=e.carts,reporting.bookings=[],reporting.data=[],reporting.currentReportType=reporting.reportTypes.Forms;var t=formatToDate($("#StartDate").val()),r=formatToDate($("#EndDate").val());r.setDate(r.getDate()+1);var o=$("#TypeItemId",reporting.container).val(),n=reporting.getForm(o),i=_.filter(reporting.calendar.Questions,(function(e){return e.ForItem==o&&(2==e.FieldType||4==e.FieldType)}));_.each(reporting.sales,(function(e){var a=n&&n.Anonymous?reporting.getEmptyClient():reporting.getFilteredClient(e.UserId);a&&_.each(e.Items,(function(s){var u=e.PaidDate?convertToDate(e.PaidDate):convertToDate(e.CreatedDate);u=setOffsetDate(u);var l=reporting.setItemFields(s.Id);if(s.Id==o&&t<=u&&u<=r){var p=null,c={Title:s.Name,Amount:s.Cost,Paid:s.Total,Quantity:s.Quantity,ItemId:s.Id,ItemName:l.Name,ItemDescription:l.Desc,GroupId:null,Location:a.Location,InternalId:a.InternalId,FirstName:a.FirstName,LastName:a.LastName,Email:a.Email,Phone:a.Phone,DOB:a.DOBDate,Gender:a.GenderText,Organization:a.Organization,LocationName:a.LocationName,MemberSince:a.MemberSinceDate,AddressLine:a.AddressLine,City:a.City,Postal_Zip:a.Postal_Zip,Province_State:a.Province_State,MembershipName:a.MembershipName,MembershipEnd:a.MembershipEndDate,Custom1:a.Custom1,Custom2:a.Custom2,Custom3:a.Custom3,Custom4:a.Custom4,Custom5:a.Custom5,Custom6:a.Custom6,Custom7:a.Custom7,Custom8:a.Custom8,Custom9:a.Custom9,Custom10:a.Custom10,Custom11:a.Custom11,Custom12:a.Custom12,Custom13:a.Custom13,Custom14:a.Custom14,Custom15:a.Custom15,Custom16:a.Custom16,Custom17:a.Custom17,Custom18:a.Custom18,Custom19:a.Custom19,Custom20:a.Custom20,Custom21:a.Custom21,Custom22:a.Custom22,Custom23:a.Custom23,Custom24:a.Custom24,Custom25:a.Custom25,Custom26:a.Custom26,Custom27:a.Custom27,Custom28:a.Custom28,Custom29:a.Custom29,Custom30:a.Custom30,Date:u,PaidDate:u,EarnedDate:s.ExpirationDate?setOffsetDate(convertToDate(s.ExpirationDate)):u,Discount:s.Discount,MemberDiscount:s.MemberDiscount,PurchaseDebit:s.PurchaseDebit,ClientDebit:s.ClientDebit,Status:e.Status,PaidMethod:e.PaidMethod,CreditCardType:e.CreditCardType,Type:s.Type,UserId:e.UserId,Notes:s.Notes,Answers:s.Notes?bookings.reconstructFields(i,s.Notes):[]};n.Single&&(p=_.find(reporting.data,(function(t){return t.UserId==e.UserId})))?_.extend(p,c):reporting.data.push(c)}}))})),reporting.generateFormReport()}))},getEFTReportData:function(e,t){var r=$("#GenerateSales").is(":checked");reporting.currentReportType=reporting.reportTypes.EFT_Transactions,showProgress(),ajaxServerCall("Reporting","GetEFTReportData",{localStartDate:e,localEndDate:t,generateSales:r},(function(e){window.location="/Reporting/GetEFTReportFile?filename="+e,hideProgress()}))},getCalendarReportData:function(e,t){ajaxServerCall("Reporting","GetReportData",{utcOffset:reporting.calendar.UTCOffset,localStartDate:e,localEndDate:t,currency:reporting.getCurrency(),isSales:!1},(function(e){reporting.sales=e.carts,reporting.bookings=e.bookings,reporting.data=[],reporting.currentReportType=reporting.reportTypes.Bookings;var t=formatToDate($("#StartDate").val()),r=formatToDate($("#EndDate").val());r.setDate(r.getDate()+1),calendarPage.calendar=reporting.calendar,calendarPage.bookings=[],_.each(reporting.bookings,(function(e){var o=reporting.getFilteredClient(e.UserId);if(o){var n=convertToDate(e.StartTime);t<=n&&n<=r||!e.EndRegistrationDate||(n=new Date(t.getFullYear(),t.getMonth(),t.getDate(),n.getHours(),n.getMinutes()));var i=e.ItemId?e.ItemId:e.ServiceId,a=(reporting.setItemFields(i),getRoomFromBooking(e.GroupId)),s=a?a.Id:bookings.emptyGuid,u=a?a.Name:"",l=o.Profile&&"null"!=o.Profile?$("<div />").html(o.Profile).text():"";reporting.data.push({Category:bookings.resources.Booking,Name:o.Name,Date:n,StartDate:reporting.datepicker.formatDate(bookings.shortDateFormat,n),StartTime:formatEventTime(n),Length:(e.Length/60).toFixed(2),ItemId:i,Type:0,RoomId:s,Room:u,Event:"",Course:"",CourseType:"",Status:e.BookingStatusDisplay,Count:e.NbPlaces,Comments:e.Comment,Notes:l,Organization:o.Organization,LocationName:o.LocationName,MemberSince:o.MemberSinceDate,MembershipName:o.MembershipName,MembershipEnd:o.MembershipEndDate,NotifyEmail:o.Email?o.Email:"",Notify:o.Name,Custom1:o.Custom1,Custom2:o.Custom2,Custom3:o.Custom3,Custom4:o.Custom4,Custom5:o.Custom5,Custom6:o.Custom6,Custom7:o.Custom7,Custom8:o.Custom8,Custom9:o.Custom9,Custom10:o.Custom10,Custom11:o.Custom11,Custom12:o.Custom12,Custom13:o.Custom13,Custom14:o.Custom14,Custom15:o.Custom15,Custom16:o.Custom16,Custom17:o.Custom17,Custom18:o.Custom18,Custom19:o.Custom19,Custom20:o.Custom20,Custom21:o.Custom21,Custom22:o.Custom22,Custom23:o.Custom23,Custom24:o.Custom24,Custom25:o.Custom25,Custom26:o.Custom26,Custom27:o.Custom27,Custom28:o.Custom28,Custom29:o.Custom29,Custom30:o.Custom30})}})),_.each(reporting.calendar.Groups,(function(e){setGroupData(e.Id),_.each(getGroupData(e.Id).events,(function(e){cl=e.instructorId?reporting.getClient(e.instructorId):reporting.getEmptyClient();var o=e.courseName?e.courseName:e.eventName,n=e.courseName?e.courseId:e.eventId,i=convertToDate(e.start),a=e.substituteId?reporting.getClient(e.substituteId):reporting.getEmptyClient(),s=location.origin+"/POS/Widget/"+reporting.company.Id+"?editId="+n+"&hideBookings=true&hideProducts=true"+(e.courseName?"&hideEvents=true&time="+i.getTime():"&hideCourses=true&time="+i.getTime());t<=i&&i<=r&&reporting.data.push({Category:bookings.resources.Schedule,Name:o,Date:i,ItemId:n,Type:3,URL:s,RoomId:e.roomId,Room:e.roomName,Event:e.eventName,Course:e.courseName,CourseType:"",StartDate:reporting.datepicker.formatDate(bookings.shortDateFormat,i),StartTime:formatEventTime(i),Length:((getMinutesOfDay(convertToDate(e.end))-getMinutesOfDay(i))/60).toFixed(2),Status:"",Count:e.places,Comments:"",Notes:"",NotifyEmail:cl.Email,Notify:e.instructor,SubstituteEmail:a.Email,Substitute:e.substitute,Organization:cl.Organization,LocationName:cl.LocationName,MemberSince:cl.MemberSinceDate,MembershipName:cl.MembershipName,MembershipEnd:cl.MembershipEndDate,Custom1:cl.Custom1,Custom2:cl.Custom2,Custom3:cl.Custom3,Custom4:cl.Custom4,Custom5:cl.Custom5,Custom6:cl.Custom6,Custom7:cl.Custom7,Custom8:cl.Custom8,Custom9:cl.Custom9,Custom10:cl.Custom10,Custom11:cl.Custom11,Custom12:cl.Custom12,Custom13:cl.Custom13,Custom14:cl.Custom14,Custom15:cl.Custom15,Custom16:cl.Custom16,Custom17:cl.Custom17,Custom18:cl.Custom18,Custom19:cl.Custom19,Custom20:cl.Custom20,Custom21:cl.Custom21,Custom22:cl.Custom22,Custom23:cl.Custom23,Custom24:cl.Custom24,Custom25:cl.Custom25,Custom26:cl.Custom26,Custom27:cl.Custom27,Custom28:cl.Custom28,Custom29:cl.Custom29,Custom30:cl.Custom30})}))})),_.each(reporting.calendar.Courses,(function(e){var t=_.find(reporting.data,(function(t){return t.ItemId==e.Id}));if(t){cl=e.AlertStaffId?reporting.getClient(e.AlertStaffId):reporting.getEmptyClient();var r=e.AlertStaffId?reporting.getStaffPersonName(e.AlertStaffId):"",o=e.Description&&"null"!=e.Description?$("<div />").html(e.Description).text():"";reporting.data.push({Category:bookings.resources.Class,Name:e.Name,Date:null,ItemId:e.Id,Type:1,RoomId:t.RoomId,Room:"",Event:"",Course:e.Name,CourseType:e.InscriptionDisplay,Status:e.ActiveDisplay,Count:e.NbPlaces,Comments:"",Notes:o,NotifyEmail:cl.Email,Notify:r,Organization:cl.Organization,LocationName:cl.LocationName,MemberSince:cl.MemberSinceDate,MembershipName:cl.MembershipName,MembershipEnd:cl.MembershipEndDate,Custom1:cl.Custom1,Custom2:cl.Custom2,Custom3:cl.Custom3,Custom4:cl.Custom4,Custom5:cl.Custom5,Custom6:cl.Custom6,Custom7:cl.Custom7,Custom8:cl.Custom8,Custom9:cl.Custom9,Custom10:cl.Custom10,Custom11:cl.Custom11,Custom12:cl.Custom12,Custom13:cl.Custom13,Custom14:cl.Custom14,Custom15:cl.Custom15,Custom16:cl.Custom16,Custom17:cl.Custom17,Custom18:cl.Custom18,Custom19:cl.Custom19,Custom20:cl.Custom20,Custom21:cl.Custom21,Custom22:cl.Custom22,Custom23:cl.Custom23,Custom24:cl.Custom24,Custom25:cl.Custom25,Custom26:cl.Custom26,Custom27:cl.Custom27,Custom28:cl.Custom28,Custom29:cl.Custom29,Custom30:cl.Custom30})}})),_.each(reporting.calendar.Events,(function(e){var t=_.find(reporting.data,(function(t){return t.ItemId==e.Id}));if(t){cl=e.AlertStaffId?reporting.getClient(e.AlertStaffId):reporting.getEmptyClient();var r=e.AlertStaffId?reporting.getStaffPersonName(e.AlertStaffId):"",o=e.Description&&"null"!=e.Description?$("<div />").html(e.Description).text():"";reporting.data.push({Category:bookings.resources.Event,Name:e.Name,Date:null,ItemId:e.Id,Type:2,RoomId:t.RoomId,Room:"",Event:e.Name,Course:"",CourseType:"",Status:e.ActiveDisplay,Count:e.NbPlaces,Comments:"",Notes:o,NotifyEmail:cl.Email,Notify:r,Organization:cl.Organization,LocationName:cl.LocationName,MemberSince:cl.MemberSinceDate,MembershipName:cl.MembershipName,MembershipEnd:cl.MembershipEndDate,Custom1:cl.Custom1,Custom2:cl.Custom2,Custom3:cl.Custom3,Custom4:cl.Custom4,Custom5:cl.Custom5,Custom6:cl.Custom6,Custom7:cl.Custom7,Custom8:cl.Custom8,Custom9:cl.Custom9,Custom10:cl.Custom10,Custom11:cl.Custom11,Custom12:cl.Custom12,Custom13:cl.Custom13,Custom14:cl.Custom14,Custom15:cl.Custom15,Custom16:cl.Custom16,Custom17:cl.Custom17,Custom18:cl.Custom18,Custom19:cl.Custom19,Custom20:cl.Custom20,Custom21:cl.Custom21,Custom22:cl.Custom22,Custom23:cl.Custom23,Custom24:cl.Custom24,Custom25:cl.Custom25,Custom26:cl.Custom26,Custom27:cl.Custom27,Custom28:cl.Custom28,Custom29:cl.Custom29,Custom30:cl.Custom30})}})),reporting.generateReport()}))},getAttendanceReportData:function(e,t,r){reporting.currentReportType=reporting.reportTypes.Attendance,ajaxServerCall("Reporting","GetAttendanceReportData",{localStartDate:e,localEndDate:t,includeBookings:r},(function(e){reporting.data=[],_.each(e.bookings,(function(e){var t=reporting.getFilteredClient(e.UserId);if(t){var r=setOffsetDate(convertToDate(e.StartTime)),o=e.ItemId?e.ItemId:e.ServiceId,n=reporting.setItemFields(o);reporting.data.push({Title:e.Title,Date:r,Count:e.NbPlaces,ItemId:o,ItemName:n.Name,ItemDescription:n.Desc,GroupId:e.GroupId,Location:t.Location,InternalId:t.InternalId,FirstName:t.FirstName,LastName:t.LastName,Email:t.Email,Phone:t.Phone,DOB:t.DOBDate,Gender:t.GenderText,Organization:t.Organization,LocationName:t.LocationName,MemberSince:t.MemberSinceDate,Quantity:e.NbPlaces,AddressLine:t.AddressLine,City:t.City,Postal_Zip:t.Postal_Zip,Province_State:t.Province_State,MembershipName:t.MembershipName,MembershipEnd:t.MembershipEndDate,Custom1:t.Custom1,Custom2:t.Custom2,Custom3:t.Custom3,Custom4:t.Custom4,Custom5:t.Custom5,Custom6:t.Custom6,Custom7:t.Custom7,Custom8:t.Custom8,Custom9:t.Custom9,Custom10:t.Custom10,Custom11:t.Custom11,Custom12:t.Custom12,Custom13:t.Custom13,Custom14:t.Custom14,Custom15:t.Custom15,Custom16:t.Custom16,Custom17:t.Custom17,Custom18:t.Custom18,Custom19:t.Custom19,Custom20:t.Custom20,Custom21:t.Custom21,Custom22:t.Custom22,Custom23:t.Custom23,Custom24:t.Custom24,Custom25:t.Custom25,Custom26:t.Custom26,Custom27:t.Custom27,Custom28:t.Custom28,Custom29:t.Custom29,Custom30:t.Custom30})}})),_.each(e.classes,(function(e){var t=reporting.getFilteredClient(e.ClientId),r=reporting.getGroupForCourse(e.CourseId);t&&_.each(e.Dates,(function(o){var n=setOffsetDate(convertToDate(o)),i=reporting.setItemFields(e.CourseId);reporting.data.push({Title:e.Name,Date:n,Count:1,ItemId:e.CourseId,ItemName:i.Name,ItemDescription:i.Desc,GroupId:r,Location:t.Location,InternalId:t.InternalId,FirstName:t.FirstName,LastName:t.LastName,Email:t.Email,Phone:t.Phone,DOB:t.DOBDate,Gender:t.GenderText,Organization:t.Organization,LocationName:t.LocationName,MemberSince:t.MemberSinceDate,AddressLine:t.AddressLine,City:t.City,Postal_Zip:t.Postal_Zip,Province_State:t.Province_State,MembershipName:t.MembershipName,MembershipEnd:t.MembershipEndDate,Custom1:t.Custom1,Custom2:t.Custom2,Custom3:t.Custom3,Custom4:t.Custom4,Custom5:t.Custom5,Custom6:t.Custom6,Custom7:t.Custom7,Custom8:t.Custom8,Custom9:t.Custom9,Custom10:t.Custom10,Custom11:t.Custom11,Custom12:t.Custom12,Custom13:t.Custom13,Custom14:t.Custom14,Custom15:t.Custom15,Custom16:t.Custom16,Custom17:t.Custom17,Custom18:t.Custom18,Custom19:t.Custom19,Custom20:t.Custom20,Custom21:t.Custom21,Custom22:t.Custom22,Custom23:t.Custom23,Custom24:t.Custom24,Custom25:t.Custom25,Custom26:t.Custom26,Custom27:t.Custom27,Custom28:t.Custom28,Custom29:t.Custom29,Custom30:t.Custom30})}))})),reporting.generateAttendanceReport()}))},getEmailReportData:function(e,t,r){reporting.currentReportType=reporting.reportTypes.EmailCampaign,ajaxServerCall("Reporting","GetEmailData",{localStartDate:e,localEndDate:t},(function(e){reporting.data=[],_.each(e.emails,(function(e){reporting.getFilteredClient(e.UserId)&&reporting.data.push({Type:e.Type,ToEmail:e.ToEmail,ToName:e.ToName,Status:e.Status,Clks:e.Clks,Campaign:e.Campaign,CreatedDate:setOffsetDate(convertToDate(e.CreatedDate)),LastActivityDate:setOffsetDate(convertToDate(e.LastActivityDate)),Unsubscribe:!1})})),"EmailClicks"==r?reporting.generateEmailClicksChart():reporting.generateEmailChart()}))},applyLocationFilter:function(){var e=$("#LocationId").val();if(e&&e!=bookings.emptyGuid&&e!=bookings.membershipGuid||(e=reporting.officeId),reporting.data&&reporting.data.length>0&&reporting.locations.length>1&&e&&e!=bookings.emptyGuid){var t=_.find(reporting.locations,(function(t){return t.value==e}));t&&(reporting.data=_.reject(reporting.data,(function(e){return e.Location!=t.value&&!_.contains(t.groups,e.GroupId)})))}},getGroupForRoom:function(e){var t=_.find(reporting.calendar.Schedules,(function(t){return t.ScheduleRoomId==e&&!t.Off}));return t?t.ScheduleGroupId:bookings.emptyGuid},getGroupForCourse:function(e){var t=_.find(reporting.calendar.Schedules,(function(t){return t.ScheduleCourseId==e&&!t.Off}));return t?t.ScheduleGroupId:bookings.emptyGuid},getCoursesForRoom:function(e){return _.filter(reporting.calendar.Schedules,(function(t){return t.ScheduleRoomId==e&&!t.Off&&t.ScheduleCourseId}))},getMinutesAvailableForRoom:function(e,t,r){var o=e.getTime(),n=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),i=_.find(reporting.calendar.Schedules,(function(i){return i.ScheduleGroupId==t&&!i.Off&&i.ScheduleRoomId==r&&!i.ScheduleCourseId&&!i.ScheduleEventId&&hasDay(e.getDay(),i.DaysOfWeek)>0&&convertToDate(i.StartDate).getTime()<=o&&(null==i.EndDate||o<convertToDate(i.EndDate).getTime()||n==convertToDate(i.EndDate).getTime())}));return i?Math.abs(Math.floor((convertToDate(i.EndTime)-convertToDate(i.StartTime))/36e5*60)):0},initEvents:function(){reporting.container.on("mouseover",".distributionName,.autoCompleteDistribution",(function(){var e=$(this).closest("div");e.hasClass("setDistLoc")||(e.addClass("setDistLoc"),reporting.setDistributionSelection(e))})),reporting.container.on("click",".v-generateReport",(function(){$(".validation-summary-errors",reporting.container).hide();var e=$("#StartDate").val(),t=$("#EndDate").val(),r=$("#ReportType").val(),o=null;switch(r){case"Attendance":case"Visitors":o=function(){reporting.getAttendanceReportData(e,t,"Visitors"==r)};break;case"Calendar":reporting.ensureStaffList(),o=function(){reporting.getCalendarReportData(e,t)};break;case"Dues":o=function(){reporting.generateDuesReport()};break;case"EmailCampaign":case"EmailClicks":case"RenewalNotification":o=function(){reporting.getEmailReportData(e,t,r)};break;case"EFT_Transactions":o=function(){reporting.getEFTReportData(e,t)};break;case"Families":o=function(){reporting.generateFamiliesReport()};break;case"Forms":o=function(){reporting.getFormReportData(e,t)};break;case"Inventory":o=function(){reporting.generateInventoryReport()};break;case"Members":o=function(){reporting.generateMembersReport()};break;case"Memberships":o=function(){reporting.getMembershipReportData(e,t)};break;case"Receivables":o=function(){reporting.getReceivablesReportData(e,t)};break;case"Refunds":o=function(){reporting.getRefundsReportData(e,t)};break;default:o=function(){reporting.getItemsReportData(e,t,"Sales"==r||"Earnings"==r||"Fundraiser"==r)}}var n=$("#DistributionId").val();reporting.distId=n,!n||n==bookings.emptyGuid||reporting.distId==n&&reporting.distUsers.lenght>0?o():ajaxServerCall("Email","GetDistributionUsers",{id:n},(function(e){reporting.distUsers=JSON.parse(e.value),reporting.distId=n,o()}))})),reporting.container.on("change","#StartDate,#EndDate",(function(){reporting.toggleExport(!1);var e=formatToDate($("#StartDate").val()),t=formatToDate($("#EndDate").val());reporting.setDateCategories(e,t)})),reporting.container.on("change","#DatePeriodType",(function(){reporting.toggleExport(!1);var e=$(this).val(),t=new Date,r=formatToDate($("#StartDate").val()),o=formatToDate($("#EndDate").val());switch(e){case"CurrentMonth":r=new Date(t.getFullYear(),t.getMonth(),1),o=new Date(t.getFullYear(),t.getMonth()+1,0);break;case"CurrentYear":r=new Date(t.getFullYear(),0,1),o=t;break;case"Custom":break;case"Last3Months":(r=new Date(t.getFullYear(),t.getMonth(),1)).setMonth(r.getMonth()-3),o=t;break;case"Last4Weeks":(r=new Date).setDate(t.getDate()-28),o=t;break;case"Last6Months":(r=new Date(t.getFullYear(),t.getMonth(),1)).setMonth(r.getMonth()-6),o=t;break;case"LastMonth":r=new Date(t.getFullYear(),t.getMonth()-1,1),o=new Date(t.getFullYear(),t.getMonth(),0);break;case"LastYear":r=new Date(t.getFullYear()-1,0,1),o=new Date(t.getFullYear(),0,0)}var n="Custom"==e;reporting.setDateCategories(r,o),$("#StartDate").datepicker("setDate",r),$("#EndDate").datepicker("setDate",o),$("#StartDate").attr("disabled",!n),$("#EndDate").attr("disabled",!n)})),reporting.container.on("change","#ReportType",(function(){$(".validation-summary-errors",reporting.container).hide(),reporting.toggleExport(!1);var e=$(this).val();switch(e){case"Attendance":reporting.currentSources=_.reject(reporting.sources,(function(e){return!e.isCourse}));break;case"Bookings":reporting.currentSources=_.reject(reporting.sources,(function(e){return""==e.value||e.value==bookings.productGuid||e.parentId==bookings.productGuid||e.isProduct}));break;case"Calendar":reporting.currentSources=_.reject(reporting.sources,(function(e){return""!==e.value&&!e.isRoom}));break;case"EmailCampaign":case"EmailClicks":reporting.setCampaignAutoComplete();break;case"Forms":reporting.ensureFormList(),reporting.currentSources=_.reject(reporting.sources,(function(e){return e.parentId!=bookings.formsGuid}));break;case"Fundraiser":reporting.currentSources=_.reject(reporting.sources,(function(e){return e.parentId!=bookings.fundraiserGuid}));break;case"Registrations":reporting.currentSources=_.reject(reporting.sources,(function(e){return""==e.value||e.value==bookings.productGuid||e.parentId==bookings.productGuid||e.isRoom}));break;case"RoomUtilization":case"Visitors":reporting.currentSources=_.reject(reporting.sources,(function(e){return!e.isRoom}));break;default:reporting.currentSources=reporting.sources}var t="Dues"!=e&&"Inventory"!=e&&"Members"!=e&&"Families"!=e,r="EmailCampaign"!=e&&"EmailClicks"!=e&&"RenewalNotification"!=e&&"EFT_Transactions"!=e&&"Memberships"!=e;$(".distSelection",reporting.container).toggle("Inventory"!=e&&"RenewalNotification"!=e&&"EFT_Transactions"!=e&&"Memberships"!=e),$(".itemSelection",reporting.container).toggle(r&&t),$(".locSelection",reporting.container).toggle(r),$(".dateSelection",reporting.container).toggle(t),$(".eftReport",reporting.container).toggle("EFT_Transactions"==e),$(".emailCampaign",reporting.container).toggle("EmailCampaign"==e||"EmailClicks"==e),$(".fieldSelection",reporting.container).toggle("Members"==e),r&&reporting.setViewAutocomplete()})),reporting.container.on("click",".h-createReport",(function(){var e=$("#createReportContainer"),t=e.attr("data-title");$(".reportName",e).val("");var r=null,o=[{text:bookings.resources.Cancel,class:"dialogCancel",click:function(){r.dialog("close")}},{text:bookings.resources.Confirm,class:"dialogConfirm",click:function(){var t=$(".reportName",e).val();if(t&&""!=t){var o=$("#DatePeriodType").val(),n="Custom"!=o?null:$("#StartDate").val(),i="Custom"!=o?null:$("#EndDate").val(),a={name:t,officeId:$("#ReportOfficeId").val(),type:$("#ReportType").val(),period:$("#DatePeriodType").val(),startDate:n,endDate:i,items:$("#TypeItemId").val(),distributionId:$("#DistributionId").val(),locationId:$("#LocationId").val(),itemName:$(".campaignName").val(),currency:$("#Currency").val(),fields:$("#FieldName").val()};ajaxServerCall("Reporting","CreateReport",a,(function(e){r.dialog("close"),addSuccessMessage(reporting.container,e.message),$("html, body").animate({scrollTop:reporting.container.offset().top-100},1e3)}),(function(){r.dialog("close")}))}else addErrorMessage(e,e.attr("data-error"))}}];(r=e.dialog({modal:!0,title:t,resizable:!1,close:function(){e.dialog("destroy"),e.hide()},width:550,height:420,buttons:o})).on("click",".autoCompleteButton",(function(){var e=$(this).siblings("input:visible:first");e.autocomplete("search",""),e.focus()})),r.show()})),reporting.container.on("click",".h-deleteReport",(function(){var e=$(".reportNameSelect").attr("data-id"),t=$(".reportNameSelect").val(),r=$("#deleteReportContainer");r.html(r.attr("data-content").replace("{0}",t)),bookings.openConfirmDialog(r,r.attr("data-title"),(function(){ajaxServerCall("Reporting","DeleteReport",{reportId:e,name:t},(function(t){t.success?(reporting.reports=_.reject(reporting.reports,(function(t){return t.Id==e})),reporting.setReportAutoComplete(),$(".reportNameSelect").val("").attr("data-id",""),$(".h-deleteReport").css("display","none"),addSuccessMessage(reporting.container,t.message)):addErrorMessage(reporting.container,t.message)}),(function(e){addErrorMessage(reporting.container,e)}))}),400,250)})),$(document).on("click",".h-exportReport",(function(){var e=$("#ReportType").val();showProgress();var t=reporting.getExportData();switch(e){case"Calendar":ajaxServerCall("Reporting","ExportReportingCalendar",{data:JSON.stringify(t),fieldsData:JSON.stringify(reporting.company.ClientFields)},(function(e){window.location="/Reporting/GetExportReportingFile?filename="+e,hideProgress()}));break;case"Dues":case"Members":ajaxServerCall("Reporting","ExportMembers",{data:JSON.stringify(t),fieldsData:JSON.stringify(reporting.company.ClientFields)},(function(e){window.location="/Reporting/GetMembersFile?filename="+e,hideProgress()}));break;case"Families":ajaxServerCall("Reporting","ExportFamilies",{data:JSON.stringify(t),fieldsData:JSON.stringify(reporting.company.ClientFields)},(function(e){window.location="/Reporting/GetFamiliesFile?filename="+e,hideProgress()}));break;case"Inventory":ajaxServerCall("Reporting","ExportInventory",{data:JSON.stringify(t)},(function(e){window.location="/Reporting/GetInventoryFile?filename="+e,hideProgress()}));break;case"Memberships":ajaxServerCall("Reporting","ExportMemberships",{data:JSON.stringify(t),fieldsData:JSON.stringify(reporting.company.ClientFields)},(function(e){window.location="/Reporting/GetMembershipsFile?filename="+e,hideProgress()}));break;case"EmailCampaign":case"EmailClicks":case"RenewalNotification":ajaxServerCall("Reporting","ExportEmailReporting",{data:JSON.stringify(t)},(function(e){window.location="/Reporting/GetExportEmailReportingFile?filename="+e,hideProgress()}));break;default:var r=$("#TypeItemId").val(),o="Bookings"==e;ajaxServerCall("Reporting","ExportReporting",{data:JSON.stringify(t),fieldsData:JSON.stringify(reporting.company.ClientFields),items:r,isBookings:o},(function(e){window.location="/Reporting/GetExportReportingFile?filename="+e,hideProgress()}))}}))}};$(document).ready((function(){reporting.container=$("#reportingContainer"),reporting.container.length>0&&(reporting.canDelete="True"==$("#CanDelete").val(),reporting.viewDues="True"==$("#ViewDues").val(),reporting.viewEmails="True"==$("#ViewEmails").val(),reporting.viewBookings="True"==$("#ViewBookings").val(),reporting.viewSales="True"==$("#ViewSales").val(),reporting.viewMembers="True"==$("#ViewMembers").val(),reporting.viewForms="True"==$("#ViewForms").val(),reporting.viewInventory="True"==$("#ViewInventory").val(),reporting.viewRefunds="True"==$("#ViewRefunds").val(),reporting.company=JSON.parse($("#companyData",reporting.container).val()),reporting.calendar=JSON.parse($("#calendarData",reporting.container).val()),reporting.reportId=$("#reportId").val(),reporting.officeId=$("#officeId").val(),reporting.isAPI="true"==$("#isAPI",reporting.container).val(),reporting.isAdmin="true"==$("#isAdmin",reporting.container).val(),reporting.datepicker=$.datepicker.setDefaults($.datepicker.regional[bookings.culture]),reporting.getData(),reporting.initEvents(),reporting.reportId?($("#header,#rightHeader,.buttonContainer,footer,.side-menu,.title-bar").hide(),$(".reportNameSelect").data("ui-autocomplete")._trigger("select","autocompleteselect",{item:{value:reporting.reportId}})):$("#ReportType").trigger("change"))}));
