PageSourceSearch

https://www.newageath.com/min/?b=js&v=3eb04ed56eb4&f=library/intl-…duleBookingManager.js,manager/signatures.js

js newageath.com collected 2026-09-24 14:48:45 UTC 305,627 bytes, 703 lines download raw bytes

1(()=>{var W=function(e,t){return W=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},W(e,t)};function w(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");W(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var c=function(){return c=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},c.apply(this,arguments)};function ae(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function V(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function j(e,t){var n=t&&t.cache?t.cache:Ue,r=t&&t.serializer?t.serializer:Ge,i=t&&t.strategy?t.strategy:Ce;return i(e,{cache:n,serializer:r})}function Oe(e){return e==null||typeof e=="number"||typeof e=="boolean"}function se(e,t,n,r){var i=Oe(r)?r:n(r),o=t.get(i);return typeof o>"u"&&(o=e.call(this,r),t.set(i,o)),o}function he(e,t,n){var r=Array.prototype.slice.call(arguments,3),i=n(r),o=t.get(i);return typeof o>"u"&&(o=e.apply(this,r),t.set(i,o)),o}function Z(e,t,n,r,i){return n.bind(t,e,r,i)}function Ce(e,t){var n=e.length===1?se:he;return Z(e,this,n,t.cache.create(),t.serializer)}function Re(e,t){return Z(e,this,he,t.cache.create(),t.serializer)}function Me(e,t){return Z(e,this,se,t.cache.create(),t.serializer)}var Ge=function(){return JSON.stringify(arguments)},De=function(){function e(){this.cache=Object.create(null)}return e.prototype.get=function(t){return this.cache[t]},e.prototype.set=function(t,n){this.cache[t]=n},e}(),Ue={create:function(){return new De}},X={variadic:Re,monadic:Me};var l;(function(e){e[e.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",e[e.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",e[e.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",e[e.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",e[e.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",e[e.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",e[e.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",e[e.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",e[e.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",e[e.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",e[e.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",e[e.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",e[e.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",e[e.INVALID_TAG=23]="INVALID_TAG",e[e.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",e[e.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",e[e.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(l||(l={}));var b;(function(e){e[e.literal=0]="literal",e[e.argument=1]="argument",e[e.number=2]="number",e[e.date=3]="date",e[e.time=4]="time",e[e.select=5]="select",e[e.plural=6]="plural",e[e.pound=7]="pound",e[e.tag=8]="tag"})(b||(b={}));var T;(function(e){e[e.number=0]="number",e[e.dateTime=1]="dateTime"})(T||(T={}));function z(e){return e.type===b.literal}function Y(e){return e.type===b.argument}function N(e){return e.type===b.number}function I(e){return e.type===b.date}function L(e){return e.type===b.time}function O(e){return e.type===b.select}function C(e){return e.type===b.plural}function ue(e){return e.type===b.pound}function R(e){return e.type===b.tag}function k(e){return!!(e&&typeof e=="object"&&e.type===T.number)}function M(e){return!!(e&&typeof e=="object"&&e.type===T.dateTime)}var J=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/;
vendor: 25,399 bytes, line 1
1var Fe=/(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;function fe(e){var t={};return e.replace(Fe,function(n){var r=n.length;switch(n[0]){case"G":t.era=r===4?"long":r===5?"narrow":"short";break;case"y":t.year=r===2?"2-digit":"numeric";break;case"Y":case"u":case"U":case"r":throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");case"q":case"Q":throw new RangeError("`q/Q` (quarter) patterns are not supported");case"M":case"L":t.month=["numeric","2-digit","short","long","narrow"][r-1];break;case"w":case"W":throw new RangeError("`w/W` (week) patterns are not supported");case"d":t.day=["numeric","2-digit"][r-1];break;case"D":case"F":case"g":throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");case"E":t.weekday=r===4?"long":r===5?"narrow":"short";break;case"e":if(r<4)throw new RangeError("`e..eee` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][r-4];break;case"c":if(r<4)throw new RangeError("`c..ccc` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][r-4];break;case"a":t.hour12=!0;break;case"b":case"B":throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");case"h":t.hourCycle="h12",t.hour=["numeric","2-digit"][r-1];break;case"H":t.hourCycle="h23",t.hour=["numeric","2-digit"][r-1];break;case"K":t.hourCycle="h11",t.hour=["numeric","2-digit"][r-1];break;case"k":t.hourCycle="h24",t.hour=["numeric","2-digit"][r-1];break;case"j":case"J":case"C":throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");case"m":t.minute=["numeric","2-digit"][r-1];break;case"s":t.second=["numeric","2-digit"][r-1];break;case"S":case"A":throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead");case"z":t.timeZoneName=r<4?"short":"long";break;case"Z":case"O":case"v":case"V":case"X":case"x":throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return""}),t}var le=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;function xe(e){if(e.length===0)throw new Error("Number skeleton cannot be empty");for(var t=e.split(le).filter(function(f){return f.length>0}),n=[],r=0,i=t;r<i.length;r++){var o=i[r],a=o.split("/");if(a.length===0)throw new Error("Invalid number skeleton");for(var h=a[0],x=a.slice(1),u=0,s=x;u<s.length;u++){var m=s[u];if(m.length===0)throw new Error("Invalid number skeleton")}n.push({stem:h,options:x})}return n}function Ve(e){return e.replace(/^(.*?)-/,"")}var ce=/^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g,be=/^(@+)?(\+|#+)?[rs]?$/g,je=/(\*)(0+)|(#+)(0+)|(0+)/g,Ee=/^(0+)$/;function pe(e){var t={};return e[e.length-1]==="r"?t.roundingPriority="morePrecision":e[e.length-1]==="s"&&(t.roundingPriority="lessPrecision"),e.replace(be,function(n,r,i){return typeof i!="string"?(t.minimumSignificantDigits=r.length,t.maximumSignificantDigits=r.length):i==="+"?t.minimumSignificantDigits=r.length:r[0]==="#"?t.maximumSignificantDigits=r.length:(t.minimumSignificantDigits=r.length,t.maximumSignificantDigits=r.length+(typeof i=="string"?i.length:0)),""}),t}function ye(e){switch(e){case"sign-auto":return{signDisplay:"auto"};case"sign-accounting":case"()":return{currencySign:"accounting"};case"sign-always":case"+!":return{signDisplay:"always"};case"sign-accounting-always":case"()!":return{signDisplay:"always",currencySign:"accounting"};case"sign-except-zero":case"+?":return{signDisplay:"exceptZero"};case"sign-accounting-except-zero":case"()?":return{signDisplay:"exceptZero",currencySign:"accounting"};case"sign-never":case"+_":return{signDisplay:"never"}}}function Xe(e){var t;if(e[0]==="E"&&e[1]==="E"?(t={notation:"engineering"},e=e.slice(2)):e[0]==="E"&&(t={notation:"scientific"},e=e.slice(1)),t){var n=e.slice(0,2);if(n==="+!"?(t.signDisplay="always",e=e.slice(2)):n==="+?"&&(t.signDisplay="exceptZero",e=e.slice(2)),!Ee.test(e))throw new Error("Malformed concise eng/scientific notation");t.minimumIntegerDigits=e.length}return t}function me(e){var t={},n=ye(e);return n||t}function ve(e){for(var t={},n=0,r=e;n<r.length;n++){var i=r[n];switch(i.stem){case"percent":case"%":t.style="percent";continue;case"%x100":t.style="percent",t.scale=100;continue;case"currency":t.style="currency",t.currency=i.options[0];continue;case"group-off":case",_":t.useGrouping=!1;continue;case"precision-integer":case".":t.maximumFractionDigits=0;continue;case"measure-unit":case"unit":t.style="unit",t.unit=Ve(i.options[0]);continue;case"compact-short":case"K":t.notation="compact",t.compactDisplay="short";continue;case"compact-long":case"KK":t.notation="compact",t.compactDisplay="long";continue;case"scientific":t=c(c(c({},t),{notation:"scientific"}),i.options.reduce(function(x,u){return c(c({},x),me(u))},{}));continue;case"engineering":t=c(c(c({},t),{notation:"engineering"}),i.options.reduce(function(x,u){return c(c({},x),me(u))},{}));continue;case"notation-simple":t.notation="standard";continue;case"unit-width-narrow":t.currencyDisplay="narrowSymbol",t.unitDisplay="narrow";continue;case"unit-width-short":t.currencyDisplay="code",t.unitDisplay="short";continue;case"unit-width-full-name":t.currencyDisplay="name",t.unitDisplay="long";continue;case"unit-width-iso-code":t.currencyDisplay="symbol";continue;case"scale":t.scale=parseFloat(i.options[0]);continue;case"rounding-mode-floor":t.roundingMode="floor";continue;case"rounding-mode-ceiling":t.roundingMode="ceil";continue;case"rounding-mode-down":t.roundingMode="trunc";continue;case"rounding-mode-up":t.roundingMode="expand";continue;case"rounding-mode-half-even":t.roundingMode="halfEven";continue;case"rounding-mode-half-down":t.roundingMode="halfTrunc";continue;case"rounding-mode-half-up":t.roundingMode="halfExpand";continue;case"integer-width":if(i.options.length>1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(je,function(x,u,s,m,f,E){if(u)t.minimumIntegerDigits=s.length;else{if(m&&f)throw new Error("We currently do not support maximum integer digits");if(E)throw new Error("We currently do not support exact integer digits")}return""});continue}if(Ee.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(ce.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(ce,function(x,u,s,m,f,E){return s==="*"?t.minimumFractionDigits=u.length:m&&m[0]==="#"?t.maximumFractionDigits=m.length:f&&E?(t.minimumFractionDigits=f.length,t.maximumFractionDigits=f.length+E.length):(t.minimumFractionDigits=u.length,t.maximumFractionDigits=u.length),""});var o=i.options[0];o==="w"?t=c(c({},t),{trailingZeroDisplay:"stripIfInteger"}):o&&(t=c(c({},t),pe(o)));continue}if(be.test(i.stem)){t=c(c({},t),pe(i.stem));continue}var a=ye(i.stem);a&&(t=c(c({},t),a));var h=Xe(i.stem);h&&(t=c(c({},t),h))}return t}var G={"001":["H","h"],419:["h","H","hB","hb"],AC:["H","h","hb","hB"],AD:["H","hB"],AE:["h","hB","hb","H"],AF:["H","hb","hB","h"],AG:["h","hb","H","hB"],AI:["H","h","hb","hB"],AL:["h","H","hB"],AM:["H","hB"],AO:["H","hB"],AR:["h","H","hB","hb"],AS:["h","H"],AT:["H","hB"],AU:["h","hb","H","hB"],AW:["H","hB"],AX:["H"],AZ:["H","hB","h"],BA:["H","hB","h"],BB:["h","hb","H","hB"],BD:["h","hB","H"],BE:["H","hB"],BF:["H","hB"],BG:["H","hB","h"],BH:["h","hB","hb","H"],BI:["H","h"],BJ:["H","hB"],BL:["H","hB"],BM:["h","hb","H","hB"],BN:["hb","hB","h","H"],BO:["h","H","hB","hb"],BQ:["H"],BR:["H","hB"],BS:["h","hb","H","hB"],BT:["h","H"],BW:["H","h","hb","hB"],BY:["H","h"],BZ:["H","h","hb","hB"],CA:["h","hb","H","hB"],CC:["H","h","hb","hB"],CD:["hB","H"],CF:["H","h","hB"],CG:["H","hB"],CH:["H","hB","h"],CI:["H","hB"],CK:["H","h","hb","hB"],CL:["h","H","hB","hb"],CM:["H","h","hB"],CN:["H","hB","hb","h"],CO:["h","H","hB","hb"],CP:["H"],CR:["h","H","hB","hb"],CU:["h","H","hB","hb"],CV:["H","hB"],CW:["H","hB"],CX:["H","h","hb","hB"],CY:["h","H","hb","hB"],CZ:["H"],DE:["H","hB"],DG:["H","h","hb","hB"],DJ:["h","H"],DK:["H"],DM:["h","hb","H","hB"],DO:["h","H","hB","hb"],DZ:["h","hB","hb","H"],EA:["H","h","hB","hb"],EC:["h","H","hB","hb"],EE:["H","hB"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],ER:["h","H"],ES:["H","hB","h","hb"],ET:["hB","hb","h","H"],FI:["H"],FJ:["h","hb","H","hB"],FK:["H","h","hb","hB"],FM:["h","hb","H","hB"],FO:["H","h"],FR:["H","hB"],GA:["H","hB"],GB:["H","h","hb","hB"],GD:["h","hb","H","hB"],GE:["H","hB","h"],GF:["H","hB"],GG:["H","h","hb","hB"],GH:["h","H"],GI:["H","h","hb","hB"],GL:["H","h"],GM:["h","hb","H","hB"],GN:["H","hB"],GP:["H","hB"],GQ:["H","hB","h","hb"],GR:["h","H","hb","hB"],GT:["h","H","hB","hb"],GU:["h","hb","H","hB"],GW:["H","hB"],GY:["h","hb","H","hB"],HK:["h","hB","hb","H"],HN:["h","H","hB","hb"],HR:["H","hB"],HU:["H","h"],IC:["H","h","hB","hb"],ID:["H"],IE:["H","h","hb","hB"],IL:["H","hB"],IM:["H","h","hb","hB"],IN:["h","H"],IO:["H","h","hb","hB"],IQ:["h","hB","hb","H"],IR:["hB","H"],IS:["H"],IT:["H","hB"],JE:["H","h","hb","hB"],JM:["h","hb","H","hB"],JO:["h","hB","hb","H"],JP:["H","K","h"],KE:["hB","hb","H","h"],KG:["H","h","hB","hb"],KH:["hB","h","H","hb"],KI:["h","hb","H","hB"],KM:["H","h","hB","hb"],KN:["h","hb","H","hB"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],KW:["h","hB","hb","H"],KY:["h","hb","H","hB"],KZ:["H","hB"],LA:["H","hb","hB","h"],LB:["h","hB","hb","H"],LC:["h","hb","H","hB"],LI:["H","hB","h"],LK:["H","h","hB","hb"],LR:["h","hb","H","hB"],LS:["h","H"],LT:["H","h","hb","hB"],LU:["H","h","hB"],LV:["H","hB","hb","h"],LY:["h","hB","hb","H"],MA:["H","h","hB","hb"],MC:["H","hB"],MD:["H","hB"],ME:["H","hB","h"],MF:["H","hB"],MG:["H","h"],MH:["h","hb","H","hB"],MK:["H","h","hb","hB"],ML:["H"],MM:["hB","hb","H","h"],MN:["H","h","hb","hB"],MO:["h","hB","hb","H"],MP:["h","hb","H","hB"],MQ:["H","hB"],MR:["h","hB","hb","H"],MS:["H","h","hb","hB"],MT:["H","h"],MU:["H","h"],MV:["H","h"],MW:["h","hb","H","hB"],MX:["h","H","hB","hb"],MY:["hb","hB","h","H"],MZ:["H","hB"],NA:["h","H","hB","hb"],NC:["H","hB"],NE:["H"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NI:["h","H","hB","hb"],NL:["H","hB"],NO:["H","h"],NP:["H","h","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],NZ:["h","hb","H","hB"],OM:["h","hB","hb","H"],PA:["h","H","hB","hb"],PE:["h","H","hB","hb"],PF:["H","h","hB"],PG:["h","H"],PH:["h","hB","hb","H"],PK:["h","hB","H"],PL:["H","h"],PM:["H","hB"],PN:["H","h","hb","hB"],PR:["h","H","hB","hb"],PS:["h","hB","hb","H"],PT:["H","hB"],PW:["h","H"],PY:["h","H","hB","hb"],QA:["h","hB","hb","H"],RE:["H","hB"],RO:["H","hB"],RS:["H","hB","h"],RU:["H"],RW:["H","h"],SA:["h","hB","hb","H"],SB:["h","hb","H","hB"],SC:["H","h","hB"],SD:["h","hB","hb","H"],SE:["H"],SG:["h","hb","H","hB"],SH:["H","h","hb","hB"],SI:["H","hB"],SJ:["H"],SK:["H"],SL:["h","hb","H","hB"],SM:["H","h","hB"],SN:["H","h","hB"],SO:["h","H"],SR:["H","hB"],SS:["h","hb","H","hB"],ST:["H","hB"],SV:["h","H","hB","hb"],SX:["H","h","hb","hB"],SY:["h","hB","hb","H"],SZ:["h","hb","H","hB"],TA:["H","h","hb","hB"],TC:["h","hb","H","hB"],TD:["h","H","hB"],TF:["H","h","hB"],TG:["H","hB"],TH:["H","h"],TJ:["H","h"],TL:["H","hB","hb","h"],TM:["H","h"],TN:["h","hB","hb","H"],TO:["h","H"],TR:["H","hB"],TT:["h","hb","H","hB"],TW:["hB","hb","h","H"],TZ:["hB","hb","H","h"],UA:["H","hB","h"],UG:["hB","hb","H","h"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],UY:["h","H","hB","hb"],UZ:["H","hB","h"],VA:["H","h","hB"],VC:["h","hb","H","hB"],VE:["h","H","hB","hb"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],VN:["H","h"],VU:["h","H"],WF:["H","hB"],WS:["h","H"],XK:["H","hB","h"],YE:["h","hB","hb","H"],YT:["H","hB"],ZA:["H","h","hb","hB"],ZM:["h","hb","H","hB"],ZW:["H","h"],"af-ZA":["H","h","hB","hb"],"ar-001":["h","hB","hb","H"],"ca-ES":["H","h","hB"],"en-001":["h","hb","H","hB"],"en-HK":["h","hb","H","hB"],"en-IL":["H","h","hb","hB"],"en-MY":["h","hb","H","hB"],"es-BR":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"gu-IN":["hB","hb","h","H"],"hi-IN":["hB","h","H"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],"ta-IN":["hB","h","hb","H"],"te-IN":["hB","h","H"],"zu-ZA":["H","hB","hb","h"]};function ge(e,t){for(var n="",r=0;r<e.length;r++){var i=e.charAt(r);if(i==="j"){for(var o=0;r+1<e.length&&e.charAt(r+1)===i;)o++,r++;var a=1+(o&1),h=o<2?1:3+(o>>1),x="a",u=ke(t);for((u=="H"||u=="k")&&(h=0);h-- >0;)n+=x;for(;a-- >0;)n=u+n}else i==="J"?n+="H":n+=i}return n}function ke(e){var t=e.hourCycle;if(t===void 0&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var n=e.language,r;n!=="root"&&(r=e.maximize().region);var i=G[r||""]||G[n||""]||G["".concat(n,"-001")]||G["001"];return i[0]}var Q,We=new RegExp("^".concat(J.source,"*")),Ze=new RegExp("".concat(J.source,"*$"));function p(e,t){return{start:e,end:t}}var ze=!!String.prototype.startsWith&&"_a".startsWith("a",1),Ye=!!String.fromCodePoint,Je=!!Object.fromEntries,Qe=!!String.prototype.codePointAt,qe=!!String.prototype.trimStart,$e=!!String.prototype.trimEnd,Ke=!!Number.isSafeInteger,et=Ke?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},$=!0;try{de=Se("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),$=((Q=de.exec("a"))===null||Q===void 0?void 0:Q[0])==="a"}catch{$=!1}var de,_e=ze?function(t,n,r){return t.startsWith(n,r)}:function(t,n,r){return t.slice(r,r+n.length)===n},K=Ye?String.fromCodePoint:function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var r="",i=t.length,o=0,a;i>o;){if(a=t[o++],a>1114111)throw RangeError(a+" is not a valid code point");r+=a<65536?String.fromCharCode(a):String.fromCharCode(((a-=65536)>>10)+55296,a%1024+56320)}return r},He=Je?Object.fromEntries:function(t){for(var n={},r=0,i=t;r<i.length;r++){var o=i[r],a=o[0],h=o[1];n[a]=h}return n},Te=Qe?function(t,n){return t.codePointAt(n)}:function(t,n){var r=t.length;if(!(n<0||n>=r)){var i=t.charCodeAt(n),o;return i<55296||i>56319||n+1===r||(o=t.charCodeAt(n+1))<56320||o>57343?i:(i-55296<<10)+(o-56320)+65536}},tt=qe?function(t){return t.trimStart()}:function(t){return t.replace(We,"")},rt=$e?function(t){return t.trimEnd()}:function(t){return t.replace(Ze,"")};function Se(e,t){return new RegExp(e,t)}var ee;$?(q=Se("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu"),ee=function(t,n){var r;q.lastIndex=n;var i=q.exec(t);return(r=i[1])!==null&&r!==void 0?r:""}):ee=function(t,n){for(var r=[];;){var i=Te(t,n);if(i===void 0||Ae(i)||ot(i))break;r.push(i),n+=i>=65536?2:1}return K.apply(void 0,r)};var q,Be=function(){function e(t,n){n===void 0&&(n={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!n.ignoreTag,this.locale=n.locale,this.requiresOtherClause=!!n.requiresOtherClause,this.shouldParseSkeletons=!!n.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,n,r){for(var i=[];!this.isEOF();){var o=this.char();if(o===123){var a=this.parseArgument(t,r);if(a.err)return a;i.push(a.val)}else{if(o===125&&t>0)break;if(o===35&&(n==="plural"||n==="selectordinal")){var h=this.clonePosition();this.bump(),i.push({type:b.pound,location:p(h,this.clonePosition())})}else if(o===60&&!this.ignoreTag&&this.peek()===47){if(r)break;return this.error(l.UNMATCHED_CLOSING_TAG,p(this.clonePosition(),this.clonePosition()))}else if(o===60&&!this.ignoreTag&&te(this.peek()||0)){var a=this.parseTag(t,n);if(a.err)return a;i.push(a.val)}else{var a=this.parseLiteral(t,n);if(a.err)return a;i.push(a.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,n){var r=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:b.literal,value:"<".concat(i,"/>"),location:p(r,this.clonePosition())},err:null};if(this.bumpIf(">")){var o=this.parseMessage(t+1,n,!0);if(o.err)return o;var a=o.val,h=this.clonePosition();if(this.bumpIf("</")){if(this.isEOF()||!te(this.char()))return this.error(l.INVALID_TAG,p(h,this.clonePosition()));var x=this.clonePosition(),u=this.parseTagName();return i!==u?this.error(l.UNMATCHED_CLOSING_TAG,p(x,this.clonePosition())):(this.bumpSpace(),this.bumpIf(">")?{val:{type:b.tag,value:i,children:a,location:p(r,this.clonePosition())},err:null}:this.error(l.INVALID_TAG,p(h,this.clonePosition())))}else return this.error(l.UNCLOSED_TAG,p(r,this.clonePosition()))}else return this.error(l.INVALID_TAG,p(r,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&it(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,n){for(var r=this.clonePosition(),i="";;){var o=this.tryParseQuote(n);if(o){i+=o;continue}var a=this.tryParseUnquoted(t,n);if(a){i+=a;continue}var h=this.tryParseLeftAngleBracket();if(h){i+=h;continue}break}var x=p(r,this.clonePosition());return{val:{type:b.literal,value:i,location:x},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!nt(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var n=[this.char()];for(this.bump();!this.isEOF();){var r=this.char();if(r===39)if(this.peek()===39)n.push(39),this.bump();else{this.bump();break}else n.push(r);this.bump()}return K.apply(void 0,n)},e.prototype.tryParseUnquoted=function(t,n){if(this.isEOF())return null;var r=this.char();return r===60||r===123||r===35&&(n==="plural"||n==="selectordinal")||r===125&&t>0?null:(this.bump(),K(r))},e.prototype.parseArgument=function(t,n){var r=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(l.EXPECT_ARGUMENT_CLOSING_BRACE,p(r,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(l.EMPTY_ARGUMENT,p(r,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(l.MALFORMED_ARGUMENT,p(r,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(l.EXPECT_ARGUMENT_CLOSING_BRACE,p(r,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:b.argument,value:i,location:p(r,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(l.EXPECT_ARGUMENT_CLOSING_BRACE,p(r,this.clonePosition())):this.parseArgumentOptions(t,n,i,r);default:return this.error(l.MALFORMED_ARGUMENT,p(r,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),n=this.offset(),r=ee(this.message,n),i=n+r.length;this.bumpTo(i);var o=this.clonePosition(),a=p(t,o);return{value:r,location:a}},e.prototype.parseArgumentOptions=function(t,n,r,i){var o,a=this.clonePosition(),h=this.parseIdentifierIfPossible().value,x=this.clonePosition();switch(h){case"":return this.error(l.EXPECT_ARGUMENT_TYPE,p(a,x));case"number":case"date":case"time":{this.bumpSpace();var u=null;if(this.bumpIf(",")){this.bumpSpace();var s=this.clonePosition(),m=this.parseSimpleArgStyleIfPossible();if(m.err)return m;var f=rt(m.val);if(f.length===0)return this.error(l.EXPECT_ARGUMENT_STYLE,p(this.clonePosition(),this.clonePosition()));var E=p(s,this.clonePosition());u={style:f,styleLocation:E}}var v=this.tryParseArgumentClose(i);if(v.err)return v;var g=p(i,this.clonePosition());if(u&&_e(u?.style,"::",0)){var _=tt(u.style.slice(2));if(h==="number"){var m=this.parseNumberSkeletonFromString(_,u.styleLocation);return m.err?m:{val:{type:b.number,value:r,location:g,style:m.val},err:null}}else{if(_.length===0)return this.error(l.EXPECT_DATE_TIME_SKELETON,g);var A=_;this.locale&&(A=ge(_,this.locale));var f={type:T.dateTime,pattern:A,location:u.styleLocation,parsedOptions:this.shouldParseSkeletons?fe(A):{}},B=h==="date"?b.date:b.time;return{val:{type:B,value:r,location:g,style:f},err:null}}}return{val:{type:h==="number"?b.number:h==="date"?b.date:b.time,value:r,location:g,style:(o=u?.style)!==null&&o!==void 0?o:null},err:null}}case"plural":case"selectordinal":case"select":{var d=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(l.EXPECT_SELECT_ARGUMENT_OPTIONS,p(d,c({},d)));this.bumpSpace();var P=this.parseIdentifierIfPossible(),H=0;if(h!=="select"&&P.value==="offset"){if(!this.bumpIf(":"))return this.error(l.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,p(this.clonePosition(),this.clonePosition()));this.bumpSpace();var m=this.tryParseDecimalInteger(l.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,l.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(m.err)return m;this.bumpSpace(),P=this.parseIdentifierIfPossible(),H=m.val}var F=this.tryParsePluralOrSelectOptions(t,h,n,P);if(F.err)return F;var v=this.tryParseArgumentClose(i);if(v.err)return v;var oe=p(i,this.clonePosition());return h==="select"?{val:{type:b.select,value:r,options:He(F.val),location:oe},err:null}:{val:{type:b.plural,value:r,options:He(F.val),offset:H,pluralType:h==="plural"?"cardinal":"ordinal",location:oe},err:null}}default:return this.error(l.INVALID_ARGUMENT_TYPE,p(a,x))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(l.EXPECT_ARGUMENT_CLOSING_BRACE,p(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,n=this.clonePosition();!this.isEOF();){var r=this.char();switch(r){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(l.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,p(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(n.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(n.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,n){var r=[];try{r=xe(t)}catch{return this.error(l.INVALID_NUMBER_SKELETON,n)}return{val:{type:T.number,tokens:r,location:n,parsedOptions:this.shouldParseSkeletons?ve(r):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,n,r,i){for(var o,a=!1,h=[],x=new Set,u=i.value,s=i.location;;){if(u.length===0){var m=this.clonePosition();if(n!=="select"&&this.bumpIf("=")){var f=this.tryParseDecimalInteger(l.EXPECT_PLURAL_ARGUMENT_SELECTOR,l.INVALID_PLURAL_ARGUMENT_SELECTOR);if(f.err)return f;s=p(m,this.clonePosition()),u=this.message.slice(m.offset,this.offset())}else break}if(x.has(u))return this.error(n==="select"?l.DUPLICATE_SELECT_ARGUMENT_SELECTOR:l.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,s);u==="other"&&(a=!0),this.bumpSpace();var E=this.clonePosition();if(!this.bumpIf("{"))return this.error(n==="select"?l.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:l.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,p(this.clonePosition(),this.clonePosition()));var v=this.parseMessage(t+1,n,r);if(v.err)return v;var g=this.tryParseArgumentClose(E);if(g.err)return g;h.push([u,{value:v.val,location:p(E,this.clonePosition())}]),x.add(u),this.bumpSpace(),o=this.parseIdentifierIfPossible(),u=o.value,s=o.location}return h.length===0?this.error(n==="select"?l.EXPECT_SELECT_ARGUMENT_SELECTOR:l.EXPECT_PLURAL_ARGUMENT_SELECTOR,p(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!a?this.error(l.MISSING_OTHER_CLAUSE,p(this.clonePosition(),this.clonePosition())):{val:h,err:null}},e.prototype.tryParseDecimalInteger=function(t,n){var r=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(r=-1);for(var o=!1,a=0;!this.isEOF();){var h=this.char();if(h>=48&&h<=57)o=!0,a=a*10+(h-48),this.bump();else break}var x=p(i,this.clonePosition());return o?(a*=r,et(a)?{val:a,err:null}:this.error(n,x)):this.error(t,x)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var n=Te(this.message,t);if(n===void 0)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return n},e.prototype.error=function(t,n){return{val:null,err:{kind:t,message:this.message,location:n}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(_e(this.message,t,this.offset())){for(var n=0;n<t.length;n++)this.bump();return!0}return!1},e.prototype.bumpUntil=function(t){var n=this.offset(),r=this.message.indexOf(t,n);return r>=0?(this.bumpTo(r),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var n=this.offset();if(n===t)break;
1if(n>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&Ae(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),n=this.offset(),r=this.message.charCodeAt(n+(t>=65536?2:1));return r??null},e}();function te(e){return e>=97&&e<=122||e>=65&&e<=90}function nt(e){return te(e)||e===47}function it(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function Ae(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function ot(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function re(e){e.forEach(function(t){if(delete t.location,O(t)||C(t))for(var n in t.options)delete t.options[n].location,re(t.options[n].value);else N(t)&&k(t.style)||(I(t)||L(t))&&M(t.style)?delete t.style.location:R(t)&&re(t.children)})}function Pe(e,t){t===void 0&&(t={}),t=c({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var n=new Be(e,t).parse();if(n.err){var r=SyntaxError(l[n.err.kind]);throw r.location=n.err.location,r.originalMessage=n.err.message,r}return t?.captureLocation||re(n.val),n.val}var S;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(S||(S={}));var D=function(e){w(t,e);function t(n,r,i){var o=e.call(this,n)||this;return o.code=r,o.originalMessage=i,o}return t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error);var ne=function(e){w(t,e);function t(n,r,i,o){return e.call(this,'Invalid values for "'.concat(n,'": "').concat(r,'". Options are "').concat(Object.keys(i).join('", "'),'"'),S.INVALID_VALUE,o)||this}return t}(D);var we=function(e){w(t,e);function t(n,r,i){return e.call(this,'Value for "'.concat(n,'" must be of type ').concat(r),S.INVALID_VALUE,i)||this}return t}(D);var Ne=function(e){w(t,e);
vendor: 4,827 bytes, lines 1-3
1function t(n,r){return e.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(r,'"'),S.MISSING_VALUE,r)||this}return t}(D);var y;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(y||(y={}));function at(e){return e.length<2?e:e.reduce(function(t,n){var r=t[t.length-1];return!r||r.type!==y.literal||n.type!==y.literal?t.push(n):r.value+=n.value,t},[])}function st(e){return typeof e=="function"}function U(e,t,n,r,i,o,a){if(e.length===1&&z(e[0]))return[{type:y.literal,value:e[0].value}];for(var h=[],x=0,u=e;x<u.length;x++){var s=u[x];if(z(s)){h.push({type:y.literal,value:s.value});continue}if(ue(s)){typeof o=="number"&&h.push({type:y.literal,value:n.getNumberFormat(t).format(o)});continue}var m=s.value;if(!(i&&m in i))throw new Ne(m,a);var f=i[m];if(Y(s)){(!f||typeof f=="string"||typeof f=="number")&&(f=typeof f=="string"||typeof f=="number"?String(f):""),h.push({type:typeof f=="string"?y.literal:y.object,value:f});continue}if(I(s)){var E=typeof s.style=="string"?r.date[s.style]:M(s.style)?s.style.parsedOptions:void 0;h.push({type:y.literal,value:n.getDateTimeFormat(t,E).format(f)});continue}if(L(s)){var E=typeof s.style=="string"?r.time[s.style]:M(s.style)?s.style.parsedOptions:r.time.medium;h.push({type:y.literal,value:n.getDateTimeFormat(t,E).format(f)});continue}if(N(s)){var E=typeof s.style=="string"?r.number[s.style]:k(s.style)?s.style.parsedOptions:void 0;E&&E.scale&&(f=f*(E.scale||1)),h.push({type:y.literal,value:n.getNumberFormat(t,E).format(f)});continue}if(R(s)){var v=s.children,g=s.value,_=i[g];if(!st(_))throw new we(g,"function",a);var A=U(v,t,n,r,i,o),B=_(A.map(function(H){return H.value}));Array.isArray(B)||(B=[B]),h.push.apply(h,B.map(function(H){return{type:typeof H=="string"?y.literal:y.object,value:H}}))}if(O(s)){var d=s.options[f]||s.options.other;if(!d)throw new ne(s.value,f,Object.keys(s.options),a);h.push.apply(h,U(d.value,t,n,r,i));continue}if(C(s)){var d=s.options["=".concat(f)];if(!d){if(!Intl.PluralRules)throw new D(`Intl.PluralRules is not available in this environment.
2Try polyfilling it using "@formatjs/intl-pluralrules"
3`,S.MISSING_INTL_API,a);var P=n.getPluralRules(t,{type:s.pluralType}).select(f-(s.offset||0));d=s.options[P]||s.options.other}if(!d)throw new ne(s.value,f,Object.keys(s.options),a);h.push.apply(h,U(d.value,t,n,r,i,f-(s.offset||0)));continue}}return at(h)}function ht(e,t){return t?c(c(c({},e||{}),t||{}),Object.keys(e).reduce(function(n,r){return n[r]=c(c({},e[r]),t[r]||{}),n},{})):e}function ut(e,t){return t?Object.keys(e).reduce(function(n,r){return n[r]=ht(e[r],t[r]),n},c({},e)):e}function ie(e){return{create:function(){return{get:function(t){return e[t]},set:function(t,n){e[t]=n}}}}}function ft(e){return e===void 0&&(e={number:{},dateTime:{},pluralRules:{}}),{getNumberFormat:j(function(){for(var t,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return new((t=Intl.NumberFormat).bind.apply(t,V([void 0],n,!1)))},{cache:ie(e.number),strategy:X.variadic}),getDateTimeFormat:j(function(){for(var t,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return new((t=Intl.DateTimeFormat).bind.apply(t,V([void 0],n,!1)))},{cache:ie(e.dateTime),strategy:X.variadic}),getPluralRules:j(function(){for(var t,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return new((t=Intl.PluralRules).bind.apply(t,V([void 0],n,!1)))},{cache:ie(e.pluralRules),strategy:X.variadic})}}var Ie=function(){function e(t,n,r,i){n===void 0&&(n=e.defaultLocale);var o=this;if(this.formatterCache={number:{},dateTime:{},pluralRules:{}},this.format=function(u){var s=o.formatToParts(u);if(s.length===1)return s[0].value;var m=s.reduce(function(f,E){return!f.length||E.type!==y.literal||typeof f[f.length-1]!="string"?f.push(E.value):f[f.length-1]+=E.value,f},[]);return m.length<=1?m[0]||"":m},this.formatToParts=function(u){return U(o.ast,o.locales,o.formatters,o.formats,u,void 0,o.message)},this.resolvedOptions=function(){var u;return{locale:((u=o.resolvedLocale)===null||u===void 0?void 0:u.toString())||Intl.NumberFormat.supportedLocalesOf(o.locales)[0]}},this.getAst=function(){return o.ast},this.locales=n,this.resolvedLocale=e.resolveLocale(n),typeof t=="string"){if(this.message=t,!e.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");var a=i||{},h=a.formatters,x=ae(a,["formatters"]);this.ast=e.__parse(t,c(c({},x),{locale:this.resolvedLocale}))}else this.ast=t;if(!Array.isArray(this.ast))throw new TypeError("A message must be provided as a String or AST.");this.formats=ut(e.formats,r),this.formatters=i&&i.formatters||ft(this.formatterCache)}return Object.defineProperty(e,"defaultLocale",{get:function(){return e.memoizedDefaultLocale||(e.memoizedDefaultLocale=new Intl.NumberFormat().resolvedOptions().locale),e.memoizedDefaultLocale}
3,enumerable:!1,configurable:!0}),e.memoizedDefaultLocale=null,e.resolveLocale=function(t){if(!(typeof Intl.Locale>"u")){var n=Intl.NumberFormat.supportedLocalesOf(t);return n.length>0?new Intl.Locale(n[0]):new Intl.Locale(typeof t=="string"?t:t[0])}},e.__parse=Pe,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();var Le=Ie;window.IntlMessageFormat=Le;})();
4;function t_attr(el,key,fallback){const element=el instanceof jQuery?el[0]:el;return element?.getAttribute('data-'+key)??fallback;}
5(()=>{const config=window.gymdesk.i18n;config.translations={};const messageCache=new Map();const followPath=(o,p)=>{for(let s of p.split('.')){o=o?.[s];}
6return typeof o==='string'?o:null;};const getMessage=function(slug){if(!messageCache.has(slug)){const translation=followPath(config.translations,slug);if(translation===null){console.warn(`Missing translation for '${slug}'`);return null;}else{messageCache.set(slug,new IntlMessageFormat(translation,config.locale.replace('_','-')),);}}
7return messageCache.get(slug);};window.t=function(slug,data={}){const message=getMessage(slug);if(message===null){return null;}
8return(config.markTranslations?'t:':'')+message.format(data);};config.translationsReady=(async()=>{try{const response=await fetch(config.url);config.translations=await response.json();return true;}catch(e){console.error('Failed to load translations:',e);throw e;}})();})();;;(function($){var mor=window.mor={init:function(){this.share();this.initToggles();this.initContentTabs();if($('#register-popup').length==1){this.initNonUserForm();}
9this.initMobileNav();this.initChat();this.initLanguageSelector();},initNonUserForm:function(){var self=this;var tabs=$('#register-popup .tabs li');tabs.click(function(){if(!$(this).is('.on')){var pos=tabs.index(this);tabs.filter('.on').removeClass('on');$(this).addClass('on');$('#register-popup .tab').hide().eq(pos).show().find("input[type='text']:first")[0].focus();}});$('#register-popup form .pw,#register-popup form .image_reg').remove();$('#register-popup .register').submit(function(e){$('#register-popup .error').remove();e.preventDefault();var data=$(this).serialize();$.post('register/ajax',data,function(response){if(response==1){$('#register-popup .tab').hide().eq(2).show();}else{response=eval('('+response+')');for(var el in response.errors){var error=response.errors[el];self.error($("#register-popup .register input[name='"+el+"']"),error,'error');}}});});$('.must-be-logged').click(function(e){if($('#register-popup').length==0){return true;}
10e.stopPropagation();e.preventDefault();mor.media.overlay($('#register-popup'));});},error:function(el,text,cls){cls=cls||'error-message';var pos=$(el).position();var width=$(el).width();if(typeof(text)=='object'){for(var i in text){text=text[i];break;}}
11var z=this.zIndex(el);var tip=$('<span class="'+cls+'">'+text+'</span>').appendTo('body').css({zIndex:z+1}).fadeIn();if($(el).is('button')){if(typeof($.position)!='undefined'){tip.position({my:"center bottom-5",at:"center top",of:el,collision:"none none"});}else{var offset=$(el).offset();tip.css({top:offset.top-$(el).height()-15,left:offset.left});}}else{if(typeof($.position)!='undefined'){tip.position({my:"center bottom",at:"center top-2",of:el,collision:"none none"});}else{var offset=$(el).offset();var top=(offset.top-$(el).height()-15);top=top<0?0:top;tip.css({top:top,left:offset.left});}}
12var p=$(el);while(p.length&&!p.is('body')){if(p.css('position')==='fixed'){var tipOffset=tip.offset();tip.css({position:'fixed',top:tipOffset.top-$(window).scrollTop(),left:tipOffset.left-$(window).scrollLeft()});break;}
13p=p.parent();}
14$(tip).click(function(){tip.fadeOut(function(){$(this).remove()});});$(el).one('click',function(){tip.fadeOut(function(){$(this).remove()});$(this).parent().removeClass('error');}).one('change',function(){tip.fadeOut(function(){$(this).remove()});$(this).parent().removeClass('error');});$(el).data('error',tip);return tip;},zIndex:function(el){el=$(el);if(0===el.length){return 0;}
15var zIndex=0;if(el.length===0){return zIndex;}
16while(!el.is('body')){var z=parseInt(el.css('zIndex'),10);if(!isNaN(z)&&z>zIndex){zIndex=z;}
17el=el.parent();}
18return zIndex;},showErrors:function(errors,context){for(var i in errors){var error=errors[i];var el=$(context).find("[name='"+i+"']");if(el.length==0||el.is('[type="hidden"]')){el=$(context).find('button');}
19if(!el.is(':visible')){el=el.prev();}
20if(el.length>1){el=$(el).eq(0);}
21this.error(el,error);}},getUrl:function(button){if(!$(button).is('a')){return false;}
22var url=$(button).attr('count-url');if(typeof(url)!='undefined'){return url;}else if($(button).attr('href').split('?').length>1){var parts=$(button).attr('href').split('?')[1].split('&'),keyval;for(var i in parts){keyval=parts[i].split('=');if(keyval[0]=='u'||keyval[0]=='url'){var url=keyval[1];return url;}}}
23return window.location.href;},putCount:function(button){var page=this.getUrl(button);var $button=$(button);if($button.is('.facebook')){var url="https://graph.facebook.com/?id="+page+"&callback=?";$.getJSON(url,function(response){var likes=0;if(response.likes){likes+=response.likes;}
24if(response.shares){likes+=response.shares;}
25$button.attr('attr-count',likes);if(likes>0){$button.find('span').html(likes);}});}else if($button.is('.twitter')){var url='https://cdn.api.twitter.com/1/urls/count.json?url='+page+'&callback=?';$.getJSON(url,function(response){$button.attr('attr-count',response.count?response.count:0);if(response.count){$button.find('span').html(response.count);}});}else if($button.is('.hn')){var url="http://api.thriftdb.com/api.hnsearch.com/items/_search?filter[fields][url][]="+page+'&callback=?';$.getJSON(url,function(response){if(response.results&&response.results[0]){var score=response.results[0]['item']['points'];var id=response.results[0]['item']['id'];if(score>0){$button.find('span').html(score);var url='http://news.ycombinator.com/item?id='+id;$button.attr('href',url);}}});}else if($button.is('.gplus')){var url="index/gplus?url="+page;$.getJSON(url,function(response){if(response.count!=0){$button.find('span').html(response.count);}});}else if($button.is('.linkedin')){var url='https://www.linkedin.com/countserv/count/share?url='+page+'&callback=?';$.getJSON(url,function(response){$button.attr('attr-count',response.count?response.count:0);if(response.count>0){$button.find('span').html(response.count);}});}},share:function(){var self=this;$('.socialb').each(function(){var button=this;self.putCount(button);});$('.socialb.twitter,.socialb.facebook').click(function(e){e.preventDefault();var newwindow=window.open($(this).attr('href'),'sharing','height=480,width=600');if(window.focus){newwindow.focus();}});$('.social-buttons .share-link a').click(function(e){e.stopPropagation();e.preventDefault();$(this).parent().addClass('active');var link=$(this).parent().find('input');link[0].focus();link[0].select();});
25$('.social-buttons .share-link input').blur(function(){$(this).parent().removeClass('active');});},initMobileNav:function(){$("#header .show-menu").click(function(){$("#header").toggleClass('mobile-show');});$("#header .close-menu").click(function(){$("#header").removeClass('mobile-show');$(".show-menu").removeClass('close');});$('#header .more-links em').click(function(){var links=$(this).parent();if(links.is('.open')){$('#header').removeClass('has-open');links.removeClass('open');}else{$('.more-links.open').removeClass('open');links.addClass('open');$('#header').addClass('has-open');}});},initToggles:function(context){context=context||$(document);$(context).find('.toggle').click(function(e){if($(this).is('.no-init')){return;}
26if($(e.target).is('input')||$(this).parents('label').length==0){$(this).toggleClass('on').toggleClass('off');var radios=$(this).find('input[type="radio"]');if($(this).is('.on')){var checked=radios.eq(1);}else{var checked=radios.eq(0);}
27checked.prop("checked",true).trigger('change');}});},initContentTabs:function(){$(".container-tabs li a").click(function(){var tab=$(this).attr('href');$(this).parent().parent().find('.selected').removeClass('selected');$(this).parent().addClass('selected');$(".container-tab.active").removeClass('active');$(tab+".container-tab").addClass('active');return false;});},reviewPopup:function(){var popup=$("#please-review");if(popup.length==1){popup.find('.close').click(function(){var width=360;popup.animate({"right":"-"+width+"px"},function(){$(this).hide();});var id=$('#please-review').attr('attr-id');$.get("user/review/close");});window.setTimeout(function(){popup.animate({"right":0});},3000);}},abActivate:function(test){$.get('ab/activate',{test:test});},form:{validate:function(form,rules,callback){var self=this;$(form).data('rules',rules);var next=function(){if(self.hasBlockingPaymentMethodError(form)){return false;}
28if(typeof(callback)=='function'){callback();}else{$(form)[0].submit();}}
29$(form).find("input,select").focus(function(){$(this).parent().find('.error-message').remove();}).blur(function(){self.isValid(this);});$(form).submit(function(e){e.stopPropagation();e.preventDefault();var button=$(this).find("button[type='submit']:visible");var html=button.data('html');if(typeof(html)=='undefined'||html!=''&&button.prop('disabled')!=false){button.data('html',button.html());button.prop('disabled',true).html(`${t_attr(button, 'saving', t('common.actions.processing'))} <span class="spinner"></span>`);}
30$(this).find("input,select").each(function(){if($(this).parent().is('.valid')||$(this).is(':hidden')){return;}else if(!$(this).parent().is('.error')&&$(this).data('loading')!==true){self.isValid(this);}});if($(form).is('.loading')){var interval=window.setInterval(function(){if(!$(form).is('.loading')){window.clearInterval(interval);next();}},50);}else{next();}});},isValid:function(el){var name=$(el).attr('attr-name');name=name||$(el).attr('name');if(typeof(name)=='undefined'||name==''){name=$(el).attr('class');if(typeof(name)=='undefined'){return true;}
31var parts=name.split(' ');if(parts.length>1){for(var i in parts){if(parts[i]=='text'||parts[i]=='number'){delete(parts[i]);}}}
32name=parts.join('');}
33var rules=$(el).parents('form').data('rules');if(typeof(rules)=='undefined'||typeof(rules[name])=='undefined'){return true;}
34var validation=rules[name];if(typeof(validation)=='function'){validation.call(this,el);}else	if(validation){for(var validator in validation){var msg=validation[validator];var valid=this.validators[validator].call(this,$(el).val(),el,msg);}
35if(typeof(valid)!='undefined'){return this.result(valid,el,msg);}}},result:function(valid,el,msg){$(el).parent().find('.spinner').remove();if(valid){$(el).parent().removeClass('error').addClass('valid');}else if(msg){this.showError(msg,el);return false;}else{$(el).parent().removeClass('valid').find('label').append('<span class="spinner dark-spin"></span>');return false;}},showError:function(msg,el){$(el).parent().removeClass('valid').addClass('error').find('.spinner').remove();mor.error(el,msg);},scrollToError:function(){var error=$(".error-message");if(error.length==0){return;}
36var to=error.eq(0).offset().top-90;var scrolled=$('html').prop('scrollTop');if(to-scrolled>500||to-scrolled<0){$('html,body').animate({scrollTop:to},600);}}
36,validators:{Email:function(value,el,msg){var self=this;var url=$(el).attr('attr-target');var form=$(el).parents('form').addClass('loading');$(el).parent().append('<span class="spinner"></span>');$(el).data('loading',true);$.get(url,{email:value},function(response){$(el).data('loading',false);if(response==2){self.result(false,el,'Please enter valid Email address');}else if(response==1){self.result(false,el,msg);}else{self.result(true,el);}
37form.removeClass('loading');});},Card:function(value,el,msg){if(typeof(Stripe)!='undefined'){return Stripe.card.validateCardNumber(value);}else{if($.payment.validateCardNumber(value)){var form=$(el).parents('form');if(form.length==1){var input=form.find("input[name='card_brand']");if(input.length==0){input=$('<input type="hidden" name="card_brand" />').appendTo(form);}
38input.val($.payment.cardType(value));}
39return true;}
40return false;}},Expiry:function(value,el,msg){if(typeof(Stripe)!='undefined'){return Stripe.card.validateExpiry($(".card-expiry").val());}else{return $.payment.validateCardExpiry($(".card-expiry").payment('cardExpiryVal'));}},StringLength:function(value,el,msg){var max=$(el).attr('maxlength');if(max&&value.length>parseInt(max,10)){return false;}
41return true;},NotEmpty:function(value,el,msg){return value!='';}},hasBlockingPaymentMethodError:function(form){var self=this;var errorEls=$(form).find('.error');var selectedMethodLi=$(form).find('.methods li.selected').length?$(form).find('.methods li.selected').first():$(form).find('input[name="method_id"]:checked').closest('.methods li');var hasBlockingError=false;var errorInSelectedMethod=false;errorEls.each(function(){var el=$(this);var inMethods=el.closest('.methods').length>0;if(!inMethods){hasBlockingError=true;}
42if(selectedMethodLi.length&&el.closest('.methods li').length&&el.closest('.methods li')[0]===selectedMethodLi[0]){hasBlockingError=true;errorInSelectedMethod=true;}});if(hasBlockingError){if(errorInSelectedMethod&&selectedMethodLi.length){self.result(false,selectedMethodLi,t('memberPortal.error.checkout.paymentMethodHasErrors'));}
43self.resetButton(form);self.scrollToError();return true;}
44return false;},resetButton:function(form){var button=$(form).find("button[type='submit']");button.attr('disabled',false).data('disabled',false);if(button.data('html')!=''){button.html(button.data('html'));}}},debug:function(text){if($('#debug').length==0){$('<div id="debug"></div>').appendTo('body');}
45var debug=$('#debug');debug.append(text+'<br />');},fp:function(fp){var params={fp:fp};var visitId=false;if(storageAvailable('localStorage')){var visitId=localStorage.getItem('visit_id');if(visitId){params['visit_id']=visitId;}}
46$.post('visits/fp',params,function(serverVisitId){if(storageAvailable('localStorage')){localStorage.setItem('visit_id',serverVisitId);}});},initChat:function(){if($('.helpscout-placeholder').length==1){var loaded=false;var load=function(){if(loaded){return;}
47loaded=true;loadHelpScout();var el=this;window.setTimeout(function(){$(el).remove();},1000);};$('.helpscout-placeholder').hover(function(){load();});window.setTimeout(function(){load();},5000);}},initLanguageSelector:function(){$('.language-selector button').click(function(e){e.stopPropagation();var languageMenu=$(this).parent().find('.drop-menu');var boundingRect=$(this)[0].getBoundingClientRect();if((window.innerHeight-boundingRect.bottom)<130){languageMenu.css('margin-top','-135px');}else{languageMenu.css('margin-top','5px');}
48languageMenu.toggle();});$('#footer').click(function(){$('.language-selector .drop-menu').hide();});$('.language-selector .drop-menu a').click(function(){Cookies.set('website_language',$(this).attr('data-lang'));});}};})(jQuery);jQuery(document).ready(function(){mor.init();});function storageAvailable(type){var storage;try{storage=window[type];var x='__storage_test__';storage.setItem(x,x);storage.removeItem(x);return true;}
49catch(e){return e instanceof DOMException&&(e.code===22||e.code===1014||e.name==='QuotaExceededError'||e.name==='NS_ERROR_DOM_QUOTA_REACHED')&&(storage&&storage.length!==0);}}
50var Client={viewportWidth:function(){return self.innerWidth||(document.documentElement.clientWidth||document.body.clientWidth);}
50,viewportHeight:function(){return self.innerHeight||(document.documentElement.clientHeight||document.body.clientHeight);},viewportSize:function(){return{width:this.viewportWidth(),height:this.viewportHeight()};}};window.log=function(name,msg){var debug=$('.debugger');if(debug.length==0){debug=$('<div class="debugger"></div>').appendTo($('body'));}
51var el=debug.find('#'+name);if(el.length==0){el=$('<span id="'+name+'"></span>').appendTo(debug);}
52el.html(name+': '+msg);};function round(value,precision,mode){var m,f,isHalf,sgn;precision|=0;m=Math.pow(10,precision);value*=m;sgn=(value>0)|-(value<0);isHalf=value%1===0.5*sgn;f=Math.floor(value);if(isHalf){switch(mode){case'PHP_ROUND_HALF_DOWN':value=f+(sgn<0);break;case'PHP_ROUND_HALF_EVEN':value=f+(f%2*sgn);break;case'PHP_ROUND_HALF_ODD':value=f+!(f%2);break;default:value=f+(sgn>0);}}
53return(isHalf?value:Math.round(value))/m;}
54(function(doc){var write=doc.write;doc.write=function(q){if(/docwriteregexwhitelist/.test(q))write.apply(doc,arguments);};})(document);;;(function($){mor.media=mor.media||{};$.extend(mor.media,{events:function(container){var self=this;$('<div class="popup_overlay"><div id="media_container"></div><a class="next" title="Next">&nbsp;</a>'
55+'<a class="prev" title="Previous">&nbsp;</a><a class="close"></a></div>').appendTo('body');$('.popup_overlay a.close').click(function(){self.close($(this).parents('.popup_overlay'));});},showimage:function(src,paginate){var self=this;var largeImage=document.createElement('img');$('#media_container').html('<img src="images/loading.gif" />');var popup=$('#media_container').parents('.popup_overlay');this.overlay(popup);if(paginate==true){popup.addClass('paginate');}else{popup.removeClass('paginate');}
56$(largeImage).bind('load',function(){$('#media_container').html(largeImage);var w=$(window);if($(largeImage).attr('width')>w.width()-100||$(largeImage).attr('height')>w.height()-100){if($(largeImage).attr('width')/$(largeImage).attr('height')>w.width()/w.height()){$('#media_container img').width(w.width()-145);}else{$('#media_container img').height(w.height()-140);}}
57var popup=$('#media_container').parents('.popup_overlay');self.overlay(popup);});largeImage.src=src;},overlay:function(element){this.center(element);if($('#overlay').length==0){var overlay=$('<div id="overlay"></div>').appendTo('body');var self=this;overlay.click(function(e){e.stopPropagation();self.close(element);});}},reposition:function(element){if(!$(element).is(':visible')){return;}
58$(element).css(this.centerStyles(element));},center:function(element){$(element).css('display','block');$(element).css(this.centerStyles(element)).fadeIn(300);},centerStyles:function(element){var width=$(element).outerWidth();var height=$(element).outerHeight();if((height>=$(window).height()||width>=$(window).width())&&$(window).width()<600&&!$(element).is('.zoom-box')){var styles={'position':'fixed','margin-left':'auto','margin-top':'auto','margin-right':'auto','margin-bottom':'auto','left':0,'top':0,'right':0,'border-radius':0,'bottom':0,'overflowY':'auto','overflowX':'hidden'};}else{$(element).css('position','fixed');width=$(element).outerWidth();var wH=$(window).height();var wW=$(window).width();var top=wH>height?(height/2)*-1:0;var left=wW>width?(width/2)*-1:0;var styles={'position':'fixed','marginLeft':left,'marginTop':top,'top':top==0?'0':'50%','left':left==0?'0':'50%'};if(top==0){styles['overflowY']='auto';styles['maxHeight']='100%';styles['overflowX']='hidden';}
59if(top==0){styles['top']=0;}
60if(left==0){styles['left']=0;}}
61return styles;},altCenter:function(element){var display=$(element).css('display');$(element).show();var width=$(element).outerWidth();var height=$(element).outerHeight();if((height>=$(window).height()||width>=$(window).width())&&$(window).width()<600&&!$(element).is('.zoom-box')){var styles={'position':'fixed','margin-left':0,'margin-top':0,'left':0,'top':0,'right':0,'bottom':0,'overflow':'auto'};}else{var wH=$(window).height();var wW=$(window).width();var top=(wH-height)/2;top=top<0?0:top;var left=(wW-width)/2;left=left<0?0:left;var styles={'position':'fixed','left':left,'top':top,'bottom':top==0?0:'auto','right':left};}
62$(element).css(styles).fadeIn(300);},close:function(popup){var self=this;$(popup).fadeOut(200,function(){$('#overlay').remove();$('.error-message').remove();var video=$(popup).find('.video-wrapper iframe');if(video.length>0){video.each(function(){if($(this).attr('src').indexOf('youtube.com')!=-1){var id=Math.random().toString(36).substring(7);$(this).parent().attr('id',id);callPlayer(id,'pauseVideo');}});}});if(popup.data('onclose')){var cb=popup.data('onclose');cb.call();}
63$(window).trigger('media.close',popup);},compress:function(image,width){var dataURLToBlob=function(dataURL){var BASE64_MARKER=';base64,';if(dataURL.indexOf(BASE64_MARKER)==-1){var parts=dataURL.split(',');var contentType=parts[0].split(':')[1];var raw=parts[1];return new Blob([raw],{type:contentType});}
64var parts=dataURL.split(BASE64_MARKER);var contentType=parts[0].split(':')[1];var raw=window.atob(parts[1]);var rawLength=raw.length;var uInt8Array=new Uint8Array(rawLength);for(var i=0;i<rawLength;++i){uInt8Array[i]=raw.charCodeAt(i);}
65return new Blob([uInt8Array],{type:contentType});}
66var elem=document.createElement('canvas');
66var ratio=width/image.width;elem.width=width;var height=image.height*ratio;elem.height=height;var ctx=elem.getContext('2d');ctx.drawImage(image,0,0,width,height);var dataUrl=elem.toDataURL('image/jpeg',1);var resizedImage=dataURLToBlob(dataUrl);image.src=dataUrl;return resizedImage;},});function callPlayer(frame_id,func,args){if(window.jQuery&&frame_id instanceof jQuery)frame_id=frame_id.get(0).id;var iframe=document.getElementById(frame_id);if(iframe&&iframe.tagName.toUpperCase()!='IFRAME'){iframe=iframe.getElementsByTagName('iframe')[0];}
67if(!callPlayer.queue)callPlayer.queue={};var queue=callPlayer.queue[frame_id],domReady=document.readyState=='complete';if(domReady&&!iframe){if(queue)clearInterval(queue.poller);}else if(func==='listening'){if(iframe&&iframe.contentWindow){func='{"event":"listening","id":'+JSON.stringify(''+frame_id)+'}';iframe.contentWindow.postMessage(func,'*');}}else if((!queue||!queue.ready)&&(!domReady||iframe&&!iframe.contentWindow||typeof func==='function')){if(!queue)queue=callPlayer.queue[frame_id]=[];queue.push([func,args]);if(!('poller'in queue)){queue.poller=setInterval(function(){callPlayer(frame_id,'listening');},250);messageEvent(1,function runOnceReady(e){if(!iframe){iframe=document.getElementById(frame_id);if(!iframe)return;if(iframe.tagName.toUpperCase()!='IFRAME'){iframe=iframe.getElementsByTagName('iframe')[0];if(!iframe)return;}}
68if(e.source===iframe.contentWindow){clearInterval(queue.poller);queue.ready=true;messageEvent(0,runOnceReady);while(tmp=queue.shift()){callPlayer(frame_id,tmp[0],tmp[1]);}}},false);}}else if(iframe&&iframe.contentWindow){if(func.call)return func();iframe.contentWindow.postMessage(JSON.stringify({"event":"command","func":func,"args":args||[],"id":frame_id}),"*");}
69function messageEvent(add,listener){var w3=add?window.addEventListener:window.removeEventListener;w3?w3('message',listener,!1):(add?window.attachEvent:window.detachEvent)('onmessage',listener);}};if(typeof($.datepicker)!='undefined'){const checkOffset=$.datepicker._checkOffset;$.extend($.datepicker,{_checkOffset:function(inst,offset,isFixed){if(!isFixed){return checkOffset.apply(this,arguments);}
70var isRTL=this._get(inst,"isRTL");var obj=inst.input[0];while(obj&&(obj.type==="hidden"||obj.nodeType!==1||$.expr.filters.hidden(obj))){obj=obj[isRTL?"previousSibling":"nextSibling"];}
71var rect=obj.getBoundingClientRect();var viewHeight=document.documentElement.clientHeight+(isFixed?0:$(document).scrollTop()),dpHeight=inst.dpDiv.outerHeight();var viewWidth=$(window).width();var dpWidth=inst.dpDiv.outerWidth();var css={top:viewHeight<rect.top+rect.height+dpHeight?rect.top-dpHeight:rect.top+rect.height};var left=rect.left;if(left+dpWidth>viewWidth){css['right']=0;css['left']='auto';}else{css['left']=rect.left;}
72return css;}});}})(jQuery);;;(function(){var main={init:function(){$('[role="banner"] .show-menu').click(function(e){e.stopPropagation();$(this).toggleClass('close');$('body').toggleClass('nav-menu-open');$('.nav').toggleClass('open');});$('[role="banner"] .close-menu').click(function(e){e.stopPropagation();$(this).removeClass('close');$('body').removeClass('nav-menu-open');$('.nav').removeClass('open');});$('[role="banner"] .nav').click(function(e){e.stopPropagation();});$('[role="banner"] .nav .more-links em').click(function(){$(this).parent('.more-links').toggleClass('open');$(this).parent('.more-links').find('ul').toggle();});$(window).click(function(){$('.nav').removeClass('open');});if($('.content').length>0){this.initContent();}
73var self=this;$('#cart-overlay').click(function(){self.hideCart();});$('#cart-popup').click(function(e){e.stopPropagation();});$('[role="banner"] .cart').click(function(){self.showCart();});$('#cart-popup .close').click(function(){self.hideCart();});self.cartEvents();},initContent:function(){$('iframe.video').each(function(){$(this).wrap('<div class="videoWrapper"></div>');$(this).attr('height','').attr('width','');});},cartEvents:function(){var self=this;$('#cart-popup .remove-item').click(function(){var row=$(this).parents('tr:first');$.post('shop/removeitem',{id:row.attr('attr-id')},function(response){$('#cart-popup .items').html(response);self.cartEvents();self.updateCartCounter();});row.fadeOut(300,function(){$(this).remove();});});}
73,updateCartCounter:function(){var items=$('#cart-popup .items');if(items.find('.placeholder').length==1){$('[role="banner"] .cart').hide();}else{var count=items.find('.remove-item').length;$('[role="banner"] .cart').show().find('small').html(count);}},hideCart:function(){$('#cart-overlay').fadeOut(300);$('#cart-popup').hide('slide',{direction:'right'},300);},showCart:function(){$('#cart-overlay').fadeIn(300);$('#cart-popup').show('slide',{direction:'right'},300);this.updateCartCounter();},avatar:function(photo,name){var parts=name.split(' ');var initials=parts[0].substring(0,1)+(parts.length>1?parts[1].substring(0,1):'');var html='<span class="avatar color'+this.getColor(name)+'">';if(photo!=''&&photo!==null){html+='<img alt="'+initials+'" src="'+photo+'" />';}else{html+=initials;}
74html+='</span>';return html;},getColor:function(str){var characters={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8,'i':1,'j':2,'k':3,'l':4,'m':5,'n':6,'o':7,'p':8,'q':1,'r':2,'s':3,'t':4,'u':5,'v':6,'w':7,'x':8,'y':1,'z':2};var first=str.substring(0,1).toLowerCase();return characters[first];},};window.academy=main;mor.main=main;$(document).ready(function(){main.init();});})();;;(function(){var util=typeof(mor)!='undefined'?mor:MARwidgets;var external=typeof(mor)=='undefined';if(typeof($)=='undefined'){var $=jQuery;}
75if(typeof jQuery.ui=='undefined'){var url="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js";$.getScript(url);}
76var forms=window.MARforms={started:false,init:function(){if(this.started){return;}
77if($('.maonrails-lead-form').length>0){this.formSubmit($('.maonrails-lead-form'));this.initPopup($('body'));$('.maonrails-popup .close').click(function(){util.media.close($('.maonrails-popup'));});this.started=true;$('.maonrails-lead-form-button').each(function(){if($(this).is('.left,.right')){var width=$(this).outerWidth();var height=$(window).height();var top=(height-width)/2;top=top<0?0:top;$(this).css({top:top});}});if($.datepicker){$('.maonrails-lead-form .dob .date').datepicker({firstDay:$("#first_day_week").val(),dateFormat:$('#date-format').val(),changeYear:true,yearRange:'-90:+10',defaultDate:'-25y',});}
78if($('.recaptcha').length>0){$('#body').css('minHeight',480);};}},formSubmit:function(context){$(context).find('form').submit(function(e){e.preventDefault();if($(this).data('js-submit-disabled')===true){return;}
79$(this).data('js-submit-disabled',true);var button=$(this).find('button');button.data('html',button.html());button.html('Sending <span class="spinner"></span>');var form=this;var options={url:$(this).attr('action'),data:$(this).serialize(),crossDomain:true,success:function(response){$(form).data('js-submit-disabled',false);button.html(button.data('html'));if(response.success){$(form).hide().next('.form-sent').show();if($(form).parent().is('.maonrails-popup')){util.media.center($(form).parent());}else if(external){var height=$('body').height();window.parent.postMessage(["setHeight",height],"*");}
80var id=$(form).find('input[name="form_id"]').val();if(typeof(maPostConv)!='undefined'&&typeof(maPostConv[id])=='function'){maPostConv[id]();}
81var redirect=$(form).find("input[name='post_submit_redirect_url']");if(redirect.length>0&&redirect.val()!=''){setTimeout(function(){window.top.location.href=redirect.val();},5000);}}else{util.showErrors(response['errors'],$(form));}},error:function(){$(form).data('js-submit-disabled',false);},dataType:'jsonp'};$.ajax(options);});},initPopup:function(context){$(context).find('.maonrails-lead-form-button').click(function(){var formId=$(this).attr('attr-id');util.media.overlay($(".maonrails-lead-form[attr-id='"+formId+"']"));});$(context).find('.close').click(function(){var form=$(this).parents('.maonrails-lead-form');util.media.close(form);form.fadeOut(300);});}};$(document).ready(function(){forms.init();});})();;function initCountdown(holder,time=null){if(null===time){time=holder.data('time')*60;}
82var days=Math.floor(time/(3600*24));var hours=Math.floor(time%(3600*24)/3600);var minutes=Math.floor(time%3600/60);var seconds=Math.floor(time%60);holder.find('.countdown-items .countdown-item .amount.days').text(days.toString().padStart(2,'0'));holder.find('.countdown-items .countdown-item .amount.hours').text(hours.toString().padStart(2,'0'));holder.find('.countdown-items .countdown-item .amount.minutes').text(minutes.toString().padStart(2,'0'));holder.find('.countdown-items .countdown-item .amount.seconds').text(seconds.toString().padStart(2,'0'));if(0==time){return;}
83time--;setTimeout(function(){initCountdown(holder,time);},1000);};;var positionFooter=function(){var footer=$('footer');if(footer.is(':visible')){var footerHeight=footer.outerHeight();$('#body').css('padding-bottom',footerHeight+'px');}else{$('#body').css('padding-bottom','0');}};$(document).ready(function(){positionFooter();$(window).on('load',function(){positionFooter();});$('img').on('load',function(){positionFooter();});if($('.countdown-holder').length){$('.countdown-holder').each(function(){initCountdown($(this));});}
84$(window).on("resize",function(){positionFooter();});$('.faq-question').click(function(){$(this).parent('.faq-item').toggleClass('active');});const slidesContainer=$('.reviews-holder');const review=$('.review-item');const totalReviews=review.length;const reviewsPerSlide=Math.floor(slidesContainer.innerWidth()/review.outerWidth());const totalPages=Math.ceil(totalReviews/reviewsPerSlide);var currentPage=1;if(totalReviews<=reviewsPerSlide){$('.reviews-controls').hide();}
85$('.reviews-controls .pagination .current').text(reviewsPerSlide);$('.reviews-controls .pagination .total').text(totalReviews);for(var i=0;i<totalPages;i++){$('.reviews-controls .controls .pages').append('<button class="page"></button>');}
86$('.reviews-carousel .controls .page:first-child').addClass('active');$('.reviews-controls .prev').click(function(){if(currentPage>1){var width=slidesContainer.innerWidth();if($(window).width()<768){width=$('.review-item').first().outerWidth()+32;}
87const scrollLeft=slidesContainer.scrollLeft()-width;currentPage--;$('.reviews-controls .pagination .current').text(currentPage*reviewsPerSlide);$('.reviews-carousel .controls .page').removeClass('active');$('.reviews-carousel .controls .page:nth-child('+(currentPage)+')').addClass('active');slidesContainer.animate({scrollLeft:scrollLeft},800);}});$('.reviews-controls .next').click(function(){if(currentPage<totalPages){var width=slidesContainer.innerWidth();if($(window).width()<768){width=$('.review-item').first().outerWidth()+32;}
88const scrollLeft=slidesContainer.scrollLeft()+width;currentPage++;var currentReviews=currentPage*reviewsPerSlide;$('.reviews-controls .pagination .current').text(currentReviews>totalReviews?totalReviews:currentReviews);$('.reviews-carousel .controls .page').removeClass('active');$('.reviews-carousel .controls .page:nth-child('+(currentPage)+')').addClass('active');slidesContainer.animate({scrollLeft:scrollLeft},800);}});});;class BasePaymentProvider{constructor(config={}){if(new.target===BasePaymentProvider){throw new Error('BasePaymentProvider is abstract and cannot be instantiated directly');}
89this.config={environment:'sandbox',...config};this.element=null;this.elementType=null;this.mounted=false;this.ready=false;this.unmountFn=null;this.callbacks={onChange:null,onReady:null,onSuccess:null,onError:null};}
90async init(){throw new Error('init() must be implemented by subclass');}
91async createCardElement(options){throw new Error('createCardElement() must be implemented by subclass');}
92async createBankElement(options){throw new Error('createBankElement() must be implemented by subclass');}
93mount(selector,callbacks={},options={}){throw new Error('mount() must be implemented by subclass');}
94unmount(){if(this.unmountFn&&typeof this.unmountFn==='function'){this.unmountFn();}
95this.mounted=false;this.ready=false;this.element=null;this.elementType=null;}
96isReady(){return this.ready;}
97isMounted(){return this.mounted;}
98getElementType(){return this.elementType;}
99getConfig(){return{...this.config};}
100getName(){throw new Error('getName() must be implemented by subclass');}
101setCallbacks(callbacks){this.callbacks={onChange:callbacks.onChange||null,onReady:callbacks.onReady||null,onSuccess:callbacks.onSuccess||null,onError:callbacks.onError||null};}
102emitError(error){if(this.callbacks.onError){this.callbacks.onError(error instanceof Error?error:new Error(error));}}
103validateConfig(requiredKeys){for(const key of requiredKeys){if(!this.config[key]){throw new Error(`Missing required config: ${key}`);}}}}
104if(typeof module!=='undefined'&&module.exports){module.exports=BasePaymentProvider;}else if(typeof window!=='undefined'){window.BasePaymentProvider=BasePaymentProvider;};class PaymentManager{static providers=new Map();static instances=new Map();static registerProvider(name,ProviderClass){if(typeof name!=='string'||!name.trim()){throw new Error('Provider name must be a non-empty string');}
105if(typeof ProviderClass!=='function'){throw new Error('ProviderClass must be a constructor function');}
106this.providers.set(name.toLowerCase(),ProviderClass);}
107static hasProvider(name){return this.providers.has(name.toLowerCase());}
108static getRegisteredProviders(){return Array.from(this.providers.keys());}
109static async create(name,config={}){const normalizedName=name.toLowerCase();if(!this.providers.has(normalizedName)){throw new Error(`Payment provider "${name}" is not registered. `+`Available providers: ${this.getRegisteredProviders().join(', ') || 'none'}`);}
110const instanceKey=this.getInstanceKey(normalizedName,config);if(this.instances.has(instanceKey)){return this.instances.get(instanceKey);}
111const ProviderClass=this.providers.get(normalizedName);const provider=new ProviderClass(config);try{await provider.init();this.instances.set(instanceKey,provider);return provider;}catch(error){throw new Error(`Failed to initialize "${name}" provider: ${error.message}`);}}
112static getInstance(name,config=null){if(config){const instanceKey=this.getInstanceKey(name.toLowerCase(),config);return this.instances.get(instanceKey)||null;}
113for(const[key,instance]of this.instances){if(key.startsWith(name.toLowerCase()+':')){return instance;}}
114return null;}
115static destroy(name,config=null){const instance=this.getInstance(name,config);if(instance){const instanceKey=config?this.getInstanceKey(name.toLowerCase(),config):this.findInstanceKey(name.toLowerCase());if(instanceKey){this.instances.delete(instanceKey);}
116instance.unmount();}}
117static destroyAll(){for(const instance of this.instances.values()){instance.unmount();}
118this.instances.clear();}
119static getInstanceKey(name,config){const configHash=config.publicKey||'default';const elementType=config.elementType||'default';return`${name}:${configHash}:${elementType}`;}
120static findInstanceKey(name){for(const key of this.instances.keys()){if(key.startsWith(name+':')){return key;}}
121return null;}}
122if(typeof module!=='undefined'&&module.exports){module.exports=PaymentManager;}else if(typeof window!=='undefined'){window.PaymentManager=PaymentManager;};class ForwardProvider extends BasePaymentProvider{static SANDBOX_SDK_URL='https://sandbox-cdn.pci.getfwd.com/sdk/forward.js';static PRODUCTION_SDK_URL='https://cdn.pci.getfwd.com/sdk/forward.js';static sdkLoading=false;static sdkLoadPromise=null;static HTML_SELECTORS={publicKey:"input[name='forward_public_key']",clientSecret:"input[name='forward_client_secret']",environment:"input[name='forward_environment']"};constructor(config={}){const htmlConfig=ForwardProvider.readConfigFromHTML();const mergedConfig={...htmlConfig,...config};super(mergedConfig);this.Forward=null;this.clientSecret=null;}
123static readConfigFromHTML(){const config={};const publicKeyInput=document.querySelector(this.HTML_SELECTORS.publicKey);if(publicKeyInput?.value){config.publicKey=publicKeyInput.value;}
124const clientSecretInput=document.querySelector(this.HTML_SELECTORS.clientSecret);
124if(clientSecretInput?.value){config.clientSecret=clientSecretInput.value;}
125const environmentInput=document.querySelector(this.HTML_SELECTORS.environment);if(environmentInput?.value){config.environment=environmentInput.value;}
126return config;}
127static hasHTMLConfig(){const publicKeyInput=document.querySelector(this.HTML_SELECTORS.publicKey);return!!(publicKeyInput?.value);}
128getName(){return'forward';}
129async init(){this.validateConfig(['publicKey']);await this.loadSDK();this.Forward=window.Forward;if(!this.Forward){throw new Error('Forward SDK failed to load');}}
130async loadSDK(){if(window.Forward){return;}
131if(ForwardProvider.sdkLoadPromise){return ForwardProvider.sdkLoadPromise;}
132ForwardProvider.sdkLoadPromise=new Promise((resolve,reject)=>{const script=document.createElement('script');script.src=this.getSDKUrl();script.async=true;script.setAttribute('data-cmp-ab','1');script.onload=()=>{if(window.Forward){resolve();}else{reject(new Error('Forward SDK loaded but window.Forward is not available'));}};script.onerror=()=>{ForwardProvider.sdkLoadPromise=null;reject(new Error('Failed to load Forward SDK'));};document.head.appendChild(script);});return ForwardProvider.sdkLoadPromise;}
133getSDKUrl(){return this.config.environment==='production'?ForwardProvider.PRODUCTION_SDK_URL:ForwardProvider.SANDBOX_SDK_URL;}
134async createCardElement(options={}){const clientSecret=options.clientSecret||this.config.clientSecret;if(!clientSecret){throw new Error('clientSecret is required to create a card element. Provide it via options or HTML input.');}
135this.clientSecret=clientSecret;this.elementType='card';this.element=await this.Forward.createCardElement({apiKey:this.config.publicKey,clientSecret:clientSecret});return this.element;}
136async createBankElement(options={}){const clientSecret=options.clientSecret||this.config.clientSecret;if(!clientSecret){throw new Error('clientSecret is required to create a bank element. Provide it via options or HTML input.');}
137this.clientSecret=clientSecret;this.elementType='bank';this.element=await this.Forward.createBankElement({apiKey:this.config.publicKey,clientSecret:clientSecret});return this.element;}
138mount(selector,callbacks={},options={}){if(!this.element){throw new Error('No element created. Call createCardElement() or createBankElement() first.');}
139const container=document.querySelector(selector);if(!container){throw new Error(`Container not found: ${selector}`);}
140this.setCallbacks(callbacks);const mountOptions=this.buildMountOptions(callbacks,options);this.unmountFn=this.element.mount(selector,mountOptions);this.mounted=true;}
141buildMountOptions(callbacks,options){const mountOptions={};mountOptions.style=this.normalizeStyles(options.style||{});if(callbacks.onSuccess){mountOptions.onSuccess=async({token})=>{try{await callbacks.onSuccess({token});}catch(error){this.emitError(error);}};}
142if(callbacks.onError){mountOptions.onError=(error)=>{callbacks.onError(error);};}
143if(this.elementType==='card'){if(callbacks.onChange){mountOptions.onChange=(event)=>{callbacks.onChange(this.normalizeChangeEvent(event));};}
144if(callbacks.onReady){mountOptions.onReady=(tokenize)=>{this.ready=true;callbacks.onReady(tokenize);};}
145if(typeof options.showLabels==='boolean'){mountOptions.showLabels=options.showLabels;}
146if(options.billingCountry){mountOptions.billingCountry=options.billingCountry;}}
147if(this.elementType==='bank'){setTimeout(()=>{this.ready=true;if(callbacks.onReady){callbacks.onReady(null);}},0);}
148return mountOptions;}
149normalizeChangeEvent(event){return{ready:event.ready||false,empty:event.empty||false,errors:event.errors||[],paymentMethodType:event.payment_method_type||'card',card:event.card?{lastFourDigits:event.card.last_four_digits,firstSixDigits:event.card.first_six_digits,brand:event.card.brand,expMonth:event.card.exp_month,expYear:event.card.exp_year,wallet:event.card.wallet}:null,billingDetails:event.billing_details||null};}
150normalizeStyles(styles){const defaultStyles={backgroundColor:'#EAF1F3'};return defaultStyles;}
151unmount(){super.unmount();this.clientSecret=null;}
152static isSDKLoaded(){return!!window.Forward;}}
153if(typeof PaymentManager!=='undefined'){PaymentManager.registerProvider('forward',ForwardProvider);}
154if(typeof module!=='undefined'&&module.exports){module.exports=ForwardProvider;}else if(typeof window!=='undefined'){window.ForwardProvider=ForwardProvider;};(function(){var $,cardFromNumber,cardFromType,cards,defaultFormat,formatBackCardNumber,formatBackExpiry,formatCardNumber,formatExpiry,formatForwardExpiry,formatForwardSlashAndSpace,hasTextSelected,luhnCheck,reFormatCVC,reFormatCardNumber,reFormatExpiry,reFormatNumeric,replaceFullWidthChars,restrictCVC,restrictCardNumber,restrictExpiry,restrictNumeric,safeVal,setCardType,__slice=[].slice,__indexOf=[].indexOf||function(item){for(var i=0,l=this.length;i<l;i++){if(i in this&&this[i]===item)return i;}return-1;};$=window.jQuery||window.Zepto||window.$;$.payment={};$.payment.fn={};$.fn.payment=function(){var args,method;method=arguments[0],args=2<=arguments.length?__slice.call(arguments,1
154):[];return $.payment.fn[method].apply(this,args);};defaultFormat=/(\d{1,4})/g;$.payment.cards=cards=[{type:'elo',patterns:[4011,4312,4389,4514,4573,4576,5041,5066,5067,509,6277,6362,6363,650,6516,6550],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'visaelectron',patterns:[4026,417500,4405,4508,4844,4913,4917],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'maestro',patterns:[5018,502,503,506,56,58,639,6220,67],format:defaultFormat,length:[12,13,14,15,16,17,18,19],cvcLength:[3],luhn:true},{type:'forbrugsforeningen',patterns:[600],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'dankort',patterns:[5019],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'visa',patterns:[4],format:defaultFormat,length:[13,16],cvcLength:[3],luhn:true},{type:'mastercard',patterns:[51,52,53,54,55,22,23,24,25,26,27],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'amex',patterns:[34,37],format:/(\d{1,4})(\d{1,6})?(\d{1,5})?/,length:[15],cvcLength:[3,4],luhn:true},{type:'dinersclub',patterns:[30,36,38,39],format:/(\d{1,4})(\d{1,6})?(\d{1,4})?/,length:[14],cvcLength:[3],luhn:true},{type:'discover',patterns:[60,64,65,622],format:defaultFormat,length:[16],cvcLength:[3],luhn:true},{type:'unionpay',patterns:[62,88],format:defaultFormat,length:[16,17,18,19],cvcLength:[3],luhn:false},{type:'jcb',patterns:[35],format:defaultFormat,length:[16],cvcLength:[3],luhn:true}];cardFromNumber=function(num){var card,p,pattern,_i,_j,_len,_len1,_ref;num=(num+'').replace(/\D/g,'');for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];_ref=card.patterns;for(_j=0,_len1=_ref.length;_j<_len1;_j++){pattern=_ref[_j];p=pattern+'';if(num.substr(0,p.length)===p){return card;}}}};cardFromType=function(type){var card,_i,_len;for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];if(card.type===type){return card;}}};luhnCheck=function(num){var digit,digits,odd,sum,_i,_len;odd=true;sum=0;digits=(num+'').split('').reverse();for(_i=0,_len=digits.length;_i<_len;_i++){digit=digits[_i];digit=parseInt(digit,10);if((odd=!odd)){digit*=2;}
155if(digit>9){digit-=9;}
156sum+=digit;}
157return sum%10===0;};hasTextSelected=function($target){var _ref;if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==$target.prop('selectionEnd')){return true;}
158if((typeof document!=="undefined"&&document!==null?(_ref=document.selection)!=null?_ref.createRange:void 0:void 0)!=null){if(document.selection.createRange().text){return true;}}
159return false;};safeVal=function(value,$target){var currPair,cursor,digit,error,last,prevPair;try{cursor=$target.prop('selectionStart');}catch(_error){error=_error;cursor=null;}
160last=$target.val();$target.val(value);if(cursor!==null&&$target.is(":focus")){if(cursor===last.length){cursor=value.length;}
161if(last!==value){prevPair=last.slice(cursor-1,+cursor+1||9e9);currPair=value.slice(cursor-1,+cursor+1||9e9);digit=value[cursor];if(/\d/.test(digit)&&prevPair===(""+digit+" ")&&currPair===(" "+digit)){cursor=cursor+1;}}
162$target.prop('selectionStart',cursor);return $target.prop('selectionEnd',cursor);}};replaceFullWidthChars=function(str){var chars,chr,fullWidth,halfWidth,idx,value,_i,_len;if(str==null){str='';}
163fullWidth='\uff10\uff11\uff12\uff13\uff14\uff15\uff16\uff17\uff18\uff19';halfWidth='0123456789';value='';chars=str.split('');for(_i=0,_len=chars.length;_i<_len;_i++){chr=chars[_i];idx=fullWidth.indexOf(chr);if(idx>-1){chr=halfWidth[idx];}
164value+=chr;}
165return value;};reFormatNumeric=function(e){var $target;$target=$(e.currentTarget);return setTimeout(function(){var value;value=$target.val();value=replaceFullWidthChars(value);value=value.replace(/\D/g,'');return safeVal(value,$target);});};reFormatCardNumber=function(e){var $target;$target=$(e.currentTarget);return setTimeout(function(){var value;value=$target.val();value=replaceFullWidthChars(value);value=$.payment.formatCardNumber(value);return safeVal(value,$target);});};formatCardNumber=function(e){var $target,card,digit,length,re,upperLength,value;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
166$target=$(e.currentTarget);value=$target.val();card=cardFromNumber(value+digit);length=(value.replace(/\D/g,'')+digit).length;upperLength=16;if(card){upperLength=card.length[card.length.length-1];}
167if(length>=upperLength){return;}
168if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
169if(card&&card.type==='amex'){re=/^(\d{4}|\d{4}\s\d{6})$/;}else{re=/(?:^|\s)(\d{4})$/;}
170if(re.test(value)){e.preventDefault();return setTimeout(function(){return $target.val(value+' '+digit);});}else if(re.test(value+digit)){e.preventDefault();return setTimeout(function(){return $target.val(value+digit+' ');});}};formatBackCardNumber=function(e){var $target,value;$target=$(e.currentTarget);value=$target.val();if(e.which!==8){return;}
171if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
172if(/\d\s$/.test(value)){e.preventDefault();return setTimeout(function(){return $target.val(value.replace(/\d\s$/,''));});}else if(/\s\d?$/.test(value)){e.preventDefault();return setTimeout(function(){return $target.val(value.replace(/\d$/,''));});}};reFormatExpiry=function(e){var $target;$target=$(e.currentTarget);return setTimeout(function(){var value;value=$target.val();value=replaceFullWidthChars(value);value=$.payment.formatExpiry(value);return safeVal(value,$target);});};formatExpiry=function(e){var $target,digit,val;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
173$target=$(e.currentTarget);val=$target.val()+digit;if(/^\d$/.test(val)&&(val!=='0'&&val!=='1')){e.preventDefault();return setTimeout(function(){return $target.val("0"+val+" / ");});}else if(/^\d\d$/.test(val)){e.preventDefault();return setTimeout(function(){var m1,m2;m1=parseInt(val[0],10);m2=parseInt(val[1],10);if(m2>2&&m1!==0){return $target.val("0"+m1+" / "+m2);}else{return $target.val(""+val+" / ");}});}};formatForwardExpiry=function(e){var $target,digit,val;digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
174$target=$(e.currentTarget);val=$target.val();if(/^\d\d$/.test(val)){return $target.val(""+val+" / ");}};formatForwardSlashAndSpace=function(e){var $target,val,which;which=String.fromCharCode(e.which);if(!(which==='/'||which===' ')){return;}
175$target=$(e.currentTarget);val=$target.val();if(/^\d$/.test(val)&&val!=='0'){return $target.val("0"+val+" / ");}};formatBackExpiry=function(e){var $target,value;$target=$(e.currentTarget);value=$target.val();if(e.which!==8){return;}
176if(($target.prop('selectionStart')!=null)&&$target.prop('selectionStart')!==value.length){return;}
177if(/\d\s\/\s$/.test(value)){e.preventDefault();return setTimeout(function(){return $target.val(value.replace(/\d\s\/\s$/,''));});}};reFormatCVC=function(e){var $target;$target=$(e.currentTarget);return setTimeout(function(){var value;value=$target.val();value=replaceFullWidthChars(value);value=value.replace(/\D/g,'').slice(0,4);return safeVal(value,$target);});};restrictNumeric=function(e){var input;if(e.metaKey||e.ctrlKey){return true;}
178if(e.which===32){return false;}
179if(e.which===0){return true;}
180if(e.which<33){return true;}
181input=String.fromCharCode(e.which);return!!/[\d\s]/.test(input);};restrictCardNumber=function(e){var $target,card,digit,value;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
182if(hasTextSelected($target)){return;}
183value=($target.val()+digit).replace(/\D/g,'');card=cardFromNumber(value);if(card){return value.length<=card.length[card.length.length-1];}else{return value.length<=16;}};restrictExpiry=function(e){var $target,digit,value;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
184if(hasTextSelected($target)){return;}
185value=$target.val()+digit;value=value.replace(/\D/g,'');if(value.length>6){return false;}};restrictCVC=function(e){var $target,digit,val;$target=$(e.currentTarget);digit=String.fromCharCode(e.which);if(!/^\d+$/.test(digit)){return;}
186if(hasTextSelected($target)){return;}
187val=$target.val()+digit;return val.length<=4;};setCardType=function(e){var $target,allTypes,card,cardType,val;$target=$(e.currentTarget);val=$target.val();cardType=$.payment.cardType(val)||'unknown';if(!$target.hasClass(cardType)){allTypes=(function(){var _i,_len,_results;_results=[];for(_i=0,_len=cards.length;_i<_len;_i++){card=cards[_i];_results.push(card.type);}
188return _results;})();$target.removeClass('unknown');$target.removeClass(allTypes.join(' '));$target.addClass(cardType);$target.toggleClass('identified',cardType!=='unknown');return $target.trigger('payment.cardType',cardType);}};$.payment.fn.formatCardCVC=function(){this.on('keypress',restrictNumeric);this.on('keypress',restrictCVC);this.on('paste',reFormatCVC);this.on('change',reFormatCVC);this.on('input',reFormatCVC);return this;};$.payment.fn.formatCardExpiry=function(){this.on('keypress',restrictNumeric);this.on('keypress',restrictExpiry);this.on('keypress',formatExpiry);this.on('keypress',formatForwardSlashAndSpace);this.on('keypress',formatForwardExpiry);this.on('keydown',formatBackExpiry);this.on('change',reFormatExpiry);this.on('input',reFormatExpiry);return this;};$.payment.fn.formatCardNumber=function(){this.on('keypress',restrictNumeric);this.on('keypress',restrictCardNumber);this.on('keypress',formatCardNumber);this.on('keydown',formatBackCardNumber);this.on('keyup',setCardType);this.on('paste',reFormatCardNumber);this.on('change',reFormatCardNumber);this.on('input',reFormatCardNumber);this.on('input',setCardType);return this;};$.payment.fn.restrictNumeric=function(){this.on('keypress',restrictNumeric);this.on('paste',reFormatNumeric);this.on('change',reFormatNumeric);this.on('input',reFormatNumeric);return this;};$.payment.fn.cardExpiryVal=function(){return $.payment.cardExpiryVal($(this).val());};$.payment.cardExpiryVal=function(value){var month,prefix,year,_ref;_ref=value.split(/[\s\/]+/,2),month=_ref[0],year=_ref[1];
188if((year!=null?year.length:void 0)===2&&/^\d+$/.test(year)){prefix=(new Date).getFullYear();prefix=prefix.toString().slice(0,2);year=prefix+year;}
189month=parseInt(month,10);year=parseInt(year,10);return{month:month,year:year};};$.payment.validateCardNumber=function(num){var card,_ref;num=(num+'').replace(/\s+|-/g,'');if(!/^\d+$/.test(num)){return false;}
190card=cardFromNumber(num);if(!card){return false;}
191return(_ref=num.length,__indexOf.call(card.length,_ref)>=0)&&(card.luhn===false||luhnCheck(num));};$.payment.validateCardExpiry=function(month,year){var currentTime,expiry,_ref;if(typeof month==='object'&&'month'in month){_ref=month,month=_ref.month,year=_ref.year;}
192if(!(month&&year)){return false;}
193month=$.trim(month);year=$.trim(year);if(!/^\d+$/.test(month)){return false;}
194if(!/^\d+$/.test(year)){return false;}
195if(!((1<=month&&month<=12))){return false;}
196if(year.length===2){if(year<70){year="20"+year;}else{year="19"+year;}}
197if(year.length!==4){return false;}
198expiry=new Date(year,month);currentTime=new Date;expiry.setMonth(expiry.getMonth()-1);expiry.setMonth(expiry.getMonth()+1,1);return expiry>currentTime;};$.payment.validateCardCVC=function(cvc,type){var card,_ref;cvc=$.trim(cvc);if(!/^\d+$/.test(cvc)){return false;}
199card=cardFromType(type);if(card!=null){return _ref=cvc.length,__indexOf.call(card.cvcLength,_ref)>=0;}else{return cvc.length>=3&&cvc.length<=4;}};$.payment.cardType=function(num){var _ref;if(!num){return null;}
200return((_ref=cardFromNumber(num))!=null?_ref.type:void 0)||null;};$.payment.formatCardNumber=function(num){var card,groups,upperLength,_ref;num=num.replace(/\D/g,'');card=cardFromNumber(num);if(!card){return num;}
201upperLength=card.length[card.length.length-1];num=num.slice(0,upperLength);if(card.format.global){return(_ref=num.match(card.format))!=null?_ref.join(' '):void 0;}else{groups=card.format.exec(num);if(groups==null){return;}
202groups.shift();groups=$.grep(groups,function(n){return n;});return groups.join(' ');}};$.payment.formatExpiry=function(expiry){var mon,parts,sep,year;parts=expiry.match(/^\D*(\d{1,2})(\D+)?(\d{1,4})?/);if(!parts){return'';}
203mon=parts[1]||'';sep=parts[2]||'';year=parts[3]||'';if(year.length>0){sep=' / ';}else if(sep===' /'){mon=mon.substring(0,1);sep='';}else if(mon.length===2||sep.length>0){sep=' / ';}else if(mon.length===1&&(mon!=='0'&&mon!=='1')){mon="0"+mon;sep=' / ';}
204return mon+sep+year;};}).call(this);;;(function(){var cc={button:$('.checkout button[type="submit"]:visible'),chargeInFlight:false,init:function(){var self=this;var stripeInput=$("input[name='stripe_key']");var squareInput=$("input[name='square_key']");var forwardInput=$("input[name='forward_public_key']");if(stripeInput.length>0){this.initStripe(stripeInput.val());}else if(squareInput.length==1){this.initSquare(squareInput.val());}else if($(".payment-method-form .gc").length==1||$('.gc-capture').length==1){this.initGoCardless();}else if(forwardInput.length>=1&&forwardInput.first().val()){this.initForward();}else if($("input.card-number").length==1){this.validateCcForm(false);if($('.bank').length==1){this.validateBankForm(false);}}else if($('.ezypay-hpp-modal').length===1){this.initEzypay();}else{$('.checkout').submit(function(e){if($(this).data('submit')){e.preventDefault();var callback=$(this).data('submit');callback.call();}});}
205if(typeof($.cardswipe)!='undefined'){this.initSwipeEvents();}
206$('.checkout').data('cc',self);},initEzypay:function(){if(!window.ezypayModal){return;}
207$('.checkout').on('submit',function(e){if(!$(this).find('.ezypay').is(':visible')||($(this).find("input[name='nonce']").length==1&&$(this).find("input[name='nonce']").val()!='')){if(typeof mor!=='undefined'&&mor.form&&mor.form.hasBlockingPaymentMethodError&&mor.form.hasBlockingPaymentMethodError($(this))){e.preventDefault();return;}
208if($(this).data('submit')){e.preventDefault();const callback=$(this).data('submit');callback.call();}
209return;}
210e.preventDefault();window.ezypayModal.openModal();});window.ezypayModal.onTokenSuccess=function(paymentMethodToken,type){$('.checkout').append('<input type="hidden" name="nonce" value="'+paymentMethodToken+'">');$('.checkout').trigger('submit');};$('.close').on('click',function(){window.ezypayModal.closeModal();});},initForward:function(forcedElementType){var self=this;var isBank=forcedElementType?forcedElementType==='bank':$('.bank.forward').is(':visible')&&$('#forward-bank-element').length>0;var elementSelector=isBank?'#forward-bank-element':'#forward-card-element';var paymentType=isBank?'bank':'card';var form;if(isBank){form=$('.bank.forward form');}else{form=$('#forward-card-element').closest('form.checkout');if(form.length===0){form=$('.checkout');}}
211var submitButton=form.find("button[type='submit']");if(submitButton.length===0){var bookForm=$('#forward-card-element').closest('.book-form');if(bookForm.length>0){submitButton=bookForm.find("button[type='submit']");}}
212if(submitButton.length===0){console.error('Forward: Submit button not found');return;}
213if(!form.data('forwardButtonHtml')){form.data('forwardButtonHtml',submitButton.html());}
214var originalButtonHtml=form.data('forwardButtonHtml');var paymentMethodVisible=$(elementSelector).closest('.payment-method-form').is(':visible');if(paymentMethodVisible){submitButton.prop('disabled',true);}
215if(typeof PaymentManager==='undefined'){console.error('Forward: PaymentManager not loaded');submitButton.prop('disabled',false);return;}
216form.off('submit.forward submit.forward-fallback');form.on('submit.forward-fallback',function(e){var existingCallback=form.data('submit');if(existingCallback){e.preventDefault();existingCallback.call();}});var clientSecret=form.find("input[name='forward_client_secret']").val();PaymentManager.create('forward',{elementType:paymentType}).then(function(provider){if(isBank){return provider.createBankElement({clientSecret:clientSecret}).then(function(){return provider;});}else{return provider.createCardElement({clientSecret:clientSecret}).then(function(){return provider;});}}).then(function(provider){if(isBank){provider.mount(elementSelector,self.forwardMountCallbacks(form,paymentType,submitButton,originalButtonHtml),{showLabels:true});submitButton.prop('disabled',false);form.off('submit.forward-fallback');form.off('submit.forward').on('submit.forward',function(e){if(form.find("input[name='nonce']").length===1&&form.find("input[name='nonce']").val()!==''){var existingCallback=form.data('submit');if(existingCallback){e.preventDefault();existingCallback.call();}
217return;}
218e.preventDefault();submitButton.prop('disabled',true);var verifyingText=submitButton.attr('data-verifying')||'Verifying...';submitButton.html('<i class="icon-lock"></i> '+verifyingText+' <span class="spinner"></span>');});}else{var callbacks=self.forwardMountCallbacks(form,paymentType,submitButton,originalButtonHtml);callbacks.onChange=function(event){if(event.ready&&!event.errors.length&&!form.data(self.forwardTokenizeFlag(paymentType))){submitButton.prop('disabled',false);}};callbacks.onReady=function(tokenize){submitButton.prop('disabled',false);form.off('submit.forward-fallback');form.off('submit.forward').on('submit.forward',function(e){if(typeof mor!=='undefined'&&mor.form&&mor.form.hasBlockingPaymentMethodError&&mor.form.hasBlockingPaymentMethodError(form)){e.preventDefault();return;}
219if(form.find("input[name='nonce']").length===1&&form.find("input[name='nonce']").val()!==''){var existingCallback=form.data('submit');if(existingCallback){e.preventDefault();existingCallback.call();}
220return;}
221var forwardElement=form.find('#forward-card-element');var paymentMethodContainer=forwardElement.closest('.payment-method');var paymentMethodVisible=paymentMethodContainer.length>0?paymentMethodContainer.is(':visible'):forwardElement.is(':visible');if(!paymentMethodVisible){var existingCallback=form.data('submit');if(existingCallback){e.preventDefault();existingCallback.call();}
222return;}
223e.preventDefault();if(form.data(self.forwardTokenizeFlag(paymentType))){return;}
224form.data(self.forwardTokenizeFlag(paymentType),true);submitButton.prop('disabled',true);var verifyingText=submitButton.attr('data-verifying')||'Verifying...';submitButton.html('<i class="icon-lock"></i> '+verifyingText+' <span class="spinner"></span>');try{tokenize();}catch(tokenizeError){form.data(self.forwardTokenizeFlag(paymentType),false);submitButton.prop('disabled',false).html(originalButtonHtml);throw tokenizeError;}});};provider.mount(elementSelector,callbacks,{showLabels:true,billingCountry:self.forwardBillingCountry(form)});}
225return provider;}).then(function(provider){self.initForwardTerminal();}).catch(function(error){console.error('Forward initialization error:',error);submitButton.prop('disabled',false);submitButton.html(originalButtonHtml);$('.reader-section .message').html('Terminal unavailable');$('.reader-section .hollow-button').hide();if(typeof mor!=='undefined'&&mor.error){mor.error(submitButton,t('payment.validation.paymentFormCouldNotBeInitialized'));}});},initForwardBank:function(){var self=this;var form=$('.bank.forward form');if(form.length===0){form=$('#forward-bank-element').closest('form');}
226var submitButton=form.find("button[type='submit']");if(submitButton.length===0){console.error('Forward Bank: Submit button not found');return;}
227if(!form.data('forwardButtonHtml')){form.data('forwardButtonHtml',submitButton.html());}
228var originalButtonHtml=form.data('forwardButtonHtml');submitButton.prop('disabled',true);if(typeof PaymentManager==='undefined'){console.error('Forward Bank: PaymentManager not loaded');submitButton.prop('disabled',false);return;}
229form.data('forwardRemount-bank',function(){self.mountForwardBankElement(form,submitButton,originalButtonHtml);});if(!self.forwardPmiUrl(form)){self.mountForwardBankElement(form,submitButton,originalButtonHtml);return;}
230self.refreshForwardPaymentIntent(form,function(refreshed){if(!refreshed){submitButton.prop('disabled',false);submitButton.html(originalButtonHtml);self.reportForwardUnavailable(submitButton);return;}
231self.mountForwardBankElement(form,submitButton,originalButtonHtml);});},mountForwardBankElement:function(form,submitButton,originalButtonHtml){var self=this;var clientSecret=form.find("input[name='forward_client_secret']").val();PaymentManager.create('forward',{elementType:'bank'}).then(function(provider){return provider.createBankElement({clientSecret:clientSecret}).then(function(){return provider;});}).then(function(provider){provider.mount('#forward-bank-element',{onSuccess:function(result){form.data(self.forwardTokenizeFlag('bank'),false);form.data(self.forwardRecoveryCountKey('bank'),0);self.setHiddenField(form,'nonce',result.token);self.setHiddenField(form,'forward_payment_type','bank');self.setHiddenField(form,'payment_method','bank');self.replaceConsumedForwardIntent(form,'bank');var existingCallback=form.data('submit');if(existingCallback){existingCallback.call();}else{form.off('submit').submit();}},onError:function(error){submitButton.html(originalButtonHtml);if(self.isSpentForwardIntentError(error)&&self.forwardPmiUrl(form)){self.recoverFromSpentForwardIntent(form,'bank',submitButton);return;}
232form.data(self.forwardTokenizeFlag('bank'),false);submitButton.prop('disabled',false);
232if(typeof mor!=='undefined'&&mor.error){mor.error(submitButton,error.message||error);}else{alert(error.message||'An error occurred. Please try again.');}}},{showLabels:true});submitButton.prop('disabled',false);form.off('submit.forward-bank');if(!form.find('#forward-card-element').length){form.off('submit.forward');}
233form.on('submit.forward-bank',function(e){e.preventDefault();if(form.data(self.forwardTokenizeFlag('bank'))){return;}
234form.data(self.forwardTokenizeFlag('bank'),true);submitButton.prop('disabled',true);var verifyingText=submitButton.attr('data-verifying')||'Verifying...';submitButton.html('<i class="icon-lock"></i> '+verifyingText+' <span class="spinner"></span>');});}).catch(function(error){console.error('Forward Bank initialization error:',error);submitButton.prop('disabled',false);submitButton.html(originalButtonHtml);if(typeof mor!=='undefined'&&mor.error){mor.error(submitButton,t('payment.validation.paymentFormCouldNotBeInitialized'));}});},initForwardTerminal:function(){const readerSection=$('.reader-section');if(readerSection.length===0){return;}
235const readerSectionButton=readerSection.find('.hollow-button.reader');const readerMessageElement=readerSection.find('.message');
235readerMessageElement.html(t('manager.billing.form.cardReaderReady'));readerSectionButton.removeClass('disabled');const isPayment=readerSection.attr('attr-intent')=='yes';readerSectionButton.off('click.forwardTerminal').on('click.forwardTerminal',function(event){if(readerSectionButton.hasClass('disabled')){return;}
236readerSectionButton.addClass('disabled');if(isPayment){var amount=parseFloat($(".total span[attr-rel='amount']").text());if($("input[name='use_balance']").is(":checked")){var balanceAmount=parseFloat($("form.checkout label.balance span[attr-rel='amount']").text());amount=Math.max(0,amount-balanceAmount);}
237amount=cc.addCardFee(amount);if(amount==0){mor.error(readerSectionButton,t('manager.billing.form.saleAmountIs0'));readerSectionButton.removeClass('disabled');return;}
238if($("input[name='name']").is(":visible")){var name=$("input[name='name']").val();if(name==''){mor.error($("input[name='name']"),t('manager.billing.form.pleaseEnterCustomerName'));readerSectionButton.removeClass('disabled');return;}}}
239$.get(isPayment?'/manager/forward/new-terminal-session':'/manager/forward/read-terminal-card').then(function(data){readerSectionButton.removeClass('disabled');const checkoutForm=$('.checkout');if(isPayment){checkoutForm.find('input[name="forward_terminal_session_key"]').remove();checkoutForm.append('<input type="hidden" name="forward_terminal_session_key">').find('input[name="forward_terminal_session_key"]').val(data.forward_terminal_session_key);checkoutForm[0].submit();return;}
240if(data.is_single_use){readerMessageElement.html('Payment method is single use. Please try again with a separate method (e.g. insert credit card chip).');return;}
241checkoutForm.append('<input type="hidden" name="nonce">').find('input[name="nonce"]').val(data.payment_method_id);checkoutForm[0].submit();},function(jqXHR){const data=jqXHR.responseJSON;let errorMessage='Terminal unavailable';if(typeof data.errors!=='undefined'&&data.errors.length>0){errorMessage=data.errors.join(' ');}
242readerMessageElement.html(errorMessage);readerSectionButton.removeClass('disabled');$('.checkout').find('input[name="forward_terminal_session_key"]').remove();},);});},initStripe:function(token){var connected=$("input[name='connected_id']");var options={};if(connected.length>0){options['stripeAccount']=connected.val();}
243if($('.bank.pad').length==1){options['betas']=['acss_debit_beta_2'];}
244var stripe=Stripe(token,options);if($('#stripe-element').length==1||$('#card-number').length==1){this.stripeElement(stripe);}
245this.stripeBankForm(stripe);if(typeof(StripeTerminal)!='undefined'){this.initStripeReader();}
246if($('.ideal').length>0){this.initIdeal(stripe);}
247if($('.bancontact').length==1){this.initBancontact(stripe);}},stripeElement:function(stripe){var self=this;var intent=$("input[name='payment-intent']");if(intent.length==1&&$('#stripe-element').length==1){var options={clientSecret:intent.val()};if($('.academy-body').is('.dark')){options['appearance']={variables:{colorText:'#fff',colorBackground:'#3e4c59',colorBorder:'#52606d'}};}
248var elements=stripe.elements(options);var params={defaultValues:{billingDetails:{address:{country:$("[name='address_country']").val()}}},fields:{billingDetails:{address:{country:'never'}}}};var paymentElement=elements.create('payment',params);paymentElement.mount('#stripe-element');$('.checkout').data('stripePaymentElement',paymentElement);paymentElement.on('change',function(event){if(intent.parents('form').data('paymentChange')&&event.value.type){var cb=intent.parents('form').data('paymentChange');cb(event.value.type);}});}else{var elements=stripe.elements();var smaller=$("input[name='smaller_cc_fonts']").val()==1;var style={base:{color:$('body').is('.dark')?'#F5F7FA':'#32325d',fontFamily:'Roboto, sans-serif',fontSmoothing:'antialiased',fontSize:smaller?'14px':'16px','::placeholder':{color:'#aab7c4'}},invalid:{color:'#fa755a',iconColor:'#fa755a'}};var cardNumber=elements.create('cardNumber',{style:style});var cardExpiry=elements.create('cardExpiry',{style:style});var cardCvc=elements.create('cardCvc',{style:style});var postalCode=elements.create('postalCode',{style:style});cardNumber.mount('#card-number');cardExpiry.mount('#card-expiry');cardCvc.mount('#card-cvc');postalCode.mount('#postal-code');
248$('.checkout').data('stripeCardElements',{cardNumber:cardNumber,cardExpiry:cardExpiry,cardCvc:cardCvc,postalCode:postalCode});$('.checkout').data('stripeCardComplete',{cardNumber:false,cardExpiry:false,cardCvc:false});var trackComplete=function(event,key){var state=$('.checkout').data('stripeCardComplete')||{};state[key]=!!event.complete;$('.checkout').data('stripeCardComplete',state);};var errorCallback=function(event,el){if(event.error){var error=mor.error($(el).parent(),event.error.message);$(el).data('error',error);}else{var error=$(el).data('error');if(typeof(error)!='undefined'){error.remove();}}};cardNumber.addEventListener('change',function(event){errorCallback(event,'#card-number');trackComplete(event,'cardNumber');});cardExpiry.addEventListener('change',function(event){errorCallback(event,'#card-expiry');trackComplete(event,'cardExpiry');});cardCvc.addEventListener('change',function(event){errorCallback(event,'#card-cvc');trackComplete(event,'cardCvc');});postalCode.addEventListener('change',function(event){errorCallback(event,'#postal-code');});}
249$('.checkout').unbind('submit');$('.checkout').submit(function(e){if($(this).find('input[name="payment_unavailable"]').length>0){e.preventDefault();return;}
250if($(this).find('.stripe-unavailable').length>0&&$(this).find('.payment-card').is(':visible')){e.preventDefault();return;}
251if($('.ideal').length>0&&$('.ideal').is(':visible')&&$('#ideal-bank-element').length>0){}else{if($(this).find('.StripeElement').is(':visible')){if(!cc.stripeCardComplete($(this))){e.preventDefault();cc.showIncompleteCardError($(this));return;}
252if(!cc.validatedBooking($(this))){e.preventDefault();return;}
253if(mor.form.hasBlockingPaymentMethodError($(this))){e.preventDefault();return;}
254var button=$(this).find("button[type='submit']:visible");if($(this).find("input[name='nonce']").length==1&&$(this).find("input[name='nonce']").val()!=''){var form=$(this);if(form.data('submit')){e.preventDefault();var html=button.data('html');if(html!=''){button.html(button.data('html'));}
255button.prop('disabled',false);var callback=form.data('submit');callback.call();}else{form[0].submit();}
256return;}
257if(cc.chargeInFlight){e.preventDefault();return false;}
258cc.chargeInFlight=true;button.data('html',button.html()).prop('disabled',true);button.html(`${t('common.status.verifying')} <span class="spinner"></span>`);$('.use-method input[name="use_card"]').prop('disabled',true);e.preventDefault();var data={};var fields=['street','city','state','country','zip'];for(var i in fields){if($("[name='address_"+fields[i]+"']").length==1&&$("[name='address_"+fields[i]+"']").val()!=''){var key=fields[i]=='street'?'line1':(fields[i]);key=fields[i]=='zip'?'postal_code':key;if(!data['address']){data['address']={};}
259data['address'][key]=$("[name='address_"+fields[i]+"']").val();}}
260var adFields=['email','phone','name'];for(var i in adFields){if($("input[name='"+adFields[i]+"']").length==1&&$("input[name='"+adFields[i]+"']").val()!=''){var key=adFields[i];data[key]=$("input[name='"+adFields[i]+"']").val();}}
261var intent=$("input[name='payment-intent']");if(intent.length==1&&typeof(paymentElement)!='undefined'){var params=[];if($("input[name='assign_manual']").is(":checked")){params.push('assign_manual=1');}
262if($("input[name='layout']").val()=='mobile'){params.push('layout=mobile');}
263var suffix='';if(params.length>0){suffix='?'+params.join('&');}
264stripe.confirmSetup({elements,confirmParams:{return_url:window.location.href.split('?')[0]+suffix,payment_method_data:{billing_details:{address:data['address']}}},redirect:"if_required"}).then(function(result){self.stripeResponse(result);},function(error){cc.chargeInFlight=false;$('.use-method input[name="use_card"]').removeAttr('disabled');button.html(button.data('html')).prop('disabled',false);mor.error(button,error);});}else{if($(".total-price").length==1){var amount=$(".total input[name='total']").val();}else if($('.amount input').length==1){var amount=$('.amount input').val();}else{var amount=$('.label-amount .amount').attr('attr-amount');}
265amount=cc.addCardFee(amount);self.createStripePaymentIntent(amount,function(response){stripe.confirmCardPayment(response.client_secret,{payment_method:{card:cardNumber,billing_details:data},}).then(function(result){self.stripeResponse(result);},function(error){cc.chargeInFlight=false;$('.use-method input[name="use_card"]').removeAttr('disabled');button.html(button.data('html')).prop('disabled',false);mor.error(button,error);});});}
266return false;}else{if(mor.form.hasBlockingPaymentMethodError($(this))){e.preventDefault();return;}
267if($(this).data('submit')){e.preventDefault();var callback=$(this).data('submit');callback.call();}}}});},stripeBankForm:function(stripe){var self=this;if($('.bank').is('.becs')){this.initBECSForm(stripe);return false;}
268if($('.bank').is('.pad')){this.initPadForm(stripe);return false;}
269var form=$('.bank form');var button=form.find("button[type='submit']:visible");var callback=function(){var data={'country':'US','currency':'USD','routing_number':$("input.bank_routing").val(),'account_number':$("input.bank_account").val(),'account_holder_name':$("input[name='bank_account_name']").val(),'account_holder_type':$("select[name='bank_account_type']").val()};if(button.find('.spinner').length==0){button.data('html',button.html());button.html('<i class="icon-lock"></i>
269 '+t('common.actions.saving')+' <span class="spinner"></span>').prop('disabled',true);}
270stripe.createToken('bank_account',data).then(function(response){if(response.error){mor.error(button,response.error.message);mor.form.resetButton(form);button.html(button.data('html')).prop('disabled',false);}else{var token=response.token.id;form.append($('<input type="hidden" name="nonce" />').val(token));form[0].submit();}});};var rules={'bank_account':{'NotEmpty':t('manager.billing.form.validation.enterBankAccountNumber')},'bank_routing':{'NotEmpty':t('manager.billing.form.validation.enterBankRoutingNumber')},'bank_account_name':{'NotEmpty':t('manager.billing.form.validation.enterNameOnAccount')}};mor.form.validate(form,rules,callback);},initPadForm:function(stripe){var form=$('.pad form');$(form).submit(function(e){if($('.error-message').length>0){e.preventDefault();return false;}
271var button=$(this).find("button[type='submit']:visible");button.data('html',button.html()).prop('disabled',true);button.html(t('common.status.verifying')+' <sp
271an class="spinner"></span>');e.preventDefault();stripe.confirmAcssDebitSetup($("input[name='pad_secret']").val(),{payment_method:{billing_details:{name:$(".pad input[name='bank_account_name']").val(),email:$(".pad input[name='email']").val(),}}}).then(function(result){if(result.error){mor.error(button,result.error.message);button.html(button.data('html')).prop('disabled',false);}else{form[0].submit();}});return false;});},initStripeReader:function(){var terminal=StripeTerminal.create({onFetchConnectionToken:function(){return $.post('manager/stripe/getreadertoken',{}).then(function(response){const secret=response?.token?.secret??null;if(!secret){console.error('Failed to fetch the Stripe card reader token from backend.');}
272return secret;});},onUnexpectedReaderDisconnect:function(){$('.reader-section .message').html(t('manager.billing.form.readerDisconnected'));$('.reader-section .hollow-button').hide();}});var config={simulated:false};if($("input[name='env']").val()=='test'){config.simulated=true;var simConfig={testPaymentMethod:"visa",testCardNumber:'4242424242424242'};terminal.setSimulatorConfiguration(simConfig);}
273terminal.discoverReaders(config).then(function(discoverResult){if(discoverResult.error){$('.reader-section .message').html(discoverResult.error);$('.reader-section .hollow-button').hide();}else if(discoverResult.discoveredReaders.length===0){$('.reader-section .message').html(t('manager.billing.form.noAvailableReaders'));$('.reader-section .hollow-button').hide();}else{var selectedReader=discoverResult.discoveredReaders[0];terminal.connectReader(selectedReader).then(function(connectResult){if(connectResult.error){$('.reader-section .message').html(connectResult.error.message);$('.reader-section .hollow-button').hide();}else{$('.reader-section .message').html(t('manager.billing.form.cardReaderReady'));$('.hollow-button.reader').removeClass('disabled');}});}});var intent=$(".reader-section").attr('attr-intent')=='yes';var collecting=false;var readerButtonHtml=$('.reader-section .hollow-button.reader').html();var resetButton=function(){$('.reader-section .simulated-tap').remove();$('.reader-section .hollow-button.reader').removeClass('reading').html(readerButtonHtml);$(".reader-section .message").html(t('manager.billing.form.cardReaderReady'));if(collecting){collecting=false;if(intent){terminal.cancelCollectPaymentMethod();}else{terminal.cancelCollectSetupIntentPaymentMethod();}}};var form=$('.checkout');form.data('cancelReader',function(){resetButton();$('.reader-section .message').html(t('manager.billing.form.cartChangedRestartReader'));});$('.hollow-button.reader').click(function(){if($(this).is('.disabled')){return false;}
274if($(this).is('.reading')){resetButton();}else{if(intent){var amount=cc.readerChargeAmount();if(amount==0){mor.error($(".reader-section .reader"),t('manager.billing.form.saleAmountIs0'));return false;}
275if($("input[name='name']").is(":visible")){var name=$("input[name='name']").val();if(name==''){mor.error($("input[name='name']"),t('manager.billing.form.pleaseEnterCustomerName'));return false;}}
276$('.reader-section .message').html(t('manager.billing.form.preparingReader')+' <span class="spinner dark-spin"></span>');$(this).addClass('reading').html('Cancel');form.data('readerAmount',amount);var data={amount:amount};if($(".order .tax-input").length>0){var i=1;var meta={};$('.order .tax-input').each(function(){var label=$(this).find("> em").text();meta[label]=$(this).find("input[name='tax"+i+"']").val();meta[label+' Rate']=$(this).find("input[name='tax"+i+"_rate']").val();i++;});data['metadata']=meta;}
277var desc=[];$('.order .items .item').each(function(){var item=$(this);var quantity=item.find('input[name*="quantity"]').val();desc.push(item.find('.desc').text()+' x '+quantity);});data['description']=desc.join(', ');$.post('manager/sales/createintent',data,function(response){if(!$('.hollow-button.reader').is('.reading')){return;}
278if(response.error){resetButton();mor.error($(".reader-section .reader"),response.error.message);}else if(config.simulated){$('.reader-section .message').html('Simulated reader: waiting for customer to present card');$('<a class="hollow-button simulated-tap">Present card</a>').insertAfter('.reader-section .message').one('click',function(){$(this).remove();collectAndProcess(response.client_secret);$('.reader-section .message').html(t('manager.billing.form.sendingToReader')+' <sp
278an class="spinner dark-spin"></span>');});}else{collectAndProcess(response.client_secret);}
279function collectAndProcess(clientSecret){$('.reader-section .message').html(t('manager.billing.form.insertOrSwipeCardInReader'));collecting=true;terminal.collectPaymentMethod(clientSecret).then(function(result){collecting=false;if(result.error){if(result.error.code!='canceled'){mor.error($(".reader-section .reader"),result.error.message);}}else{terminal.processPayment(result.paymentIntent).then(function(result){if(result.error){if(result.error.code!='canceled'){mor.error($(".reader-section .reader"),result.error.message);}}else if(result.paymentIntent){$('.reader-section .message').html(t('manager.billing.form.cardReadSuccessfully'));$('.hollow-button.reader').removeClass('reading').addClass('submitting').html(t('common.actions.saving')+' <span class="spinner dark-spin"></span>');form.append('<input type="hidden" name="nonce" value="'+result.paymentIntent.id+'"/>');var submitCheckout=form.data('submit');if(typeof submitCheckout==='function'){submitCheckout();}else{form[0].submit();}}});}});}},'json');}else{$('.reader-section .message').html(t('manager.billing.form.preparingReader')+' <span class="spinner dark-spin"></span>');$(this).addClass('reading').html('Cancel');$.post('manager/stripe/createterminalsetupintent',{},function(response){if(response.error){resetButton();mor.error($('.hollow-button.reader'),response.error.message);}else{$('.reader-section .message').html(t('manager.billing.form.insertOrSwipeCardInReader'));collecting=true;terminal.collectSetupIntentPaymentMethod(response.client_secret).then(function(collectResult){collecting=false;if(collectResult.error){resetButton();if(collectResult.error.code!='canceled'){mor.error($('.hollow-button.reader'),collectResult.error.message);}}else if(collectResult.setupIntent){$('.reader-section .message').html(t('manager.billing.form.cardReadSuccessfully'));terminal.confirmSetupIntent(collectResult.setupIntent).then(function(confirmResult){if(confirmResult.error){resetButton();mor.error($('.hollow-button.reader'),confirmResult.error.message);}else if(confirmResult.setupIntent){$('.hollow-button.reader').removeClass('reading').addClass('submitting').html(t('common.actions.saving')+' <span class="spinner dark-spin"></span>');form.append('<input type="hidden" name="nonce" value="'+confirmResult.setupIntent.id+'"/>');form[0].submit();}});}});}},'json');}}});if($("input[name='client_side_refund']").val()==1){this.initClientRefund(terminal);}},initBECSForm:function(stripe){if($('.becs').length==1){var form=$('.becs form');var elements=stripe.elements();var style={base:{color:'#32325d',lineHeight:'24px',fontFamily:'"Helvetica Neue", Helvetica, sans-serif',fontSmoothing:'antialiased',fontSize:'16px','::placeholder':{color:'#aab7c4'}},invalid:{color:'#fa755a',iconColor:'#fa755a'}};var options={style:style,disabled:false,hideIcon:false,iconStyle:"default",};var auBankAccount=elements.create('auBankAccount',options);auBankAccount.mount('#becs-element');auBankAccount.on('change',function(event){if(event.error){mor.error('#becs-element',event.error.message);}else{$('.error-message').remove();}});$(form).submit(function(e){if($('.error-message').length>0){e.preventDefault();return false;}
280var button=$(this).find("button[type='submit']:visible");button.data('html',button.html()).prop('disabled',true);
280button.html(t('common.status.verifying')+' <span class="spinner"></span>');if($(this).find('.StripeElement').is(':visible')){e.preventDefault();stripe.confirmAuBecsDebitSetup($(".becs input[name='becs_secret']").val(),{payment_method:{au_becs_debit:auBankAccount,billing_details:{name:$(".becs input[name='bank_account_name']").val(),email:$(".becs input[name='email']").val()}}}).then(function(result){if(result.error){mor.error(button,result.error.message);button.html(button.data('html')).prop('disabled',false);}else{form[0].submit();}});;return false;}});}},initIdeal:function(stripe){if($('#ideal-bank-element').length==0){return;}
281var elements=stripe.elements();var options={style:{base:{padding:'10px 12px',fontSize:'16px',},},};if($('.academy-body').is('.dark')){options['theme']='night';}
282var self=this;var idealBank=elements.create('idealBank',options);idealBank.mount('#ideal-bank-element');var form=$('.ideal form,form.ideal,.pay-invoice form,.finish-payment form');var idealHandler=function(form,e){var button=$(form).find("button");button.data('html',button.html()).prop('disabled',true);
282button.html(t('common.status.verifying')+' <span class="spinner"></span>');if($(form).find('#ideal-bank-element').is(':visible')){e.preventDefault();var email=$("input[name='accountholder-email']").val();var data={name:$("input[name='accountholder-name']").val()};var amount=$(".total-price").length==1?$(".total input[name='total']").val():$("input[name='amount']").val();var params={name:$("input[name='accountholder-name']").val(),amount:amount,'ideal':1,'id':$("input[name='payment_id']").val()}
283if($("input[name='description']").length==1){params['description']=$("input[name='description']").val();}
284if($('.pay-invoice').length==1){params['type']='sale';}
285if(email!=''){params['email']=data['email']=email;}
286if($("input[name='sepa']").length==1&&$("input[name='sepa']").val()==1){params['sepa']=1;}
287var fields=['street','city','state','country','zip'];for(var i in fields){if($("input[name='address_"+fields[i]+"']").length==1&&$("input[name='address_"+fields[i]+"']").val()!=''){var key=fields[i]=='street'?'line1':(fields[i]);key=fields[i]=='zip'?'postal_code':key;if(!data['address']){data['address']={};}
288data['address'][key]=$("input[name='address_"+fields[i]+"']").val();}}
289var adFields=['phone'];for(var i in adFields){if($("input[name='"+adFields[i]+"']").length==1&&$("input[name='"+adFields[i]+"']").val()!=''){var key=adFields[i];data[key]=$("input[name='"+adFields[i]+"']").val();}}
290if($("input[name='metadata']").length==1){params['metadata']=JSON.parse($("input[name='metadata']").val());}
291if($("input[name='customer_id']").length==1){params['customer_id']=$("input[name='customer_id']").val();}
292var module=$("input[name='module']").val();var url=(module!='site'&&module!='academy')?(module+'/stripe/pi'):'/stripe/pi';$.post(url,params,function(response){stripe.confirmIdealPayment(response.client_secret,{payment_method:{ideal:idealBank,billing_details:data},return_url:$("input[name='return_url']").val()}).then(function(result){self.stripeResponse(result);});return false;},'json');}};this.idealHandler=idealHandler;$(form).submit(function(e){if($('#payment-form').length==1||$('.payment-type.ideal').is(":visible")){if($('.error-message').length>0){e.preventDefault();return false;}
293idealHandler(form,e);}});},initBancontact:function(stripe){var self=this;var form=$('.bancontact form,form.bancontact,.pay-invoice form');var handler=function(form,e){var button=$(form).find("button[type='submit']:visible");button.data('html',button.html()).prop('disabled',true);
293button.html(t('common.status.verifying')+' <span class="spinner"></span>');e.preventDefault();var email=$("input[name='accountholder-email']").val();var data={name:$("input[name='accountholder-name']").val()};var amount=$(".total-price").length==1?$(".total input[name='total']").val():$("input[name='amount']").val();var params={name:$("input[name='accountholder-name']").val(),amount:amount,'bancontact':1,'id':$("input[name='payment_id']").val()}
294if($('.pay-invoice').length==1){params['type']='sale';}
295if($("input[name='description']").length==1){params['description']=$("input[name='description']").val();}
296if(email!=''){data['email']=params['email']=email;}
297if($("input[name='sepa']").length==1&&$("input[name='sepa']").val()==1){params['sepa']=1;}
298var fields=['street','city','state','country','zip'];for(var i in fields){if($("input[name='address_"+fields[i]+"']").length==1&&$("input[name='address_"+fields[i]+"']").val()!=''){var key=fields[i]=='street'?'line1':(fields[i]);key=fields[i]=='zip'?'postal_code':key;if(!data['address']){data['address']={};}
299data['address'][key]=$("input[name='address_"+fields[i]+"']").val();}}
300var adFields=['phone'];for(var i in adFields){if($("input[name='"+adFields[i]+"']").length==1&&$("input[name='"+adFields[i]+"']").val()!=''){var key=adFields[i];data[key]=$("input[name='"+adFields[i]+"']").val();}}
301var module=$("input[name='module']").val();var url=(module!='site'&&module!='academy')?(module+'/stripe/pi'):'/stripe/pi';if($("input[name='metadata']").length==1){params['metadata']=JSON.parse($("input[name='metadata']").val());}
302$.post(url,params,function(response){stripe.confirmBancontactPayment(response.client_secret,{payment_method:{billing_details:data},return_url:$("input[name='return_url']").val()}).then(function(result){self.stripeResponse(result);});return false;},'json');};$(form).submit(function(e){if($('#payment-form').length==1||$('.payment-type.bancontact').is(":visible")){e.preventDefault();handler(form,e);}});},idealHandler:null,readerChargeAmount:function(){var amount=parseFloat($(".total span[attr-rel='amount']").text().replace(/,/g,''));if($("input[name='use_balance']").is(":checked")){var balanceAmount=parseFloat($("form.checkout label.balance span[attr-rel='amount']").text().replace(/,/g,''));amount=Math.max(0,amount-balanceAmount);}
303return cc.addCardFee(amount);},addCardFee:function(amount){var feeAlreadyIncluded=parseFloat($("input[name='processing_fee']").val())>0;var hasCardFee=$("input[name='card_fee']").length===1&&$("input[name='card_fee']").val()!=='';if(!feeAlreadyIncluded&&hasCardFee){var fee=parseFloat($("input[name='card_fee']").val());return round(amount*(100+fee)/100,2);}
304return parseFloat(amount);},createStripePaymentIntent:function(amount,callback){var module=$("input[name='module']").val();var url=(module!='site'&&module!='academy'&&module!=undefined)?(module+'/stripe/pi'):'/stripe/pi';var data={amount:amount};if($("input[name='academy_id']").length>0){data['academy_id']=$("input[name='academy_id']").val();}
305if($("input[name='description']").length==1&&$("input[name='description']").val()!=''){data['description']=$("input[name='description']").val();}
306if($("input[name='metadata']").length==1){data['metadata']=JSON.parse($("input[name='metadata']").val());}else if($("input[name='tax1']").length==1){var label=$("input[name='tax1']").parents('.tax-input').children('em').html();var meta={}
307if(label!=undefined){meta[label]=parseFloat($("input[name='tax1']").val(),10).toFixed(2);}
308if($("input[name='tax2']").length==1){label=$("input[name='tax2']").parents('.tax-input').children('em').html();if(label!=undefined){meta[label]=parseFloat($("input[name='tax2']").val(),10).toFixed(2);}}
309data['metadata']=meta;}
310if($("input[name='name']").length==1){data['name']=$("input[name='name']").val();}
311if($("input[name='email']").length==1){data['email']=$("input[name='email']").val();}
312var handleError=function(message){cc.chargeInFlight=false;var button=$('.checkout button[type="submit"]:visible');if(button.data('html')){button.html(button.data('html'));}
313button.prop('disabled',false);
313if(typeof mor!=='undefined'&&mor.error){mor.error(button,message||t('payment.validation.cardPaymentProcessingFailed'));}};$.post(url,data,function(result){if(!result||result.error){handleError(result&&result.error&&result.error.message);return;}
314callback(result);},'json').fail(function(){handleError();});},stripeResponse:function(response){cc.chargeInFlight=false;var form=$('.checkout');var button=form.find("button[type='submit']:visible");if(response.error){button.html(button.data('html')).prop('disabled',false);mor.error(button,response.error.message);}else{var token=typeof(response.setupIntent)!='undefined'?response.setupIntent.id:response.paymentIntent.id;var intentType=typeof(response.setupIntent)!='undefined'?'setupIntent':'paymentIntent';var intent=response.setupIntent||response.paymentIntent;form.append('<input type="hidden" name="nonce" value="'+token+'"/>');if(form.data('submit')){var html=button.data('html');if(html!=''){button.html(button.data('html'));}
315button.prop('disabled',false);var callback=form.data('submit');callback.call();}else{form[0].submit();}}
316return false;},initClientRefund:function(terminal){$('.refund form').submit(function(e){e.preventDefault();var form=$(this);var amount=$("input[name='total']").val()*100;var id=$("input[name='transaction_id']").val();var button=$("form button[type='submit']:visible");button.data('html',button.html());button.html(t('manager.billing.form.sendingToReader')+' <span class="spinner"></span>');return terminal.collectRefundPaymentMethod(id,amount,"cad").then(function(collectRefundPaymentMethodResult){if(collectRefundPaymentMethodResult.error){mor.error(button,collectRefundPaymentMethodResult.error.message);button.html(button.data('html'));}else{return terminal.processRefund();}}).then(function(processRefundResult){if(processRefundResult.error){mor.error(button,processRefundResult.error.message);button.html(button.data('html'));}else{form.append('<input type="hidden" name="refund_id" value="'+processRefundResult.refund.id+'" />');form[0].submit();}});});},validateCcForm:function(callback){var form=$('.checkout');$('.card-number').payment('formatCardNumber');$('.card-expiry').payment('formatCardExpiry');var rules={'card-number':{'NotEmpty':t('manager.billing.form.validation.enterCardNumber'),'Card':t('manager.billing.form.validation.enterValidCardNumber')},'card-expiry':{'Expiry':t('manager.billing.form.validation.enterValidExpirationDate')},};var self=this;if($("input[name='authorize_public_key']").length==1){rules['billing_street']={'N
316otEmpty':t('payment.validation.enterBillingStreetAddress')};callback=function(){if($(".payment-card").is(':hidden')||$('.payment-method-form').is(':hidden')||$('.payment-area').is(':hidden')){var form=$(".checkout");if(form.data('submit')){var callback=form.data('submit');callback.call();}else{form[0].submit();}
317return true;}
318$('.use-method input[name="use_card"]').prop('disabled',true);var authData={clientKey:$("input[name='authorize_public_key']").val(),apiLoginID:$("input[name='authorize_login_id']").val()};var expiration=$("input[attr-name='card-expiry']").val();var parts=expiration.split(' / ');var secureData={authData:authData};var cardData={cardNumber:$("input[attr-name='card-number']").val().split(' ').join(''),month:parts[0],year:parts[1],cardCode:$("input[attr-name='card-cvc']").val(),zip:$("input.zipcode").val(),fullName:$("input[name='card_name']").val()};secureData.cardData=cardData;var paymentLock=localStorage.getItem('paymentLock');if(!paymentLock||paymentLock=='false'){Accept.dispatchData(secureData,self.handleAuthorizeResponse);}}}
319if(!callback){if(form.data('submit')){callback=form.data('submit');}}
320mor.form.validate(form,rules,callback);},validateBankForm:function(callback){var form=$('.bank form');var rules={'bank_account_name':{'NotEmpty':t('payment.validation.enterAccountHolderName')},'bank_routing':{'NotEmpty':t('payment.validation.enterRoutingNumber')},'bank_account':{'NotEmpty':t('payment.validation.enterAccountNumber')},'bank_name':{'NotEmpty':t('payment.validation.enterBankName')}};var self=this;if($("input[name='authorize_public_key']").length==1){callback=function(){var authData={clientKey:$("input[name='authorize_public_key']").val(),apiLoginID:$("input[name='authorize_login_id']").val()};var expiration=$("input[attr-name='card-expiry']").val();var parts=expiration.split(' / ');var secureData={authData:authData};var cardData={accountNumber:$("input[attr-name='bank_account']").val(),routingNumber:$("input[attr-name='bank_routing']").val(),nameOnAccount:$("input[name='bank_account_name']").val(),accountType:$("select[name='bank_account_type']").val(),bankName:$("input[name='bank_name']").val()};secureData.bankData=cardData;Accept.dispatchData(secureData,self.handleAuthorizeResponse);}}
321mor.form.validate(form,rules,callback);},handleAuthorizeResponse:function(response){var form=$("form:visible");var button=form.find("button[type='submit']:visible");if(button.length===0){button=$('.checkout button[type="submit"]:visible');}
322if(response.messages.resultCode=='Ok'){var token=response.opaqueData.dataValue;form.find('input.sensitive').attr('name','');if(form.find("input[attr-name='card-expiry']").length==1){$("<input type='hidden' name='card-expiry' value='"+form.find("input[attr-name='card-expiry']").val()+"' />").appendTo(form);}
323$("<input type='hidden' name='nonce' value='"+token+"' />").appendTo(form);if(form.data('submit')){var callback=form.data('submit');callback.call();}else{form[0].submit();}}else if(response.messages.resultCode=='Error'){const code=response.messages.message[0].code??'unknown';const localised=t({E_WC_05:'payment.validation.invalidCardNumber',E_WC_06:'payment.validation.invalidExpirationDate',E_WC_07:'payment.validation.invalidExpirationDate',E_WC_08:'payment.validation.expirationDateMustBeInFuture',E_WC_15:'payment.validation.invalidCVV',E_WC_16:'payment.validation.invalidZipCode',E_WC_17:'payment.validation.invalidCardHolder',E_WC_24:'payment.validation.invalidAccountNumber',E_WC_25:'payment.validation.invalidRoutingNumber',E_WC_26:'payment.validation.invalidAccountHolderName',E_WC_27:'payment.validation.invalidAccountType',}[code]??'payment.validation.paymentNotVerified');let error=response.messages.message[0].text;mor.error(button,localised);mor.form.resetButton(form);$('.use-method input[name="use_card"]').removeAttr('disabled');cc.recordFailure(error);}else{let error=t('payment.validation.couldNotValidatePaymentDetails');mor.error(button,error);mor.form.resetButton(form);$('.use-method input[name="use_card"]').removeAttr('disabled');cc.recordFailure(error);}},initSquare:function(appId,reinitOnly){if(!appId)return;if(!reinitOnly){$('.checkout').click(function(){$('.error-message').remove();});}
324var styles={fontSize:'15px',backgroundColor:"transparent"};if($('.academy-body').is('.dark')){styles['color']='#ffffff';}
325var card=null;let payments;var run=async function(){var retryCount=0;var delayMs=1000;while(retryCount<3){try{payments=Square.payments(appId,$("input[name='location_id']").val());card=await payments.card();break;}catch(e){retryCount++;
325if(retryCount==3){mor.error($('.checkout button[type="submit"]'),t('payment.validation.paymentFormCouldNotBeInitialized'));throw e;}
326await new Promise(resolve=>setTimeout(resolve,delayMs));delayMs*=1.5;}}
327var cardOptions={"style":{".input-container":{"borderWidth":"2px","borderColor":"#D2D6E2","borderRadius":"4px"},".input-container.is-focus":{"borderColor":"#08C9B5"},}};if($('body').is('.dark')){cardOptions['style']['.input-container']={'borderColor':'#52606d','borderRadius':'4px'};cardOptions['style']['input']={'backgroundColor':'#3e4c59','color':'#F5F7FA'};cardOptions['style']['input::placeholder']={'color':'#b5b5b5'};}
328await card.attach('#card-container');await card.configure(cardOptions);$(".checkout").data('payments',payments).data('card',card);}
329var process=async function(){var button=$('.checkout button[type="submit"]').is(':visible')?$('.checkout button[type="submit"]'):$('.checkout .g-recaptcha');button.data('html',button.html());button.html('<i class="icon-lock"></i> '+t('common.actions.saving')+' <span class="spinner"></span>').prop('disabled',true);$('.use-method input[name="use_card"]').prop('disabled',true);var form=$('.checkout');var card=form.data('card');var payments=form.data('payments');if(!card||!payments){button.html(button.data('html')).prop('disabled',false);$('.use-method input[name="use_card"]').removeAttr('disabled');return;}
330var result;var tokenizeAttempts=0;const maxTokenizeAttempts=3;var tokenizeDelayMs=1000;while(true){try{result=await card.tokenize();break;}catch(error){tokenizeAttempts++;if(tokenizeAttempts>=maxTokenizeAttempts){button.html(button.data('html')).prop('disabled',false);$('.use-method input[name="use_card"]').removeAttr('disabled');cc.recordFailure('Tokenization failed: '+error.message);mor.error(button,t('payment.validation.cardPaymentProcessingFailed'));return;}
331await new Promise(resolve=>setTimeout(resolve,tokenizeDelayMs));tokenizeDelayMs*=1.5;}}
332var verify=true;if(result.status==='OK'){if(verify){if($('div.pos').length==1){var name=$("input[name='name']").val();var parts=name.split(' ');var firstName=parts[0];var lastName=parts.length>1?name.replace(parts[0]+' ',''):'';var verificationDetails={intent:'CHARGE',amount:$(".order .total-price span[attr-rel='amount']").html(),currencyCode:$("input[name='currency']").val(),billingContact:{givenName:firstName,familyName:lastName}};}else if($('#checkout').length==1){var name=$("#checkout input[name='name']").val();var parts=name.split(' ');var firstName=parts[0];var lastName=parts.length>1?name.replace(parts[0]+' ',''):'';var verificationDetails={intent:'CHARGE',amount:$(".amount input[name='total-amount']").val(),currencyCode:$("input[name='currency']").val(),billingContact:{givenName:firstName,familyName:lastName}};}else if($('.book-form').length==1||$('.academy-book').length==1){var name=$(".checkout input[name='name']").val();var email=$(".checkout input[name='email']").val();var phone=$(".checkout input[name='phone']").val();var cost=$(".checkout input[name='total']").val();var currency=$(".checkout input[name='currency']").val();var parts=name.split(' ');var firstName=parts[0];var lastName=parts.length>1?name.replace(parts[0]+' ',''):'';var verificationDetails={amount:Number(cost).toFixed(2).toString(),billingContact:{familyName:firstName,givenName:lastName,email:email,phone:phone},currencyCode:currency,intent:'CHARGE'};}else{var name=$("input[name='card_name']").val();var parts=name.split(' ');var firstName=parts[0];var lastName=parts.length>1?name.replace(parts[0]+' ',''):'';var verificationDetails={intent:'STORE',billingContact:{givenName:firstName,familyName:lastName}};}
333try{var verificationResults=await payments.verifyBuyer(result.token,verificationDetails);}catch(e){$('.use-method input[name="use_card"]').removeAttr('disabled');button.html(button.data('html')).prop('disabled',false);mor.error(button,t('payment.validation.paymentNotVerified'));cc.recordFailure('Payment could not be verified');return false;}}
334$('.use-method input[name="use_card"]').removeAttr('disabled');var form=$('.checkout');var nonce=$(form).find("input[name='nonce']");if(nonce.length==0){nonce=$('<input type="hidden" name="nonce" />').appendTo(form);}
335nonce.val(result.token);if(verificationResults&&verificationResults.token){var verfInput=$(form).find("input[name='verification_token']");if(verfInput.length==0){verfInput=$('<input type="hidden" name="verification_token" />').appendTo(form);}
336verfInput.val(verificationResults.token);}
337if(form.data('submit')){var callback=form.data('submit');callback.call();}else{form[0].submit();}}else{button.html(button.data('html')).prop('disabled',false);$('.use-method input[name="use_card"]').removeAttr('disabled');cc.recordFailure('Card declined');mor.error(button,t('payment.validation.cardDeclined'));}}
338if(reinitOnly){run();return;}
339run();$('.checkout').submit(function(e){e.preventDefault();if($('#card-container').is(':visible')){if(!cc.validatedBooking($(this))){return;}
340if(mor.form.hasBlockingPaymentMethodError($(this))){return;}
341var paymentLock=localStorage.getItem('paymentLock');if(!paymentLock||paymentLock=='false'){process();}}else{if(mor.form.hasBlockingPaymentMethodError($(this))){return;}
342if($(this).data('submit')){var callback=$(this).data('submit');callback.call();}else{$(this)[0].submit();}}});},initSwipeEvents:function(){var scanstart=function(){};var scanend=function(){};var success=function(event,data){event.preventDefault();return;}
343var failure=function(){console.log('fail');}
344var complete=function(data){var form=$("form.checkout");var input=form.find("input[name='track1']");if(input.length==0){input=$('<input name="track1" type="hidden" />').appendTo(form);}};$.cardswipe({firstLineOnly:false,success:complete,parsers:["visa","amex","mastercard","discover","jcb","diners","maestro","unionpay","generic"],debug:false});$(document).on("scanstart.cardswipe",scanstart).on("scanend.cardswipe",scanend).on("success.cardswipe",success).on("failure.cardswipe",failure);},recordFailure:function(reason){if(window.location.pathname.includes('/manager/')){return;}
345var visitorId=localStorage.getItem('visitor_id');$.post('checkout/addpaymentdecline',{reason:reason,visitor_id:visitorId},function(response){localStorage.setItem('paymentLock',response.locked);if(!response.locked&&response.declines>1&&$("input[name='g-recaptcha-response']").length==0&&typeof(grecaptcha)!='undefined'){$('button[type="submit"]').prop('disabled',true).hide();$('button.g-recaptcha').removeClass('hidden');cc.button=$('button.g-recaptcha');}
346if($("input[name='g-recaptcha-response']").length==1){grecaptcha.enterprise.reset();}
347if(response.locked){$('.checkout').hide();$('.payment-lock').css({'display':'block'});}});},initGoCardless(){var captureGc=function(success,error){var data={};if($(".amount input[name='total']").length==1){data['amount']=$(".amount input[name='total']").val();if($("input[name='description']").length==1){data['description']=$("input[name='description']").val();}}
348if($('input[name="academy_id"]').length>0){data['academy_id']=$('input[name="academy_id"]').val();}
349var module=$("input[name='module']").val();if(module=='academy'){module='';}
350$.post(module+'/gc/br',data,function(response){if(response.success){var handler=GoCardlessDropin.create({billingRequestFlowID:response.flow_id,environment:$("input[name='env']").val()=='test'?"sandbox":"live",onSuccess:(billingRequest,billingRequestFlow)=>{success.call(this,billingRequest);},onExit:(msg,metadata)=>{error.call(this,msg);}});handler.open();}else{error.call(this,response.errors);}},'json');};$('.gc form').submit(function(e){e.preventDefault();var form=$(this);var button=form.find("button[type='submit']:visible");button.data('html',button.html()).prop('disabled',true);
350button.html(t('common.status.loading')+' <span class="spinner"></span>');var success=function(request){form.append('<input type="hidden" name="customer_id" value="'+request.links.customer+'" />');form.append('<input type="hidden" name="mandate_id" value="'+request.links.mandate_request_mandate+'" />');form[0].submit();};var errorFunc=function(error){button.prop('disabled',false).html(button.data('html'));if(error!=null&&error!=''){mor.error(button,error);}};captureGc(success,errorFunc);});$('.gc-capture').click(function(){var button=$(this);button.data('html',button.html()).prop('disabled',true);button.html(t('common.status.loading')+' <span class="spinner"></span>');var success=function(request){var container=button.parents('.payment-type');container.find(".gc-payment").show().find('input').remove();var payment=container.find('.gc-payment').append(($('.pos,#checkout').length==1?'':('<input type="hidden" name="customer_id" value="'+request.links.customer+'" />'))
351+'<input type="hidden" name="mandate_id" value="'+request.links.mandate_request_mandate+'" />');payment.find('.bank_name').html(request.resources.customer_bank_account.bank_name);payment.find('.account_number').html('********'+request.resources.customer_bank_account.account_number_ending);button.prop('disabled',false).html(button.data('html')).parent().addClass('gc-authorized');if($('.book-form,.picker').length>0){$(".book-form button[type='submit'],.picker button[type='submit']").removeClass('disabled').prop('disabled',false);}else if($('.checkout').length==1&&$('.checkout').data('submit')){var callback=$('.checkout').data('submit');callback();$('.pos .payment button').show();}else if($('#checkout').length==1&&$("input[name='module']").val()=='academy'){var form=$('#checkout form');$('#checkout .confirm-option').show().find('button').html(t('common.status.processing')+' <span class="spinner"></span>');form[0].submit();}};var error=function(msg){button.prop('disabled',false).html(button.data('html'));if(msg!=null){mor.error(button,msg);}};captureGc(success,error);});$('.gc-payment .remove-gc').click(function(){var customerId=$('.gc-payment').find("input[name='customer_id']").val();$.post('manager/gc/removecustomer',{customer_id:customerId});$('.gc-payment').parents('.payment-type').find('.buttons').removeClass('gc-authorized');$('.gc-payment').hide().find('input').remove();});$('.checkout').submit(function(e){if($(this).data('submit')){e.preventDefault();var callback=$(this).data('submit');callback.call();}});$('.gc-payment').each(function(){var hasAuthorization=$(this).find('input[name="mandate_id"]').length>0&&$(this).find('input[name="mandate_id"]').val()!=='';if(!hasAuthorization){$(this).hide();}else{$(this).parents('.payment-type').find('.buttons').addClass('gc-authorized');}});},validatedBooking:function(form){if((form.parent('.book-form').length==1||form.hasClass('book-form'))&&form.attr('attr-verified')!=1){if(form.data('verify')){var callback=form.data('verify');callback.call();return false;}}
352return true;}
352,stripeCardComplete:function(form){var state=$(form).data('stripeCardComplete');if(!state){return true;}
353return!!(state.cardNumber&&state.cardExpiry&&state.cardCvc);},showIncompleteCardError:function(form){var target=$(form).find('#card-number').parent();if(target.length&&typeof mor!=='undefined'&&mor.error){mor.error(target,t('manager.billing.form.validation.enterCardDetails'));}},resetPaymentForm:function(form){form=form&&form.length?form:$('.checkout');if(!form.length)return;form.find("input[name='nonce']").remove();form.find("input[name='forward_payment_type']").remove();form.find("input[name='forward_terminal_session_key']").remove();form.find("input[name='payment-intent']").remove();this.resetGoCardlessForm(form);var stripePaymentElement=form.data('stripePaymentElement');if(stripePaymentElement&&typeof stripePaymentElement.clear==='function'){stripePaymentElement.clear();}
354var stripeCardElements=form.data('stripeCardElements');if(stripeCardElements){['cardNumber','cardExpiry','cardCvc','postalCode'].forEach(function(key){if(stripeCardElements[key]&&typeof stripeCardElements[key].clear==='function'){stripeCardElements[key].clear();}});}
355var formWithSquare=form.find('#card-container').length?form:$('#card-container').closest('form');if(formWithSquare.length&&formWithSquare.find('input[name="square_key"]').length>0){var card=formWithSquare.data('card');if(card&&typeof card.destroy==='function'){try{card.destroy();}catch(e){}
356formWithSquare.removeData('card');var container=formWithSquare.find('#card-container');if(container.length)container.replaceWith($('<div id="card-container"></div>'));var appId=formWithSquare.find('input[name="square_key"]').val();if(appId)this.initSquare(appId,true);}}},resetGoCardlessForm:function(form){form=form&&form.length?form:$('.checkout');if(!form.length)return;var module=form.find("input[name='module']").val()||$('#payment-type input[name="module"]').val()||$('#footer input[name="module"]').val()||'';if(module==='members')return;var gcType=form.find('.payment-type.bank.gc');if(!gcType.length)return;gcType.find('.buttons').removeClass('gc-authorized');gcType.find("input[name='customer_id'], input[name='mandate_id']").remove();var gcPayment=gcType.find('.gc-payment');if(gcPayment.length){gcPayment.hide();gcPayment.find('.bank_name').text('');gcPayment.find('.account_number').text('');}},setHiddenField:function(form,name,value){var field=form.find("input[name='"+name+"']");if(0===field.length){field=$('<input type="hidden">').attr('name',name).appendTo(form);}
357field.val(value);},forwardBillingCountry:function(form){return form.find("input[name='forward_billing_country']").val()||'';},forwardPmiUrl:function(form){return form.find("input[name='forward_pmi_url']").val()||null;},forwardTokenizeFlag:function(paymentType){return'forwardTokenizeInFlight-'+paymentType;},forwardRecoveryCountKey:function(paymentType){return'forwardRecoveries-'+paymentType;},forwardMountCallbacks:function(form,paymentType,submitButton,originalButtonHtml){var self=this;return{onSuccess:function(result){form.data(self.forwardTokenizeFlag(paymentType),false);form.data(self.forwardRecoveryCountKey(paymentType),0);self.setHiddenField(form,'nonce',result.token);self.setHiddenField(form,'forward_payment_type',paymentType);self.replaceConsumedForwardIntent(form,paymentType);submitButton.html(originalButtonHtml).prop('disabled',false);self.submitForwardForm(form);},onError:function(error){submitButton.html(originalButtonHtml);if(self.isSpentForwardIntentError(error)&&self.forwardPmiUrl(form)){self.recoverFromSpentForwardIntent(form,paymentType,submitButton);return;}
358form.data(self.forwardTokenizeFlag(paymentType),false);submitButton.prop('disabled',false);if(typeof mor!=='undefined'&&mor.error){mor.error(submitButton,error.message||error);}else{alert(error.message||'An error occurred. Please try again.');}}};},submitForwardForm:function(form){var existingCallback=form.data('submit');var submitNow=function(){if(existingCallback){existingCallback.call();}else{form[0].submit();}};var recaptchaDiv=form.find('.g-recaptcha[data-size="invisible"]');if(recaptchaDiv.length>0&&typeof grecaptcha!=='undefined'&&grecaptcha.enterprise){form.data('submit',submitNow);grecaptcha.enterprise.execute();return;}
359submitNow();},refreshForwardPaymentIntent:function(form,done,reason){var clientSecretInput=form.find("input[name='forward_client_secret']");var url=this.forwardPmiUrl(form);done=done||function(){};if(!clientSecretInput.length||!url){done(false);return;}
360var data={};var academyId=form.find("input[name='academy_id']").val()||$("input[name='academy_id']").first().val();if(academyId){data.academy_id=academyId;}
361if(reason){data.reason=reason;}
362$.ajax({url:url,type:'POST',data:data,dataType:'json',success:function(response){if(response&&response.success&&response.client_secret){clientSecretInput.val(response.client_secret);done(true);return;}
363done(false);},error:function(){done(false);}});},replaceConsumedForwardIntent:function(form,elementType,done,reason){var self=this;var inFlightKey='forwardRefreshInFlight-'+elementType;done=done||function(){};if(typeof PaymentManager==='undefined'){done(false);return;}
364if(!this.forwardPmiUrl(form)){done(false);return;}
365if(form.data(inFlightKey)){done(false);return;}
366form.data(inFlightKey,true);this.refreshForwardPaymentIntent(form,function(refreshed){form.data(inFlightKey,false);
366if(!refreshed){done(false);return;}
367PaymentManager.destroy('forward',{elementType:elementType});var remount=form.data('forwardRemount-'+elementType);if(remount){remount();}else{self.initForward(elementType);}
368done(true);},reason);},isSpentForwardIntentError:function(error){var message=(error&&(error.message||(error.errors&&error.errors[0]&&error.errors[0].message)||(error.error&&error.error.message)))||error;if(typeof message!=='string'){return false;}
369return message.toLowerCase().indexOf('cannot be captured')!==-1;},recoverFromSpentForwardIntent:function(form,elementType,submitButton){var self=this;var countKey=this.forwardRecoveryCountKey(elementType);var attempts=form.data(countKey)||0;var release=function(){form.data(self.forwardTokenizeFlag(elementType),false);submitButton.prop('disabled',false);};if(attempts>=2){release();this.reportForwardUnavailable(submitButton);return;}
370form.data(countKey,attempts+1);this.replaceConsumedForwardIntent(form,elementType,function(rebuilt){release();if(!rebuilt){self.reportForwardUnavailable(submitButton);return;}
371self.reportForwardError(submitButton,t('payment.validation.paymentSessionAlreadyUsed'));},'spent_intent');},reportForwardUnavailable:function(target){this.reportForwardError(target,t('payment.validation.paymentSessionUnavailable'));},reportForwardError:function(target,text){if(!target.length||typeof mor==='undefined'||!mor.error){return;}
372var previousTip=target.data('error');if(previousTip){previousTip.remove();}
373mor.error(target,text);}};window.cc=cc;$(document).ready(async function(){await window.gymdesk.i18n.translationsReady;cc.init();});})();
374;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function f(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var t in e)if(m(e,t))return;return 1}function r(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function a(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function d(e,t){for(var n=[],s=0;s<e.length;++s)n.push(t(e[s],s));return n}function c(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function _(e,t,n,s){return xt(e,t,n,s,!0).utc()}function y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function g(e){if(null==e._isValid){var t=y(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function w(e){var t=_(NaN);return null!=e?c(y(t),e):y(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var p=f.momentProperties=[],t=!1;function v(e,t){var n,s,i;if(r(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),r(t._i)||(e._i=t._i),r(t._f)||(e._f=t._f),r(t._l)||(e._l=t._l),r(t._strict)||(e._strict=t._strict),r(t._tzm)||(e._tzm=t._tzm),r(t._isUTC)||(e._isUTC=t._isUTC),r(t._offset)||(e._offset=t._offset),r(t._pf)||(e._pf=y(t)),r(t._locale)||(e._locale=t._locale),0<p.length)for(n=0;n<p.length;n++)r(i=t[s=p[n]])||(e[s]=i);return e}function k(e){v(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,f.updateOffset(this),t=!1)}function M(e){return e instanceof k||null!=e&&null!=e._isAMomentObject}function D(e){!1===f.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return c(function(){if(null!=f.deprecationHandler&&f.deprecationHandler(null,i),a){for(var e,t,n=[],s=0;s<arguments.length;s++){if(e="","object"==typeof arguments[s]){for(t in e+="\n["+s+"] ",arguments[0])m(arguments[0],t)&&(e+=t+": "+arguments[0][t]+", ");e=e.slice(0,-2)}else e=arguments[s];n.push(e)}D(i+"\nArguments: "+Array.prototype.slice.call(n).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,S={};function Y(e,t){null!=f.deprecationHandler&&f.deprecationHandler(e,t),S[e]||(D(t),S[e]=!0)}function O(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=c({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},c(s[n],e[n]),c(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=c({},s[n]));return s}function x(e){null!=e&&this.set(e)}f.suppressDeprecationWarnings=!1,f.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};function T(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}
374|x|X|zz?|ZZ?|.)/g,P=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},W={};function C(e,t,n,s){var i="string"==typeof s?function(){return this[s]()}:s;e&&(W[e]=i),t&&(W[t[0]]=function(){return T(i.apply(this,arguments),t[1],t[2])}),n&&(W[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function U(e,t){return e.isValid()?(t=H(t,e.localeData()),R[t]=R[t]||function(s){for(var e,i=s.match(N),t=0,r=i.length;t<r;t++)W[i[t]]?i[t]=W[i[t]]:i[t]=(e=i[t]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var t="",n=0;n<r;n++)t+=O(i[n])?i[n].call(e,s):i[n];return t}}(t),R[t](e)):e.localeData().invalidDate()}function H(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(P.lastIndex=0;0<=n&&P.test(e);)e=e.replace(P,s),P.lastIndex=0,--n;return e}var F={};function L(e,t){var n=e.toLowerCase();F[n]=F[n+"s"]=F[t]=e}function V(e){return"string"==typeof e?F[e]||F[e.toLowerCase()]:void 0}function G(e){var t,n,s={};for(n in e)m(e,n)&&(t=V(n))&&(s[t]=e[n]);return s}var E={};function A(e,t){E[e]=t}function j(e){return e%4==0&&e%100!=0||e%400==0}function I(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function Z(e){var t=+e,n=0;return 0!=t&&isFinite(t)&&(n=I(t)),n}function z(t,n){return function(e){return null!=e?(q(this,t,e),f.updateOffset(this,n),this):$(this,t)}}function $(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function q(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&j(e.year())&&1===e.month()&&29===e.date()?(n=Z(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),xe(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}var B,J=/\d/,Q=/\d\d/,X=/\d{3}/,K=/\d{4}/,ee=/[+-]?\d{6}/,te=/\d\d?/,ne=/\d\d\d\d?/,se=/\d\d\d\d\d\d?/,ie=/\d{1,3}/,re=/\d{1,4}/,ae=/[+-]?\d{1,6}/,oe=/\d+/,ue=/[+-]?\d+/,le=/Z|[+-]\d\d:?\d\d/gi,he=/Z|[+-]\d\d(?::?\d\d)?/gi,de=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;function ce(e,n,s){B[e]=O(n)?n:function(e,t){return e&&s?s:n}}function fe(e,t){return m(B,e)?B[e](t._strict,t._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}B={};var _e={};function ye(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),h(n)&&(s=function(e,t){t[n]=Z(e)}),t=0;t<e.length;t++)_e[e[t]]=s}function ge(e,i){ye(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var we,pe=0,ve=1,ke=2,Me=3,De=4,Se=5,Ye=6,Oe=7,be=8;function xe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1==s?j(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){for(var t=0;t<this.length;++t)if(this[t]===e)return t;return-1},C("M",["MM",2],"Mo",function(){return this.month()+1}),C("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),C("MMMM",0,0,function(e){return this.localeData().months(this,e)}),L("month","M"),A("month",8),ce("M",te),ce("MM",te,Q),ce("MMM",function(e,t){return t.monthsShortRegex(e)}),ce("MMMM",function(e,t){return t.monthsRegex(e)}),ye(["M","MM"],function(e,t){t[ve]=Z(e)-1}),ye(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[ve]=i:y(n).invalidMonth=e});var Te="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ne="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Pe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Re=de,We=de;function Ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=Z(t);else if(!h(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),xe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Ue(e){return null!=e?(Ce(this,e),f.updateOffset(this,!0),this):$(this,"Month")}function He(){function e(e,t){return t.length-e.length}for(var t,n=[],s=[],i=[],r=0;r<12;r++)t=_([2e3,r]),n.push(this.monthsShort(t,"")),s.push(this.months(t,"")),i.push(this.months(t,"")),i.push(this.monthsShort(t,""));for(n.sort(e),s.sort(e),i.sort(e),r=0;r<12;r++)n[r]=me(n[r]),s[r]=me(s[r]);for(r=0;r<24;r++)i[r]=me(i[r]);this._monthsRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+n.join("|")+")","i")}function Fe(e){return j(e)?366:365}C("Y",0,0,function(){var e=this.year();return e<=9999?T(e,4):"+"+e}),C(0,["YY",2],0,function(){return this.year()%100}),C(0,["YYYY",4],0,"year"),C(0,["YYYYY",5],0,"year"),C(0,["YYYYYY",6,!0],0,"year"),L("year","y"),A("year",1),ce("Y",ue),ce("YY",te,Q),ce("YYYY",re,K),ce("YYYYY",ae,ee),ce("YYYYYY",ae,ee),ye(["YYYYY","YYYYYY"],pe),ye("YYYY",function(e,t){t[pe]=2===e.length?f.parseTwoDigitYear(e):Z(e)}),ye("YY",function(e,t){t[pe]=f.parseTwoDigitYear(e)}),ye("Y",function(e,t){t[pe]=parseInt(e,10)}),f.parseTwoDigitYear=function(e){return Z(e)+(68<Z(e)?1900:2e3)};var Le=z("FullYear",!0);function Ve(e){var t,n;return e<100&&0<=e?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ge(e,t,n){var s=7+t-n;return s-(7+Ve(e,0,s).getUTCDay()-t)%7-1}function Ee(e,t,n,s,i){var r,a=1+7*(t-1)+(7+n-s)%7+Ge(e,s,i),o=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:o}}function Ae(e,t,n){var s,i,r=Ge(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+je(i=e.year()-1,t,n):a>je(e.year(),t,n)?(s=a-je(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function je(e,t,n){var s=Ge(e,t,n),i=Ge(e+1,t,n);return(Fe(e)-s+i)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),A("week",5),A("isoWeek",5),ce("w",te),ce("ww",te,Q),ce("W",te),ce("WW",te,Q),ge(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=Z(e)});function Ie(e,t){return e.slice(t,7).concat(e.slice(0,t))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),ce("d",te),ce("e",te),ce("E",te),ce("dd",function(e,t){return t.weekdaysMinRegex(e)}),ce("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ce("dddd",function(e,t){return t.weekdaysRegex(e)}),ge(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:y(n).invalidWeekday=e}),ge(["d","e","E"],function(e,t,n,s){t[s]=Z(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),$e="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),qe=de,Be=de,Je=de;function Qe(){function e(e,t){return t.length-e.length}for(var t,n,s,i,r=[],a=[],o=[],u=[],l=0;l<7;l++)t=_([2e3,1]).day(l),n=me(this.weekdaysMin(t,"")),s=me(this.weekdaysShort(t,"")),i=me(this.weekdays(t,"")),r.push(n),a.push(s),o.push(i),u.push(n),u.push(s),u.push(i);r.sort(e),a.sort(e),o.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Xe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)}
374),C("hmmss",0,0,function(){return""+Xe.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),L("hour","h"),A("hour",13),ce("a",et),ce("A",et),ce("H",te),ce("h",te),ce("k",te),ce("HH",te,Q),ce("hh",te,Q),ce("kk",te,Q),ce("hmm",ne),ce("hmmss",se),ce("Hmm",ne),ce("Hmmss",se),ye(["H","HH"],Me),ye(["k","kk"],function(e,t,n){var s=Z(e);t[Me]=24===s?0:s}),ye(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ye(["h","hh"],function(e,t,n){t[Me]=Z(e),y(n).bigHour=!0}),ye("hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s)),y(n).bigHour=!0}),ye("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i)),y(n).bigHour=!0}),ye("Hmm",function(e,t,n){var s=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s))}),ye("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[Me]=Z(e.substr(0,s)),t[De]=Z(e.substr(s,2)),t[Se]=Z(e.substr(i))});var tt=z("Hours",!0);var nt,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Te,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=at(e[r]).split("-")).length,n=(n=at(e[r+1]))?n.split("-"):null;0<t;){if(s=ut(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&function(e,t){for(var n=Math.min(e.length,t.length),s=0;s<n;s+=1)if(e[s]!==t[s])return s;return n}(i,n)>=t-1)break;t--}r++}return nt}function ut(t){var e;if(void 0===it[t]&&"undefined"!=typeof module&&module&&module.exports)try{e=nt._abbr,require("./locale/"+t),lt(e)}catch(e){it[t]=null}return it[t]}function lt(e,t){var n;return e&&((n=r(t)?dt(e):ht(e,t))?nt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),nt._abbr}function ht(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])Y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ut(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new x(b(s,t)),rt[e]&&rt[e].forEach(function(e){ht(e.name,e.config)}),lt(e),it[e]}function dt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return nt;if(!o(e)){if(t=ut(e))return t;e=[e]}return ot(e)}function ct(e){var t,n=e._a;return n&&-2===y(e).overflow&&(t=n[ve]<0||11<n[ve]?ve:n[ke]<1||n[ke]>xe(n[pe],n[ve])?ke:n[Me]<0||24<n[Me]||24===n[Me]&&(0!==n[De]||0!==n[Se]||0!==n[Ye])?Me:n[De]<0||59<n[De]?De:n[Se]<0||59<n[Se]?Se:n[Ye]<0||999<n[Ye]?Ye:-1,y(e)._overflowDayOfYear&&(t<pe||ke<t)&&(t=ke),y(e)._overflowWeeks&&-1===t&&(t=Oe),y(e)._overflowWeekday&&-1===t&&(t=be),y(e).overflow=t),e}var ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}
374/,!1]],gt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],wt=/^\/?Date\((-?\d+)/i,pt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,vt={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function kt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(y(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Ot(e)}else e._isValid=!1}function Mt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Ne.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}function Dt(e){var t,n,s,i,r=pt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(r){if(t=Mt(r[4],r[3],r[2],r[5],r[6],r[7]),n=r[1],s=t,i=e,n&&ze.indexOf(n)!==new Date(s[0],s[1],s[2]).getDay()&&(y(i).weekdayMismatch=!0,!void(i._isValid=!1)))return;e._a=t,e._tzm=function(e,t,n){if(e)return vt[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return 60*((s-i)/100)+i}(r[8],r[9],r[10]),e._d=Ve.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),y(e).rfc2822=!0}else e._isValid=!1}function St(e,t,n){return null!=e?e:null!=t?t:n}function Yt(e){var t,n,s,i,r,a,o,u=[];if(!e._d){for(a=e,o=new Date(f.now()),s=a._useUTC?[o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate()]:[o.getFullYear(),o.getMonth(),o.getDate()],e._w&&null==e._a[ke]&&null==e._a[ve]&&function(e){var t,n,s,i,r,a,o,u,l;null!=(t=e._w).GG||null!=t.W||null!=t.E?(r=1,a=4,n=St(t.GG,e._a[pe],Ae(Tt(),1,4).year),s=St(t.W,1),((i=St(t.E,1))<1||7<i)&&(u=!0)):(r=e._locale._week.dow,a=e._locale._week.doy,l=Ae(Tt(),r,a),n=St(t.gg,e._a[pe],l.year),s=St(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r);s<1||s>je(n,r,a)?y(e)._overflowWeeks=!0:null!=u?y(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[pe]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=St(e._a[pe],s[pe]),(e._dayOfYear>Fe(r)||0===e._dayOfYear)&&(y(e)._overflowDayOfYear=!0),n=Ve(r,0,e._dayOfYear),e._a[ve]=n.getUTCMonth(),e._a[ke]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=u[t]=s[t];for(;t<7;t++)e._a[t]=u[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Me]&&0===e._a[De]&&0===e._a[Se]&&0===e._a[Ye]&&(e._nextDay=!0,e._a[Me]=0),e._d=(e._useUTC?Ve:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,u),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Me]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(y(e).weekdayMismatch=!0)}}function Ot(e){if(e._f!==f.ISO_8601)if(e._f!==f.RFC_2822){e._a=[],y(e).empty=!0;for(var t,n,s,i,r,a,o,u=""+e._i,l=u.length,h=0,d=H(e._f,e._locale).match(N)||[],c=0;c<d.length;c++)n=d[c],(t=(u.match(fe(n,e))||[])[0])&&(0<(s=u.substr(0,u.indexOf(t))).length&&y(e).unusedInput.push(s),u=u.slice(u.indexOf(t)+t.length),h+=t.length),W[n]?(t?y(e).empty=!1:y(e).unusedTokens.push(n),r=n,o=e,null!=(a=t)&&m(_e,r)&&_e[r](a,o._a,o,r)):e._strict&&!t&&y(e).unusedTokens.push(n);y(e).charsLeftOver=l-h,0<u.length&&y(e).unusedInput.push(u),e._a[Me]<=12&&!0===y(e).bigHour&&0<e._a[Me]&&(y(e).bigHour=void 0),y(e).parsedDateParts=e._a.slice(0),y(e).meridiem=e._meridiem,e._a[Me]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[Me],e._meridiem),null!==(i=y(e).era)&&(e._a[pe]=e._locale.erasConvertYear(i,e._a[pe])),Yt(e),ct(e)}else Dt(e);else kt(e)}function bt(e){var t,n,s=e._i,i=e._f;return e._locale=e._locale||dt(e._l),null===s||void 0===i&&""===s?w({nullInput:!0}):("string"==typeof s&&(e._i=s=e._locale.preparse(s)),M(s)?new k(ct(s)):(a(s)?e._d=s:o(i)?function(e){var t,n,s,i,r,a,o=!1;if(0===e._f.length)return y(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,a=!1,t=v({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Ot(t),g(t)&&(a=!0),r+=y(t).charsLeftOver,r+=10*y(t).unusedTokens.length,y(t).score=r,o?r<s&&(s=r,n=t):(null==s||r<s||a)&&(s=r,n=t,a&&(o=!0));c(e,n||t)}(e):i?Ot(e):r(n=(t=e)._i)?t._d=new Date(f.now()):a(n)?t._d=new Date(n.valueOf()):"string"==typeof n?function(e){var t=wt.exec(e._i);
374null===t?(kt(e),!1===e._isValid&&(delete e._isValid,Dt(e),!1===e._isValid&&(delete e._isValid,e._strict?e._isValid=!1:f.createFromInputFallback(e)))):e._d=new Date(+t[1])}(t):o(n)?(t._a=d(n.slice(0),function(e){return parseInt(e,10)}),Yt(t)):u(n)?function(e){var t,n;e._d||(n=void 0===(t=G(e._i)).day?t.date:t.day,e._a=d([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Yt(e))}(t):h(n)?t._d=new Date(n):f.createFromInputFallback(t),g(e)||(e._d=null),e))}function xt(e,t,n,s,i){var r,a={};return!0!==t&&!1!==t||(s=t,t=void 0),!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&l(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new k(ct(bt(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function Tt(e,t,n,s){return xt(e,t,n,s,!1)}f.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),f.ISO_8601=function(){},f.RFC_2822=function(){};var Nt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:w()}),Pt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:w()});function Rt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ct(e){var t=G(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||t.isoWeek||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,h=t.millisecond||0;this._isValid=function(e){var t,n,s=!1;for(t in e)if(m(e,t)&&(-1===we.call(Wt,t)||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<Wt.length;++n)if(e[Wt[n]]){if(s)return!1;parseFloat(e[Wt[n]])!==Z(e[Wt[n]])&&(s=!0)}return!0}(t),this._milliseconds=+h+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=dt(),this._bubble()}function Ut(e){return e instanceof Ct}function Ht(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){C(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+T(~~(e/60),2)+n+T(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ce("Z",he),ce("ZZ",he),ye(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Vt(he,e)});var Lt=/([\+\-]|\d\d)/gi;function Vt(e,t){var n,s,i=(t||"").match(e);return null===i?null:0===(s=60*(n=((i[i.length-1]||[])+"").match(Lt)||["-",0,0])[1]+Z(n[2]))?0:"+"===n[0]?s:-s}function Gt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(M(e)||a(e)?e.valueOf():Tt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),f.updateOffset(n,!1),n):Tt(e).local()}function Et(e){return-Math.round(e._d.getTimezoneOffset())}function At(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}f.updateOffset=function(){};var jt=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,It=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Zt(e,t){var n,s,i,r=e,a=null;return Ut(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:h(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(a=jt.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:Z(a[ke])*n,h:Z(a[Me])*n,m:Z(a[De])*n,s:Z(a[Se])*n,ms:Z(Ht(1e3*a[Ye]))*n}):(a=It.exec(e))?(n="-"===a[1]?-1:1,r={y:zt(a[2],n),M:zt(a[3],n),w:zt(a[4],n),d:zt(a[5],n),h:zt(a[6],n),m:zt(a[7],n),s:zt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=$t(e,t):((n=$t(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ct(r),Ut(e)&&m(e,"_locale")&&(s._locale=e._locale),Ut(e)&&m(e,"_isValid")&&(s._isValid=e._isValid),s}function zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function $t(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=t-e.clone().add(n.months,"M"),n}function qt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(Y(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),Bt(this,Zt(e,t),s),this}}function Bt(e,t,n,s){var i=t._milliseconds,r=Ht(t._days),a=Ht(t._months);e.isValid()&&(s=null==s||s,a&&Ce(e,$(e,"Month")+a*n),r&&q(e,"Date",$(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&f.updateOffset(e,r||a))}
374Zt.fn=Ct.prototype,Zt.invalid=function(){return Zt(NaN)};var Jt=qt(1,"add"),Qt=qt(-1,"subtract");function Xt(e){return"string"==typeof e||e instanceof String}function Kt(e){return M(e)||a(e)||Xt(e)||h(e)||function(t){var e=o(t),n=!1;e&&(n=0===t.filter(function(e){return!h(e)&&Xt(t)}).length);return e&&n}(e)||function(e){var t,n,s=u(e)&&!l(e),i=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(t=0;t<r.length;t+=1)n=r[t],i=i||m(e,n);return s&&i}(e)||null==e}function en(e,t){if(e.date()<t.date())return-en(t,e);var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months"),i=t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(1+n,"months")-s);return-(n+i)||0}function tn(e){var t;return void 0===e?this._locale._abbr:(null!=(t=dt(e))&&(this._locale=t),this)}f.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",f.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var nn=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function sn(){return this._locale}var rn=126227808e5;function an(e,t){return(e%t+t)%t}function on(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-rn:new Date(e,t,n).valueOf()}function un(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-rn:Date.UTC(e,t,n)}function ln(e,t){return t.erasAbbrRegex(e)}function hn(){for(var e=[],t=[],n=[],s=[],i=this.eras(),r=0,a=i.length;r<a;++r)t.push(me(i[r].name)),e.push(me(i[r].abbr)),n.push(me(i[r].narrow)),s.push(me(i[r].name)),s.push(me(i[r].abbr)),s.push(me(i[r].narrow));this._erasRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+n.join("|")+")","i")}function dn(e,t){C(0,[e,e.length],0,t)}function cn(e,t,n,s,i){var r;return null==e?Ae(this,s,i).year:((r=je(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ve(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}C("N",0,0,"eraAbbr"),C("NN",0,0,"eraAbbr"),C("NNN",0,0,"eraAbbr"),C("NNNN",0,0,"eraName"),C("NNNNN",0,0,"eraNarrow"),C("y",["y",1],"yo","eraYear"),C("y",["yy",2],0,"eraYear"),C("y",["yyy",3],0,"eraYear"),C("y",["yyyy",4],0,"eraYear"),ce("N",ln),ce("NN",ln),ce("NNN",ln),ce("NNNN",function(e,t){return t.erasNameRegex(e)}),ce("NNNNN",function(e,t){return t.erasNarrowRegex(e)}),ye(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,s){var i=n._locale.erasParse(e,s,n._strict);i?y(n).era=i:y(n).invalidEra=e}),ce("y",oe),ce("yy",oe),ce("yyy",oe),ce("yyyy",oe),ce("yo",function(e,t){return t._eraYearOrdinalRegex||oe}),ye(["y","yy","yyy","yyyy"],pe),ye(["yo"],function(e,t,n,s){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[pe]=n._locale.eraYearOrdinalParse(e,i):t[pe]=parseInt(e,10)}),C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),dn("gggg","weekYear"),dn("ggggg","weekYear"),dn("GGGG","isoWeekYear"),dn("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),A("weekYear",1),A("isoWeekYear",1),ce("G",ue),ce("g",ue),ce("GG",te,Q),ce("gg",te,Q),ce("GGGG",re,K),ce("gggg",re,K),ce("GGGGG",ae,ee),ce("ggggg",ae,ee),ge(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=Z(e)}),ge(["gg","GG"],function(e,t,n,s){t[s]=f.parseTwoDigitYear(e)}),C("Q",0,"Qo","quarter"),L("quarter","Q"),A("quarter",7),ce("Q",J),ye("Q",function(e,t){t[ve]=3*(Z(e)-1)}),C("D",["DD",2],"Do","date"),L("date","D"),A("date",9),ce("D",te),ce("DD",te,Q),ce("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ye(["D","DD"],ke),ye("Do",function(e,t){t[ke]=Z(e.match(te)[0])});var fn=z("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),A("dayOfYear",4),ce("DDD",ie),ce("DDDD",X),ye(["DDD","DDDD"],function(e,t,n){n._dayOfYear=Z(e)}),C("m",["mm",2],0,"minute"),L("minute","m"),A("minute",14),ce("m",te),ce("mm",te,Q),ye(["m","mm"],De);var mn=z("Minutes",!1);C("s",["ss",2],0,"second"),L("second","s"),A("second",15),ce("s",te),ce("ss",te,Q),ye(["s","ss"],Se);var _n,yn,gn=z("Seconds",!1);for(C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),A("millisecond",16),ce("S",ie,J),ce("SS",ie,Q),ce("SSS",ie,X),_n="SSSS";_n.length<=9;_n+="S")ce(_n,oe);
vendor: 5,376 bytes, line 374
374function wn(e,t){t[Ye]=Z(1e3*("0."+e))}for(_n="S";_n.length<=9;_n+="S")ye(_n,wn);yn=z("Milliseconds",!1),C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var pn=k.prototype;function vn(e){return e}pn.add=Jt,pn.calendar=function(e,t){1===arguments.length&&(arguments[0]?Kt(arguments[0])?(e=arguments[0],t=void 0):function(e){for(var t=u(e)&&!l(e),n=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i=0;i<s.length;i+=1)n=n||m(e,s[i]);return t&&n}(arguments[0])&&(t=arguments[0],e=void 0):t=e=void 0);var n=e||Tt(),s=Gt(n,this).startOf("day"),i=f.calendarFormat(this,s)||"sameElse",r=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,Tt(n)))},pn.clone=function(){return new k(this)},pn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=V(t)){case"year":r=en(this,s)/12;break;case"month":r=en(this,s);break;case"quarter":r=en(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:I(r)},pn.endOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-an(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-an(t,1e3)-1;break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.format=function(e){e=e||(this.isUtc()?f.defaultFormatUtc:f.defaultFormat);var t=U(this,e);return this.localeData().postformat(t)},pn.from=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.fromNow=function(e){return this.from(Tt(),e)},pn.to=function(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Zt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},pn.toNow=function(e){return this.to(Tt(),e)},pn.get=function(e){return O(this[e=V(e)])?this[e]():this},pn.invalidAt=function(){return y(this).overflow},pn.isAfter=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},pn.isBefore=function(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},pn.isBetween=function(e,t,n,s){var i=M(e)?e:Tt(e),r=M(t)?t:Tt(t);return!!(this.isValid()&&i.isValid()&&r.isValid())&&(("("===(s=s||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===s[1]?this.isBefore(r,n):!this.isAfter(r,n)))},pn.isSame=function(e,t){var n,s=M(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=V(t)||"millisecond")?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},pn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},pn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},pn.isValid=function(){return g(this)},pn.lang=nn,pn.locale=tn,pn.localeData=sn,pn.max=Pt,pn.min=Nt,pn.parsingFlags=function(){return c({},y(this))},pn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t,n=[];for(t in e)m(e,t)&&n.push({unit:t,priority:E[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}(e=G(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(O(this[e=V(e)]))return this[e](t);return this},pn.startOf=function(e){var t,n;if(void 0===(e=V(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?un:on,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=an(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=an(t,6e4);break;case"second":t=this._d.valueOf(),t-=an(t,1e3);break}return this._d.setTime(t),f.updateOffset(this,!0),this},pn.subtract=Qt,pn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},pn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},pn.toDate=function(){return new Date(this.valueOf())},pn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;
vendor: 15,224 bytes, line 374
374return n.year()<0||9999<n.year()?U(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",U(n,"Z")):U(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},pn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,s="moment",i="";return this.isLocal()||(s=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+s+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(pn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),pn.toJSON=function(){return this.isValid()?this.toISOString():null},pn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},pn.unix=function(){return Math.floor(this.valueOf()/1e3)},pn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},pn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},pn.eraName=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].name;if(t[n].until<=e&&e<=t[n].since)return t[n].name}return""},pn.eraNarrow=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].narrow;if(t[n].until<=e&&e<=t[n].since)return t[n].narrow}return""},pn.eraAbbr=function(){for(var e,t=this.localeData().eras(),n=0,s=t.length;n<s;++n){if(e=this.clone().startOf("day").valueOf(),t[n].since<=e&&e<=t[n].until)return t[n].abbr;if(t[n].until<=e&&e<=t[n].since)return t[n].abbr}return""},pn.eraYear=function(){for(var e,t,n=this.localeData().eras(),s=0,i=n.length;s<i;++s)if(e=n[s].since<=n[s].until?1:-1,t=this.clone().startOf("day").valueOf(),n[s].since<=t&&t<=n[s].until||n[s].until<=t&&t<=n[s].since)return(this.year()-f(n[s].since).year())*e+n[s].offset;return this.year()},pn.year=Le,pn.isLeapYear=function(){return j(this.year())},pn.weekYear=function(e){return cn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},pn.isoWeekYear=function(e){return cn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},pn.quarter=pn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},pn.month=Ue,pn.daysInMonth=function(){return xe(this.year(),this.month())},pn.week=pn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},pn.isoWeek=pn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},pn.weeksInYear=function(){var e=this.localeData()._week;return je(this.year(),e.dow,e.doy)},pn.weeksInWeekYear=function(){var e=this.localeData()._week;return je(this.weekYear(),e.dow,e.doy)},pn.isoWeeksInYear=function(){return je(this.year(),1,4)},pn.isoWeeksInISOWeekYear=function(){return je(this.isoWeekYear(),1,4)},pn.date=fn,pn.day=pn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},pn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},pn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,s=(t=e,n=this.localeData(),"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?s:s-7)},pn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},pn.hour=pn.hours=tt,pn.minute=pn.minutes=mn,pn.second=pn.seconds=gn,pn.millisecond=pn.milliseconds=yn,pn.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Et(this);if("string"==typeof e){if(null===(e=Vt(he,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Et(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?Bt(this,Zt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,f.updateOffset(this,!0),this._changeInProgress=null)),this},pn.utc=function(e){return this.utcOffset(0,e)},pn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Et(this),"m")),this},pn.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=Vt(le,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},pn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},pn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},pn.isLocal=function(){return!!this.isValid()&&!this._isUTC},pn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},pn.isUtc=At,pn.isUTC=At,pn.zoneAbbr=function(){return this._isUTC?"UTC":""},pn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},pn.dates=n("dates accessor is deprecated. Use date instead.",fn),pn.months=n("months accessor is deprecated. Use month instead",Ue),pn.years=n("years accessor is deprecated. Use year instead",Le),pn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),pn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var e,t={};return v(t,this),(t=bt(t))._a?(e=(t._isUTC?_:Tt)(t._a),this._isDSTShifted=this.isValid()&&0<function(e,t,n){for(var s=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),r=0,a=0;a<s;a++)(n&&e[a]!==t[a]||!n&&Z(e[a])!==Z(t[a]))&&r++;return r+i}(t._a,e.toArray())):this._isDSTShifted=!1,this._isDSTShifted});var kn=x.prototype;function Mn(e,t,n,s){var i=dt(),r=_().set(s,t);return i[n](r,e)}function Dn(e,t,n){if(h(e)&&(t=e,e=void 0),e=e||"",null!=t)return Mn(e,t,n,"month");for(var s=[],i=0;i<12;i++)s[i]=Mn(e,i,n,"month");return s}function Sn(e,t,n,s){t=("boolean"==typeof e?h(t)&&(n=t,t=void 0):(t=e,e=!1,h(n=t)&&(n=t,t=void 0)),t||"");var i,r=dt(),a=e?r._week.dow:0,o=[];if(null!=n)return Mn(t,(n+a)%7,s,"day");for(i=0;i<7;i++)o[i]=Mn(t,(i+a)%7,s,"day");return o}kn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return O(s)?s.call(t,n):s},kn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},kn.invalidDate=function(){return this._invalidDate},kn.ordinal=function(e){return this._ordinal.replace("%d",e)},kn.preparse=vn,kn.postformat=vn,kn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return O(i)?i(e,t,n,s):i.replace(/%d/i,e)},kn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return O(n)?n(t):n.replace(/%s/i,t)},kn.set=function(e){var t,n;for(n in e)m(e,n)&&(O(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},kn.eras=function(e,t){for(var n,s=this._eras||dt("en")._eras,i=0,r=s.length;i<r;++i){switch(typeof s[i].since){case"string":n=f(s[i].since).startOf("day"),s[i].since=n.valueOf();break}switch(typeof s[i].until){case"undefined":s[i].until=1/0;break;case"string":n=f(s[i].until).startOf("day").valueOf(),s[i].until=n.valueOf();break}}return s},kn.erasParse=function(e,t,n){var s,i,r,a,o,u=this.eras();for(e=e.toUpperCase(),s=0,i=u.length;s<i;++s)if(r=u[s].name.toUpperCase(),a=u[s].abbr.toUpperCase(),o=u[s].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(a===e)return u[s];break;case"NNNN":if(r===e)return u[s];break;case"NNNNN":if(o===e)return u[s];break}else if(0<=[r,a,o].indexOf(e))return u[s]},kn.erasConvertYear=function(e,t){var n=e.since<=e.until?1:-1;return void 0===t?f(e.since).year():f(e.since).year()+(t-e.offset)*n},kn.erasAbbrRegex=function(e){return m(this,"_erasAbbrRegex")||hn.call(this),e?this._erasAbbrRegex:this._erasRegex},kn.erasNameRegex=function(e){return m(this,"_erasNameRegex")||hn.call(this),e?this._erasNameRegex:this._erasRegex},kn.erasNarrowRegex=function(e){return m(this,"_erasNarrowRegex")||hn.call(this),e?this._erasNarrowRegex:this._erasRegex},kn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Pe).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},kn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Pe.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},kn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=_([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=we.call(this._shortMonthsParse,a))||-1!==(i=we.call(this._longMonthsParse,a))?i:null:-1!==(i=we.call(this._longMonthsParse,a))||-1!==(i=we.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=_([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},kn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=We),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},kn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||He.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Re),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},kn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},kn.firstDayOfYear=function(){return this._week.doy},kn.firstDayOfWeek=function(){return this._week.dow},kn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ie(n,this._week.dow):e?n[e.day()]:n},kn.weekdaysMin=function(e){return!0===e?Ie(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},kn.weekdaysShort=function(e){return!0===e?Ie(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},kn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=_([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=we.call(this._shortWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._minWeekdaysParse,a))?i:null:-1!==(i=we.call(this._minWeekdaysParse,a))||-1!==(i=we.call(this._weekdaysParse,a))||-1!==(i=we.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=_([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},kn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},kn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Be),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},kn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},kn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},kn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},lt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;
374return e+(1===Z(e%100/10)?"th":1==t?"st":2==t?"nd":3==t?"rd":"th")}}),f.lang=n("moment.lang is deprecated. Use moment.locale instead.",lt),f.langData=n("moment.langData is deprecated. Use moment.localeData instead.",dt);var Yn=Math.abs;function On(e,t,n,s){var i=Zt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function bn(e){return e<0?Math.floor(e):Math.ceil(e)}function xn(e){return 4800*e/146097}function Tn(e){return 146097*e/4800}function Nn(e){return function(){return this.as(e)}}var Pn=Nn("ms"),Rn=Nn("s"),Wn=Nn("m"),Cn=Nn("h"),Un=Nn("d"),Hn=Nn("w"),Fn=Nn("M"),Ln=Nn("Q"),Vn=Nn("y");function Gn(e){return function(){return this.isValid()?this._data[e]:NaN}}var En=Gn("milliseconds"),An=Gn("seconds"),jn=Gn("minutes"),In=Gn("hours"),Zn=Gn("days"),zn=Gn("months"),$n=Gn("years");var qn=Math.round,Bn={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Jn(e,t,n,s){var i=Zt(e).abs(),r=qn(i.as("s")),a=qn(i.as("m")),o=qn(i.as("h")),u=qn(i.as("d")),l=qn(i.as("M")),h=qn(i.as("w")),d=qn(i.as("y")),c=(r<=n.ss?["s",r]:r<n.s&&["ss",r])||a<=1&&["m"]||a<n.m&&["mm",a]||o<=1&&["h"]||o<n.h&&["hh",o]||u<=1&&["d"]||u<n.d&&["dd",u];return null!=n.w&&(c=c||h<=1&&["w"]||h<n.w&&["ww",h]),(c=c||l<=1&&["M"]||l<n.M&&["MM",l]||d<=1&&["y"]||["yy",d])[2]=t,c[3]=0<+e,c[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,c)}var Qn=Math.abs;function Xn(e){return(0<e)-(e<0)||+e}function Kn(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,s,i,r,a,o,u=Qn(this._milliseconds)/1e3,l=Qn(this._days),h=Qn(this._months),d=this.asSeconds();return d?(e=I(u/60),t=I(e/60),u%=60,e%=60,n=I(h/12),h%=12,s=u?u.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=Xn(this._months)!==Xn(d)?"-":"",a=Xn(this._days)!==Xn(d)?"-":"",o=Xn(this._milliseconds)!==Xn(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(h?r+h+"M":"")+(l?a+l+"D":"")+(t||e||u?"T":"")+(t?o+t+"H":"")+(e?o+e+"M":"")+(u?o+s+"S":"")):"P0D"}var es=Ct.prototype;return es.isValid=function(){return this._isValid},es.abs=function(){var e=this._data;return this._milliseconds=Yn(this._milliseconds),this._days=Yn(this._days),this._months=Yn(this._months),e.milliseconds=Yn(e.milliseconds),e.seconds=Yn(e.seconds),e.minutes=Yn(e.minutes),e.hours=Yn(e.hours),e.months=Yn(e.months),e.years=Yn(e.years),this},es.add=function(e,t){return On(this,e,t,1)},es.subtract=function(e,t){return On(this,e,t,-1)},es.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=V(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+xn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Tn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},es.asMilliseconds=Pn,es.asSeconds=Rn,es.asMinutes=Wn,es.asHours=Cn,es.asDays=Un,es.asWeeks=Hn,es.asMonths=Fn,es.asQuarters=Ln,es.asYears=Vn,es.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*Z(this._months/12):NaN},es._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*bn(Tn(o)+a),o=a=0),u.milliseconds=r%1e3,e=I(r/1e3),u.seconds=e%60,t=I(e/60),u.minutes=t%60,n=I(t/60),u.hours=n%24,a+=I(n/24),o+=i=I(xn(a)),a-=bn(Tn(i)),s=I(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},es.clone=function(){return Zt(this)},es.get=function(e){return e=V(e),this.isValid()?this[e+"s"]():NaN},es.milliseconds=En,es.seconds=An,es.minutes=jn,es.hours=In,es.days=Zn,es.weeks=function(){return I(this.days()/7)},es.months=zn,es.years=$n,es.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,s,i=!1,r=Bn;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},Bn,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),n=this.localeData(),s=Jn(this,!i,r,n),i&&(s=n.pastFuture(+this,s)),n.postformat(s)},es.toISOString=Kn,es.toString=Kn,es.toJSON=Kn,es.locale=tn,es.localeData=sn,es.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),es.lang=nn,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ce("x",ue),ce("X",/[+-]?\d+(\.\d{1,3})?/),ye("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),ye("x",function(e,t,n){n._d=new Date(Z(e))}),f.version="2.29.1",e=Tt,f.fn=pn,f.min=function(){return Rt("isBefore",[].slice.call(arguments,0))},f.max=function(){return Rt("isAfter",[].slice.call(arguments,0))},f.now=function(){return Date.now?Date.now():+new Date},f.utc=_,f.unix=function(e){return Tt(1e3*e)},f.months=function(e,t){return Dn(e,t,"months")},f.isDate=a,f.locale=lt,f.invalid=w,f.duration=Zt,f.isMoment=M,f.weekdays=function(e,t,n){return Sn(e,t,n,"weekdays")},f.parseZone=function(){return Tt.apply(null,arguments).parseZone()},f.localeData=dt,f.isDuration=Ut,f.monthsShort=function(e,t){return Dn(e,t,"monthsShort")},f.weekdaysMin=function(e,t,n){return Sn(e,t,n,"weekdaysMin")},f.defineLocale=ht,f.updateLocale=function(e,t){var n,s,i;return null!=t?(i=st,null!=it[e]&&null!=it[e].parentLocale?it[e].set(b(it[e]._config,t)):(null!=(s=ut(e))&&(i=s._config),t=b(i,t),null==s&&(t.abbr=e),(n=new x(t)).parentLocale=it[e],it[e]=n),lt(e)):null!=it[e]&&(null!=it[e].parentLocale?(it[e]=it[e].parentLocale,e===lt()&&lt(e)):null!=it[e]&&delete it[e]),it[e]},f.locales=function(){return s(it)},f.weekdaysShort=function(e,t,n){return Sn(e,t,n,"weekdaysShort")},f.normalizeUnits=V,f.relativeTimeRounding=function(e){return void 0===e?qn:"function"==typeof e&&(qn=e,!0)},f.relativeTimeThreshold=function(e,t){return void 0!==Bn[e]&&(void 0===t?Bn[e]:(Bn[e]=t,"
374s"===e&&(Bn.ss=t-1),!0))},f.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},f.prototype=pn,f.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},f});
375//# sourceMappingURL=moment.min.js.map
376;class ScheduleGridManager{constructor(container){this.container=container||$('.schedule-grid')[0];this.events=[];this.formManager=null;this.uiManager=null;this.bookingManager=null;this.wodManager=null;this.currentTimeLine=null;this.timeLineUpdateInterval=null;this.processedEvents=new Set();this.serverTimeAtLoad=null;this.pageLoadBrowserTime=null;this.pageLoadServerTimestamp=null;this.lastMidnightRefreshDate=null;this._resizePending=false;this.init();}
377module(moduleName){if(moduleName=='grid'){return this;}
378const managerName=moduleName+'Manager';return this[managerName];}
379init(){if(!this.container)return;if($(this.container).length==0){this.container=$('.schedule-grid')[0];}
380if(!this.container)return;this.initModules();this.bindEvents();this.handleOverlappingEvents();this.scrollToEarliestEvent();this.initCurrentTimeLine();}
381initModules(){this.initFormManager();this.initUIManager();this.initBookingManager();this.initWODManager();}
382initFormManager(){if(typeof(ScheduleFormManager)!=='undefined'){this.formManager=new ScheduleFormManager('.schedule',this);}}
383initUIManager(){if(typeof(ScheduleUIManager)!=='undefined'){this.uiManager=new ScheduleUIManager('.schedule-grid',this);}}
384initBookingManager(){if(typeof(ScheduleBookingManager)!=='undefined'){this.bookingManager=new ScheduleBookingManager('.schedule',this);}}
385initWODManager(){if(typeof(ScheduleWODManager)!=='undefined'){this.wodManager=new ScheduleWODManager('.schedule',this);}}
386bindEvents(){this.bindGridEvents();this.initDateNavigation();}
387calculateEventPosition(eventData){if(!eventData)return null;const startTime=eventData.start;const duration=parseInt(eventData.duration)||60;const day=parseInt(eventData.day)||0;const firstDayWeek=parseInt($("input[name='first_day_week']").val(),10)||0;if(!startTime){console.error('No start time provided');return null;}
388const timeParts=startTime.split(':');if(timeParts.length<2){console.error('Invalid time format:',startTime);return null;}
389const startHour=parseInt(timeParts[0]);const startMinute=parseInt(timeParts[1]);const startPosition=(startHour*12+(startMinute/5))+2;const endPosition=startPosition+(duration/5);var column=day+2-firstDayWeek;if(column==1){column=8;}
390return{gridRowStart:Math.max(2,startPosition),gridRowEnd:endPosition,gridColumn:column};}
391calculateTimeFromRow(row){if(row===1)return{type:'header'};const minutesFromStart=(row-2)*5;const totalMinutes=minutesFromStart;const hour=Math.floor(totalMinutes/60);const minute=totalMinutes%60;const timeInfo=this.formatTimeString(hour,minute);return{type:'time',hour:hour,minute:minute,duration:60,timeString:timeInfo.timeString,displayTime:timeInfo.displayTime};}
392calculateDayFromColumn(col){if(col===1)return{type:'time'};const dayHeader=$(this.container).find('.day-header').eq(col-2);return this.getDayInfoFromHeader(dayHeader,col-2);}
393getDayInfoByIndex(dayIndex){const dayHeader=$(this.container).find('.day-header[attr-day="'+dayIndex+'"]');return this.getDayInfoFromHeader(dayHeader,dayIndex);}
394getDayInfoFromHeader(dayHeader,fallbackIndex){if(dayHeader.length>0){const dayInput=dayHeader.find('input[name="day"]');const dateInput=dayHeader.find('input[name="date"]');var dayIndex=dayInput.length>0?parseInt(dayInput.val()):fallbackIndex;var date=dateInput.length>0?dateInput.val():null;}else{var dayIndex=fallbackIndex;var date=null;}
395return{type:'day',dayIndex:dayIndex,dayName:this.getDayName(dayIndex),date:date};}
396timeToMinutes(timeString){const[hours,minutes]=timeString.split(':').map(Number);return hours*60+minutes;}
397minutesToTime(minutes){const hours=Math.floor(minutes/60)%24;const mins=minutes%60;return`${hours.toString().padStart(2, '0')}:${mins.toString().padStart(2, '0')}`;}
398formatTimeForDisplay(time){const parts=time.split(':');if(parts.length>=2){const hour=parseInt(parts[0]);const minute=parseInt(parts[1]);const ampm=hour<12?'am':'pm';const displayHour=hour===0?12:(hour>12?hour-12:hour);const paddedMinute=minute.toString().padStart(2,'0');return`${displayHour}:${paddedMinute}${ampm}`;}
399return time;}
400calculateEndTime(startTime,durationMinutes){const startMinutes=this.timeToMinutes(startTime);const endMinutes=startMinutes+durationMinutes;const endTimeValue=this.minutesToTime(endMinutes);const endDisplayTimeValue=this.formatTimeForDisplay(endTimeValue);return{endTime:endTimeValue,endDisplayTime:endDisplayTimeValue};}
401formatTimeString(hour,minute,duration=60){const clampedHour=Math.max(0,Math.min(23,hour));const timeString=`${clampedHour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;return{hour:clampedHour,minute:minute,duration:duration,timeString:timeString,displayTime:this.formatTimeForDisplay(timeString)};}
402getDayName(dayIndex){const days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];return days[dayIndex]||'Unknown';}
403handleOverlappingEvents(){if(!this.container)return;if($('.schedule-view').is('.no-grid')){return;}
404const events=$(this.container).find('.schedule-event');const eventsByColumn={};events.each((index,event)=>{const position=this.getEventGridPosition(event);if(position){const column=position.gridColumn;if(!eventsByColumn[column]){eventsByColumn[column]=[];}
405eventsByColumn[column].push({element:event,position:position});}});Object.keys(eventsByColumn).forEach(column=>{this.processColumnOverlaps(eventsByColumn[column]);});}
406processColumnOverlaps(events){events.sort((a,b)=>a.position.gridRowStart-b.position.gridRowStart);const eventOverlaps=new Map();events.forEach((eventData,index)=>{const event=eventData.element;const eventStart=eventData.position.gridRowStart;const eventEnd=eventData.position.gridRowEnd;const overlappingEvents=events.filter(otherEventData=>{if(otherEventData.element===event)return false;const otherStart=otherEventData.position.gridRowStart;const otherEnd=otherEventData.position.gridRowEnd;return(eventStart<otherEnd)&&(eventEnd>otherStart);});eventOverlaps.set(event,overlappingEvents);});events.forEach((eventData,index)=>{const event=eventData.element;const overlaps=eventOverlaps.get(event);if(overlaps.length>0){const allOverlappingEvents=new Set([event]);overlaps.forEach(overlapData=>allOverlappingEvents.add(overlapData.element));const sortedGroup=Array.from(allOverlappingEvents).map(el=>events.find(e=>e.element===el)).sort((a,b)=>{if(a.position.gridRowStart!==b.position.gridRowStart){return a.position.gridRowStart-b.position.gridRowStart;}
407if(a.position.gridRowEnd!==b.position.gridRowEnd){return a.position.gridRowEnd-b.position.gridRowEnd;}
408const aIndex=$(this.container).find('.schedule-event').index(a.element);const bIndex=$(this.container).find('.schedule-event').index(b.element);return aIndex-bIndex;});const eventIndex=sortedGroup.findIndex(e=>e.element===event);this.applyOverlapStyles(event,eventIndex,sortedGroup.length);}else{this.restoreEventToFullWidth(event);}});}
409applyOverlapStyles(event,index,total){const $event=$(event);$event.removeClass('overlapping');$event.removeClass(function(index,className){return(className.match(/(^|\s)overlap-\S+/g)||[]).join(' ');});$event.addClass('overlapping');$event.addClass(`overlap-${index}-of-${total}`);$event.attr('data-overlap-index',index);$event.attr('data-overlap-total',total);this.applyOverlapPositioning(event,index,total);}
410applyOverlapPositioning(event,index,total){const $event=$(event);const totalGroupWidth=95;const overlapAmount=15;const eventWidth=(totalGroupWidth+(total-1)*overlapAmount)/total;const leftPercentage=index*(eventWidth-overlapAmount);$event.css({'--overlap-width':`${eventWidth}%`,'--overlap-left':`${leftPercentage}%`,'--overlap-z-index':(10+index).toString()});}
411restoreEventToFullWidth(event){const $event=$(event);$event.removeClass('overlapping');$event.removeClass(function(index,className){return(className.match(/(^|\s)overlap-\S+/g)||[]).join(' ');});$event.removeAttr('data-overlap-index');$event.removeAttr('data-overlap-total');$event.css({'--overlap-width':'100%','--overlap-left':'0%','--overlap-z-index':'1'});}
412getEventGridPosition(eventElement){return this.parseGridPosition(eventElement);}
413parseGridPosition(element){const $element=$(element);const gridRow=$element.css('grid-row');const gridColumn=$element.css('grid-column');const rowParts=gridRow.split('/');if(rowParts.length>=2&&gridColumn){return{gridRowStart:parseInt(rowParts[0].trim()),gridRowEnd:parseInt(rowParts[1].trim()),gridColumn:parseInt(gridColumn)};}
414return null;}
415setEventGridPosition(element,position){const gridRowStart=Math.max(2,Math.min(289,position.gridRowStart));const gridRowEnd=Math.max(gridRowStart+1,Math.min(289,position.gridRowEnd));const gridColumn=Math.max(2,Math.min(8,position.gridColumn));$(element).css({gridRow:`${gridRowStart} / ${gridRowEnd}
415`,gridColumn:gridColumn,opacity:'1',visibility:'',display:''});}
416getMetrics(){if(!this.container)return null;const $grid=$(this.container);const rect=$grid[0].getBoundingClientRect();const cols=8;const rows=289;const gapX=parseFloat($grid.css('column-gap'))||0;const gapY=parseFloat($grid.css('row-gap'))||0;const $timeHeader=$('.time-header');const timeColumnWidth=$timeHeader.width()||60;const remainingWidth=rect.width-timeColumnWidth-(cols-1)*gapX;const dayColumnWidth=remainingWidth/7;const headerRowHeight=$timeHeader.outerHeight()||40;const gridBody=$(this.container).find('.grid-body');let timeSlotHeight=5;if(gridBody.length>0){const bodyHeight=gridBody.height();const availableHeight=bodyHeight-headerRowHeight-gapY;if(availableHeight>0){timeSlotHeight=availableHeight/(rows-1);}}
417timeSlotHeight=Math.max(1,Math.min(50,timeSlotHeight));return{rect,cols,rows,gapX,gapY,timeColumnWidth,dayColumnWidth,headerRowHeight,timeSlotHeight};}
418parseEventData(scheduleEvent){if(scheduleEvent&&scheduleEvent.jquery){scheduleEvent=scheduleEvent[0];}
419if(!scheduleEvent||!scheduleEvent.dataset){return null;}
420const eventId=scheduleEvent.dataset.eventId;let eventData={};try{eventData=JSON.parse(scheduleEvent.dataset.eventInfo);}catch(error){console.error('Failed to parse event data:',error);mor.error(scheduleEvent,'Event data could not be loaded');return null;}
421let timeInfo=null;
421if(scheduleEvent.dataset.gridRowStart&&scheduleEvent.dataset.gridRowEnd){const startRow=parseInt(scheduleEvent.dataset.gridRowStart);const endRow=parseInt(scheduleEvent.dataset.gridRowEnd);const startTime=this.calculateTimeFromRow(startRow);const endTime=this.calculateTimeFromRow(endRow);const startMinutes=startTime.hour*60+startTime.minute;const endMinutes=endTime.hour*60+endTime.minute;const duration=endMinutes-startMinutes;timeInfo={...startTime,duration:duration,endTime:endTime.timeString};}
422return{eventId:eventId,event:scheduleEvent,eventData:eventData,timeInfo:timeInfo};}
423bindGridEvents(){if(!this.container)return;const self=this;$('.schedule-grid').on('click',(e)=>{$('.skill.desc-visible').removeClass('desc-visible');self.requestWidgetResize();if($('.schedule-event.active').length>0){$('.schedule-event.active').removeClass('active');return;}
424if(e.target.closest('.day-header')||e.target.closest('.time-slot')||e.target.closest('.schedule-event')||e.target.closest('.resize-handle')||$(e.target).is('.schedule-grid')){return;}
425var ui=self.module('ui');if(ui){if(self.module('ui').hasDragged){self.module('ui').hasDragged=false;return;}
426if(self.module('ui').hasResized){self.module('ui').hasResized=false;return;}}
427self.handleGridCellClick(e);});$('.schedule-grid').on('click','.schedule-event',(e)=>{$('.skill.desc-visible').removeClass('desc-visible');self.requestWidgetResize();if(this.module('ui')&&this.module('ui').hasResized){return;}
428if(e.target.closest('.resize-handle')){return;}
429if(this.module('ui')&&this.module('ui').hasDragged){return;}
430if(e.target.closest('.participants, .edit')){return;}
431if(e.target.closest('.copy-link')){return;}
432if(e.target.closest('.skill.has-description')){const skillElement=$(e.target).closest('.skill.has-description');if($(e.target).is('.close')||$(e.target).closest('.close').length>0){skillElement.removeClass('desc-visible');self.requestWidgetResize();return;}
433self.showSkillDescription(skillElement[0]);e.stopPropagation();return;}
434self.handleEventClick(e.currentTarget,e);e.stopPropagation();});$('.mobile-nav').on('click','em',(e)=>{self.setActiveDay(e.currentTarget);});$('.selects select').change(function(){if($(this).attr('name')=='schedule'){self.changeDates();}else{self.changeVisibility();}});$(".schedule .show-bookable input[name='bookable_only']").change(function(){$('.schedule').toggleClass('show-bookable');if($('.schedule-event:visible').length==0){$('.schedule .no-sessions').show();}else{$('.schedule .no-sessions').hide();}});$('.layout-selector a').click(function(){const layout=$(this).attr('attr-layout');$('.layout-selector a').removeClass('active');$(this).addClass('active');if(layout=='list'){$('.schedule-view').addClass('no-grid');$('.schedule-event').removeClass('overlapping');}else{$('.schedule-view').removeClass('no-grid');self.handleOverlappingEvents();}
435self.requestWidgetResize();});}
436setActiveDay(day){if($(window).width()>900){return;}
437$('.mobile-nav .today,.schedule-grid .day-header,.day-events.today').removeClass('today');$(day).addClass('today');
437var dayNum=$(day).attr('attr-day');$('.day-events.day-'+dayNum+',.day-header[attr-day="'+dayNum+'"]').addClass('today');var events=$('.day-events.day-'+dayNum+' .schedule-event').length;if(events==0){$('.schedule .no-sessions').show();}else{$('.schedule .no-sessions').hide();}
438this.requestWidgetResize();}
439handleGridCellClick(e){const $addSession=$(e.target).closest('.add-session');if($addSession.length>0){const dayIndex=$addSession.closest('.day-events').data('day');if(dayIndex!==undefined){this.onCellClick({time:null,day:this.module('grid').getDayInfoByIndex(dayIndex),originalEvent:e});return;}}
440const cellInfo=this.module('grid').pointToCell(e.clientX,e.clientY);this.onCellClick({row:cellInfo.row,col:cellInfo.col,time:this.module('grid').calculateTimeFromRow(cellInfo.row),day:this.module('grid').calculateDayFromColumn(cellInfo.col),coordinates:{x:cellInfo.x,y:cellInfo.y},originalEvent:e});}
441showSkillDescription(skill){const skillElement=$(skill);skillElement.toggleClass('desc-visible');if(skillElement.hasClass('desc-visible')){this.adjustSkillDescriptionPosition(skill);}
442this.requestWidgetResize();if(skillElement.data('description-loaded')==='1'){return;}
443const module=$('input[name="module"]').val();let callEndpoint='/members/schedule/get-skill-description/id/'+skillElement.data('skill-id');if('manager'===module){callEndpoint='/manager/schedule/get-skill-description/id/'+skillElement.data('skill-id');}else if('academy'===module){callEndpoint='/schedule/get-skill-description/id/'+skillElement.data('skill-id');}
444const academyId=$('.schedule').attr('attr-id');if(typeof academyId!=='undefined'){callEndpoint='/widgets/schedule/get-skill-description/id/'+skillElement.data('skill-id')+'/academy_id/'+academyId;}
445$.get(callEndpoint,(data)=>{if(data.success!=true){return;}
446skillElement.find('.skill-description .scrollable').html(data.description);skillElement.data('description-loaded','1');if(skillElement.hasClass('desc-visible')){this.adjustSkillDescriptionPosition(skill);this.requestWidgetResize();}});}
447adjustSkillDescriptionPosition(skillElement){skillElement=$(skillElement);if($(window).width()<=768){return;}
448const skillDescription=skillElement.find('.skill-description');if(skillDescription.length===0){return;}
449const scheduleGrid=$('.schedule-grid');if(scheduleGrid.length===0){return;}
450const skillRect=skillElement[0].getBoundingClientRect();const viewportLeft=0;const viewportRight=$(window).width();const descriptionWidth=skillDescription.outerWidth()||354;const spacing=12;const descriptionLeftEdgeWhenLeft=skillRect.left-descriptionWidth-spacing;const descriptionRightEdgeWhenRight=skillRect.right+descriptionWidth+spacing;if(descriptionLeftEdgeWhenLeft<viewportLeft){if(descriptionRightEdgeWhenRight>viewportRight){skillDescription.css({'right':'auto','left':'0','transform':'translateY(-50%)'});}else{skillDescription.css({'right':'auto','left':'calc(100% + '+spacing+'px)','transform':'translateY(-50%)'});}}else{skillDescription.css({'right':'calc(100% + '+spacing+'px)','left':'auto','transform':'translateY(-50%)'});}}
451onCellClick(details){if($('.schedule-view').hasClass('no-grid')&&details.day&&details.day.dayIndex!==undefined){const dayIndex=details.day.dayIndex;const $dayContainer=$('.grid-body').find('.day-events.day-'+dayIndex);if($dayContainer.length>0){let latestStartTime=null;let latestStartMinutes=-1;$dayContainer.find('.schedule-event').each((index,eventElement)=>{const eventData=this.parseEventData(eventElement);if(eventData&&eventData.eventData&&eventData.eventData.start){const startTime=eventData.eventData.start;const startMinutes=this.timeToMinutes(startTime);if(startMinutes>latestStartMinutes){latestStartMinutes=startMinutes;latestStartTime=startTime;}}});if(latestStartTime){const newStartMinutes=latestStartMinutes+60;const maxMinutes=23*60+30;const cappedStartMinutes=Math.min(newStartMinutes,maxMinutes);const newStartTime=this.minutesToTime(cappedStartMinutes);const[hour,minute]=newStartTime.split(':').map(Number);details.time=this.formatTimeString(hour,minute,60);}else{details.time=this.formatTimeString(7,0,60);}}}
452var form=this.module('form');if(form){form.showEventForm(details);}}
453handleEventClick(event,clickEvent){if($('.mass-skill-assign').is(":visible")||$('.assign-roster-area').is(":visible")){$(event).toggleClass('selected');}else{const eventId=event.dataset.eventId;const gridRow=event.style.gridRow;const gridColumn=event.style.gridColumn;
453if(gridRow&&gridColumn){const parts=gridRow.split('/');const startRow=parseInt(parts[0].trim());const endRow=parts.length>1?parseInt(parts[1].trim()):startRow+12;event.dataset.gridRowStart=startRow;event.dataset.gridRowEnd=endRow;}
454this.onEventClick({eventId:eventId,event:event,originalEvent:clickEvent});}}
455onEventClick(detail){if($(detail.event).hasClass('active')||$(detail.originalEvent.target).is('.close')){this.toggleEventActiveState(detail.event,false);}else{this.toggleEventActiveState(detail.event,true);this.adjustDetailsPosition(detail.event);}
456this.requestWidgetResize();}
457requestWidgetResize(){if(typeof MARwidgets==='undefined'||typeof MARwidgets.resizeToContent!=='function'){return;}
458if(this._resizePending){return;}
459this._resizePending=true;const self=this;window.requestAnimationFrame(function(){self._resizePending=false;MARwidgets.resizeToContent();});}
460toggleEventActiveState(eventElement,makeActive=true){if(makeActive){$('.schedule-event').removeClass('active');$(eventElement).addClass('active');}else{$(eventElement).removeClass('active');}}
461scrollToEarliestEvent(){const events=$(this.container).find('.schedule-event:visible');if(events.length===0){return;}
462let earliestEvent=null;let earliestTime=null;events.each(function(){const event=this;const gridRowStart=parseInt(event.style.gridRowStart);if(!isNaN(gridRowStart)){if(earliestTime===null||gridRowStart<earliestTime){earliestTime=gridRowStart;earliestEvent=event;}}});if(!earliestEvent){return;}
463const scrollOffset=30*5;const eventRect=earliestEvent.getBoundingClientRect();const gridRect=this.container.getBoundingClientRect();const eventTopRelative=eventRect.top-gridRect.top;const targetScrollTop=this.container.scrollTop+eventTopRelative-scrollOffset;const finalScrollTop=Math.max(0,targetScrollTop);this.container.scrollTop=finalScrollTop;}
464adjustDetailsPosition(eventElement){eventElement=$(eventElement);if($(window).width()<=768){return;}
465const details=eventElement.find('.details');if(details.length===0){return;}
466const scheduleGrid=$('.schedule-grid');if(scheduleGrid.length===0){return;}
467const eventRect=eventElement[0].getBoundingClientRect();const gridRect=scheduleGrid[0].getBoundingClientRect();if(!$('.schedule-view').hasClass('no-grid')){const distanceFromGridTop=eventRect.top-gridRect.top;const detailsHeight=details.outerHeight();const spaceBelow=gridRect.bottom-eventRect.bottom;const wouldExtendAbove=distanceFromGridTop<detailsHeight;const canFitBelow=spaceBelow>=detailsHeight;if(wouldExtendAbove&&canFitBelow){details.css({'position':'absolute','top':'100%','bottom':'auto','left':'50%','transform':'translateX(-50%)'});}else{details.css({'bottom':'','top':'','position':''});}}
468const detailsWidth=details.outerWidth();const gridLeft=gridRect.left;const gridRight=gridRect.right;const eventCenter=eventRect.left+(eventRect.width/2);const detailsLeftEdge=eventCenter-(detailsWidth/2);const detailsRightEdge=eventCenter+(detailsWidth/2);if(detailsLeftEdge<gridLeft){details.css({'left':'0','transform':'none','right':'auto'});}
469else if(detailsRightEdge>gridRight){details.css({'left':'auto','right':0,'transform':'none'});}
470else{details.css({'left':'','transform':'','right':''});}
471this.scrollToElement(eventElement);}
472scrollToElement(eventElement){const scheduleGrid=$('.schedule-grid');if(scheduleGrid.length===0)return;const eventRect=eventElement[0].getBoundingClientRect();const gridRect=scheduleGrid[0].getBoundingClientRect();const details=eventElement.find('.details');if(details.length===0)return;const detailsRect=details[0].getBoundingClientRect();const gridScrollTop=scheduleGrid.scrollTop();const gridScrollLeft=scheduleGrid.scrollLeft();const detailsTop=detailsRect.top-gridRect.top;const detailsBottom=detailsRect.bottom-gridRect.top;const detailsLeft=detailsRect.left-gridRect.left;const detailsRight=detailsRect.right-gridRect.left;const gridVisibleHeight=gridRect.height;const gridVisibleWidth=gridRect.width;let newScrollTop=gridScrollTop;let newScrollLeft=gridScrollLeft;if(detailsTop<0){newScrollTop=gridScrollTop+detailsTop-20;}else if(detailsBottom>gridVisibleHeight){newScrollTop=gridScrollTop+(detailsBottom-gridVisibleHeight)+20;}
473if(detailsLeft<0){newScrollLeft=gridScrollLeft+detailsLeft-20;}else if(detailsRight>
473gridVisibleWidth){newScrollLeft=gridScrollLeft+(detailsRight-gridVisibleWidth)+20;}
474if(newScrollTop!==gridScrollTop||newScrollLeft!==gridScrollLeft){scheduleGrid.animate({scrollTop:Math.max(0,newScrollTop),scrollLeft:Math.max(0,newScrollLeft)},300);}}
475pointToCell(clientX,clientY){const m=this.getMetrics();if(!m){return{row:null,col:null,x:null,y:null,time:null,day:null};}
476const $container=$(this.container);const scrollLeft=$container.scrollLeft()||0;const scrollTop=$container.scrollTop()||0;const x=clientX-m.rect.left+scrollLeft;const y=clientY-m.rect.top+scrollTop;let col,row;if(x<=m.timeColumnWidth){col=1;}else{const dayX=x-m.timeColumnWidth-m.gapX;col=Math.floor(dayX/(m.dayColumnWidth+m.gapX))+2;col=Math.max(2,Math.min(8,col));}
477if(y<=m.headerRowHeight){row=1;}else{const timeY=y-m.headerRowHeight-m.gapY;row=Math.floor(timeY/(m.timeSlotHeight+m.gapY))+2;row=Math.max(2,Math.min(289,row));}
478const timeInfo=this.calculateTimeFromRow(row);const dayInfo=this.calculateDayFromColumn(col);return{row,col,x,y,time:timeInfo,day:dayInfo,...m};}
479initDateNavigation(){const self=this;$('.date-nav .prev, .date-nav .next').off('click.dateNav').on('click.dateNav',function(){const direction=$(this).is('.prev')?'prev':'next';self.changeDates(direction);});$(".date-nav input[name='current_date']").datepicker({firstDay:$("#first_day_week").val(),dateFormat:'yy-mm-dd',buttonText:'',showOn:'button',gotoCurrent:true,onSelect:function(date,picker){self.changeDates();}});}
480changeDates(direction){const self=this;const loader=$('<div class="loader"><span class="spinner"></spinner></div>').appendTo('.schedule-view');var data={date:$(".date-nav input[name='current_date']").val(),};var module=$("input[name='module']").val();var id=$('.schedule').attr('attr-id');var target=(module=='academy'?'':(module+'/'))+'schedule/getevents';if(typeof(id)!='undefined'){var target='widgets/schedule/getevents';data['id']=id;}else{if($('.type-selector .selected').length==1){data['schedule_id']=$(".type-selector .selected").attr('attr-id');}else if($("select[name='schedule']").length==1){data['schedule_id']=$("select[name='schedule']").val();}}
481if($("input[name='program']").length==1){data['program']=$("input[name='program']").val();}
482if($("input[name='event_action']").length==1){data['event_action']=$("input[name='event_action']").val();}
483if($("select[name='schedule']").length==1){data['schedule_id']=$("select[name='schedule']").val();}else if($("input[name='schedule']").length==1){data['schedule_id']=$("input[name='schedule']").val();}
484if(typeof(direction)!=='undefined'){data['direction']=direction;}
485if($("select[name='gym']").length==1){data['gym']=$("select[name='gym']").val();}
486$.get(target,data,function(response){loader.remove();let rosterId=false;if($('.assign-roster-area').is(":visible")){rosterId=$("select[name='roster_id']").val();}
487$('.grid-body .day-events').remove();$('.grid-body').append(response.events);$('.grid-header').html(response.header);if(response.mobile_header){$('.schedule .mobile-nav').html(response.mobile_header);if($('.schedule .mobile-nav').is(':visible')&&$('.schedule .mobile-nav em.today').length==0){$('.schedule .mobile-nav em:first').trigger('click');}}
488$('.date-nav input[name="current_date"]').val(response.range.date);$('.date-nav em span').html(response.range.start+' - '+response.range.end);if(rosterId){$("select[name='roster_id']").val(rosterId);$(".assign-roster").trigger('click');}
489self.changeVisibility();if(self.wodManager){self.wodManager.loadScheduleItems();self.wodManager.initGridHeaderListeners();}
490self.handleOverlappingEvents();self.requestWidgetResize();});}
491changeVisibility(){var instructor=$(".schedule select[name='instructor']").length==1?$(".schedule select[name='instructor']").val():0;var program=$(".schedule [name='program']").length==1?$(".schedule [name='program']").val():0;if(instructor==0&&program==0){$('.schedule .schedule-event').removeClass('hidden');}else{$('.schedule .schedule-event').each(function(){var visible=true;if(program>0&&$(this).attr('attr-program')!=program){visible=false;}
492if(instructor>0&&visible){visible=false;var instructors=$(this).attr('attr-instructors')
493if(typeof(instructors)!='undefined'){for(var ins of instructors.split(',')){
493if(ins==instructor){visible=true;break;}}}}
494if(!visible){$(this).addClass('hidden');}else{$(this).removeClass('hidden');}});}
495$('.schedule .day').each(function(){var count=$(this).find('.event:not(.hidden)').length;if(count==0){$(this).addClass('empty-day');}else{$(this).removeClass('empty-day');}});if($('.day:not(.empty-day)').length==0){$('.schedule .no-sessions').addClass('visible');}else{$('.schedule .no-sessions').removeClass('visible');}}
496initCurrentTimeLine(){this.syncServerTime();this.createCurrentTimeLine();this.updateCurrentTimeLine();this.startTimeLineUpdates();}
497syncServerTime(){if(typeof serverTime!=='undefined'&&serverTime.timestamp){this.pageLoadBrowserTime=Date.now();this.pageLoadServerTimestamp=serverTime.timestamp*1000;this.serverTimeAtLoad={hours:serverTime.hours,minutes:serverTime.minutes,day:serverTime.day};}else{console.warn('Server time not available, using browser time');this.serverTimeAtLoad=null;}}
498getServerTime(){if(!this.serverTimeAtLoad){const now=new Date();return{hours:now.getHours(),minutes:now.getMinutes(),seconds:now.getSeconds(),day:now.getDay()};}
499const elapsedMs=Date.now()-this.pageLoadBrowserTime;const elapsedSeconds=Math.floor(elapsedMs/1000);const elapsedMinutes=Math.floor(elapsedSeconds/60);let seconds=elapsedSeconds%60;let minutes=this.serverTimeAtLoad.minutes+elapsedMinutes;let hours=this.serverTimeAtLoad.hours+Math.floor(minutes/60);minutes=minutes%60;hours=hours%24;let day=this.serverTimeAtLoad.day;if(hours<this.serverTimeAtLoad.hours||(hours===this.serverTimeAtLoad.hours&&minutes<this.serverTimeAtLoad.minutes&&elapsedMs>86400000)){day=(day+1)%7;}
500return{hours:hours,minutes:minutes,seconds:seconds,day:day};}
501createCurrentTimeLine(){if(this.currentTimeLine){this.currentTimeLine.remove();}
502this.currentTimeLine=$('<div class="current-time-line"></div>');$(this.container).append(this.currentTimeLine);this.updateCurrentTimeLine();}
503updateCurrentTimeLine(){if(!this.currentTimeLine||!this.currentTimeLine.length){return;}
504const now=this.getServerTime();if(now.hours===0&&now.minutes===0&&now.seconds===0){console.log('Midnight reached - refreshing page to update schedule data');window.location.reload();return;}
505const currentDay=now.day;const currentMinutes=now.hours*60+now.minutes;const startOfDayMinutes=0;const minutesFromStart=currentMinutes-startOfDayMinutes;const rowPosition=Math.floor(minutesFromStart/5)+2;const firstDayWeek=parseInt($('input[name="first_day_week"]').val())||0;let dayColumn;if(firstDayWeek===0){dayColumn=currentDay+2;}else{const adjustedDay=currentDay===0?6:currentDay-1;dayColumn=adjustedDay+2;}
506if(rowPosition>=2&&rowPosition<=289){this.currentTimeLine.css({'grid-row':`${rowPosition} / ${rowPosition + 1}`,'grid-column':`${dayColumn} / ${dayColumn + 1}`,'display':'block'});this.markPassedEventsAsEnded(rowPosition,dayColumn);}else{this.currentTimeLine.css('display','none');}}
507startTimeLineUpdates(){if(this.timeLineUpdateInterval){clearInterval(this.timeLineUpdateInterval);}
508this.timeLineUpdateInterval=setInterval(()=>{this.updateCurrentTimeLine();},300000);}
509stopTimeLineUpdates(){if(this.timeLineUpdateInterval){clearInterval(this.timeLineUpdateInterval);this.timeLineUpdateInterval=null;}}
510destroyCurrentTimeLine(){this.stopTimeLineUpdates();if(this.currentTimeLine){this.currentTimeLine.remove();this.currentTimeLine=null;}}
511markPassedEventsAsEnded(currentRow,currentColumn){const now=this.getServerTime();const currentDay=now.day;const events=$(this.container).find(`.schedule-event[data-day="${currentDay}"]:not(.ended)`);events.each((index,event)=>{const $event=$(event);const eventId=$event.data('event-id');if(this.processedEvents.has(eventId)){return;}
512const eventRowEnd=parseInt($event.css('grid-row-end'));if(eventRowEnd<=currentRow){$event.addClass('ended');this.processedEvents.add(eventId);}});}}
513$(document).ready(function(){if(!window.scheduleGrid){window.scheduleGrid=new ScheduleGridManager();}});if(typeof module!=='undefined'&&module.exports){module.exports=ScheduleGridManager;};class ScheduleBookingManager{constructor(container,gridManager=null){this.container=container||document.querySelector('.schedule-container');
513this.gridManager=gridManager;this.shouldShowTaxLine=false;this.netTax=0;this.membershipOptions=[];this.init();}
514module(moduleName){return this.gridManager.module(moduleName);}
515init(){if(!this.container)return;this.bindBookingEvents();this.bindParticipantsEvents();this.handleDocumentPlaceholders();}
516bindBookingEvents(){const self=this;this.bindBookingFormEvents();this.bindPaymentEvents();this.bindMemberEvents();this.bindTabEvents();this.bindAlertEvents();}
517buildAddressFromInputs(form){const street=form.find("input[name='address_street']").val()||'';const city=form.find("input[name='address_city']").val()||'';const state=form.find("input[name='address_state']").val()||'';const zip=form.find("input[name='address_zip']").val()||'';const parts=[];if(street!=='')parts.push(street);if(city!=='')parts.push(city);if(state!=='')parts.push(state);if(zip!=='')parts.push(zip);return parts.join(', ');}
518ensureDocumentPlaceholdersRendered(form){const docArea=form.find('.document-area').first();if(docArea.length===0)return;const content=docArea.html()||'';if(content.indexOf('{')===-1){return;}
519const name=form.find("input[name='name']").val()||'';const firstName=name&&name.split?name.split(' ')[0]:'';const dob=form.find("input[name='dob']").val()||'';const phone=form.find("input[name='phone']").val()||'';const address=this.buildAddressFromInputs(form);const contactName=form.find("input[name='contacts[0][name]']").val()||'';const contactPhone=form.find("input[name='contacts[0][phone]']").val()||'';let contactRelation=form.find("select[name='contacts[0][relation]'] option:selected").text()||'';if(contactRelation==='...')contactRelation='';let updatedContent=content;updatedContent=updatedContent.replace(/{first_name}/gi,'<span class="first_name-val">'+firstName+'</span>');updatedContent=updatedContent.replace(/{name}/gi,'<span class="name-val">'+name+'</span>');updatedContent=updatedContent.replace(/{dob}/gi,'<span class="dob-val">'+dob+'</span>');updatedContent=updatedContent.replace(/{phone}/gi,'<span class="phone-val">'+phone+'</span>');updatedContent=updatedContent.replace(/{address}/gi,'<span class="address-val">'+address+'</span>');updatedContent=updatedContent.replace(/{contact_name}/gi,'<span class="contact_name-val">'+contactName+'</span>');updatedContent=updatedContent.replace(/{contact_phone}/gi,'<span class="contact_phone-val">'+contactPhone+'</span>');updatedContent=updatedContent.replace(/{contact_relation}/gi,'<span class="contact_relation-val">'+contactRelation+'</span>');docArea.html(updatedContent);}
520updateDocumentPlaceholderValues(form){if(!form||form.length===0)return;this.ensureDocumentPlaceholdersRendered(form);const name=form.find("input[name='name']").val()||'';const firstName=name&&name.split?name.split(' ')[0]:'';const dob=form.find("input[name='dob']").val()||'';const phone=form.find("input[name='phone']").val()||'';const address=this.buildAddressFromInputs(form);const contactName=form.find("input[name='contacts[0][name]']").val()||'';const contactPhone=form.find("input[name='contacts[0][phone]']").val()||'';let contactRelation=form.find("select[name='contacts[0][relation]'] option:selected").text()||'';if(contactRelation==='...')contactRelation='';form.find('.document-area .first_name-val').html(firstName);form.find('.document-area .name-val').html(name);form.find('.document-area .dob-val').html(dob);form.find('.document-area .phone-val').html(phone);form.find('.document-area .address-val').html(address);form.find('.document-area .contact_name-val').html(contactName);form.find('.document-area .contact_phone-val').html(contactPhone);form.find('.document-area .contact_relation-val').html(contactRelation);}
521handleDocumentPlaceholders(){const self=this;$('.book-form').each(function(){const form=$(this);if(form.data('doc-placeholders-handled')===true){return;}
522self.updateDocumentPlaceholderValues(form);form.find("input[name='name']").change(function(){self.updateDocumentPlaceholderValues(form);});form.find("input[name='dob']").change(function(){self.updateDocumentPlaceholderValues(form);});form.find("input[name='phone']").change(function(){self.updateDocumentPlaceholderValues(form);});form.find("input[name^='address_']").change(function(){self.updateDocumentPlaceholderValues(form);});form.find("input[name='contacts[0][name]'], input[name='contacts[0][phone]'], select[name='contacts[0][relation]']").change(function(){self.updateDocumentPlaceholderValues(form);});form.data('doc-placeholders-handled',true);});}
523bindBookingFormEvents(){const self=this;$('.schedule-grid').on('click','.schedule-event .book',(e)=>{e.stopPropagation();const scheduleEvent=$(e.currentTarget).parents('.schedule-event');$('.schedule-event.active').removeClass('active');const parsedData=this.module('grid').parseEventData(scheduleEvent);if(!parsedData){console.error('Failed to parse event data for booking');return;}
524this.populateBookingForm(scheduleEvent,parsedData);var form=$('.book-form').removeClass('done').removeClass('payment-step').removeClass('document-step');var submitButton=form.find('button[type="submit"]');if($(e.currentTarget).is('.waitlist')){form.find('input[name="waitlist"]').val(1);submitButton.html(t_attr(submitButton,'confirm-waitlist','Confirm Waitlist'));}else{form.find('input[name="waitlist"]').val(0);submitButton.html(t_attr(submitButton,'confirm-booking','Confirm Booking'));}
525mor.media.overlay(form);});$('.book-form .participant').click(function(){$('.book-form').removeClass('payment-step').removeClass('document-step');$('.book-form form')[0].reset();self.resetMember();self.resetPayment();self.restorePricing();if($('.book-form').data('had-cost')=='yes'){$('.book-form').data('had-cost','').addClass('has-cost');}});if($('.book-form input[name="dob"]').length>0){$('.book-form label[for="guardian_name"]').hide();$('.book-form input[name="guardian_name"]').removeAttr('required').hide();}
526$('.book-form input[name="dob"]').on('change',function(){const dob=$(this).val();const form=$(this).parents('.book-form');const guardianEl=form.find('input[name="age_guardian"]');if(guardianEl.length>0){const minAge=parseInt(guardianEl.val(),10);if(dob&&moment().diff(moment(dob,'YYYY-MM-DD'),'years')<=minAge){form.find('label[for="guardian_name"]').show();form.find('input[name="guardian_name"]').attr('required','').show();}else{form.find('label[for="guardian_name"]').hide();form.find('input[name="guardian_name"]').removeAttr('required').hide();}}});$('.book-form .close').click(function(){mor.media.close($('.book-form'));});$('.book-form .next-step').click(function(){var currentStep=$('.book-form .step:visible');var valid=true;
526currentStep.find('input:visible').each(function(){if(valid){try{valid=$(this)[0].checkValidity();}catch(err){valid=true;}}});if(!valid){try{$('.book-form form')[0].reportValidity();}catch(err){}
527return false;}
528var avatar=false;if($('.book-form').find("input[name='name']").is(":visible")){var name=$(".book-form input[name='name']").val();$('.book-form .participant').css('display','inline-block');$('.book-form .participant em').text(name);if(typeof(MARwidgets)!=='undefined'){avatar=MARwidgets.avatar('',name);}else{avatar=mor.main.avatar('',name);}}else if($('.book-form').find('.member').is(":visible")){var name=$(".book-form .member .person em").text();$('.book-form .participant em').text(name);avatar=$('.book-form .member .person .avatar').clone();}
529if(avatar){var currentAvatar=$('.book-form .participant .avatar');currentAvatar.after(avatar);currentAvatar.remove();}
530if($('.payment .gc-payment').length==1){$(".book-form button[type='submit']").addClass('disabled').prop('disabled',true);}
531var next=currentStep.next('.step');if(next.is('.payment')){$('.book-form').addClass('payment-step').removeClass('document-step');self.showPaymentForm();}else if(next.is('.document')){$('.book-form').addClass('document-step').removeClass('payment-step');}
532mor.media.center($('.book-form'));});$('.book-form .session .name').click(function(){$('.book-form').removeClass('payment-step').removeClass('document-step');});var submitting=false;var verifyInFlight=false;var bookingSnapshot=null;var captureBookingSnapshot=function($form){return{params:$form.serialize(),eventId:$form.find('input[name="event_id"]').val(),pricingId:$form.find('input[name="selected_pricing_id"]').val(),bookDate:$form.find('input[name="book_date"]').val(),isWaitlist:$form.find('input[name="waitlist"]').val()==1};};var validateTerms=function(){var terms=$("input[name='terms']");if(terms.length==1&&!terms.is(':checked')){mor.error(terms.parent(),t_attr(terms,'confirm-terms','Please confirm you read the terms above'));return false;}
533return true;};var validateDocuments=function(form){var docContainer=$('.book-form .document');if(docContainer.length===0){docContainer=form.find('.document');}
534if(docContainer.length===0){docContainer=form.closest('.book-form, .booking-widget, .schedule-widget').find('.document');}
535if(docContainer.length===0){return true;}
536var docValid=true;docContainer.find('input.initials').each(function(){if($(this).val()==''){mor.error($(this).parents('.document-area'),t_attr(this,'initials-missing','Initials missing'));docValid=false;}});docContainer.find('.signature').each(function(){if($(this).is(':visible')&&$(this).find('input').length==1&&$(this).find('input').val()==''){mor.error(this,'Signature required');docValid=false;}});docContainer.find("input[name*='guardian_name']").each(function(){if($(this).is(':visible')&&$(this).val()==''){mor.error(this,'Please enter guardian name');docValid=false;}});docContainer.find("input[name*='inputs_req']").each(function(){if($(this).val()==''){mor.error(this,'This field is required');docValid=false;}});docContainer.find("input[type='file'][required]").each(function(){if(this.files.length==0){mor.error(this,'File upload is required');docValid=false;}});return docValid;};var formHandler=function(){if(submitting){return;}
537submitting=true;var form=$('.book-form form');if(form.length===0){form=$('form.checkout');}
538var nonce=form.find('input[name="nonce"]').val();var params,eventId,selectedPricingId,bookDate,isWaitlist;if(nonce&&bookingSnapshot){params=bookingSnapshot.params+'&nonce='+encodeURIComponent(nonce);eventId=bookingSnapshot.eventId;selectedPricingId=bookingSnapshot.pricingId;bookDate=bookingSnapshot.bookDate;isWaitlist=bookingSnapshot.isWaitlist;}else{if(!validateTerms()){submitting=false;return false;}
539var valid=true;form.find('input[required]:visible,select[required]:visible,textarea[required]:visible').each(function(){if(valid){try{valid=$(this)[0].checkValidity();}catch(err){valid=true;}}});if(!valid){try{form[0].reportValidity();}catch(err){}
540submitting=false;return false;}
541if(!validateDocuments(form)){submitting=false;return false;}
542var pricingId=form.find('input[name="selected_pricing_id"]').val();if(!pricingId){var message=$('<span class="error-message">Please select a pricing</span>').appendTo('body');message.position({my:"center bottom",at:"center top-10",of:$(".book-form button")});message.css('zIndex',151);window.setTimeout(function(){message.fadeOut(1000,function(){$(this).remove();});},1000);submitting=false;return;}
543params=form.serialize();eventId=$(".book-form form input[name='event_id']").val();selectedPricingId=pricingId;bookDate=$(".book-form form input[name='book_date']").val();isWaitlist=$(".book-form form input[name='waitlist']").val()==1;}
544bookingSnapshot=null;var button=$(form).find("button[type='submit']");var html=button.data('html');if(typeof(html)!='undefined'&&html!=''){button.html(html);}
545button.data('html',button.html());button.html(`${t_attr(button, 'please-wait', 'Please wait')} <span class="spinner"></span>`);$.post(form.attr('action'),params,function(response){button.html(button.data('html')).prop('disabled',false);submitting=false;if(response.success){self.handleBookingSuccess(response,eventId,selectedPricingId,bookDate,isWaitlist);}else{self.handleBookingError(response);}
546form.removeAttr('attr-verified');},'json');};$('.book-form .checkout').data('submit',formHandler);var verifyBooking=function(){var form=$('.book-form .checkout');var button=$(".book-form button");var restoreButton=function(){verifyInFlight=false;if(button.length){if(button.data('html')){button.html(button.data('html'));}
547button.prop('disabled',false);}};if(verifyInFlight){return false;}
548if(!validateTerms()){restoreButton();return false;}
549if(!validateDocuments(form)){restoreButton();return false;}
550verifyInFlight=true;if(button.length){if(!button.data('html')){button.data('html',button.html());}
551button.html(`${t_attr(button, 'please-wait', 'Please wait')} <span class="spinner"></span>`).prop('disabled',true);}
552bookingSnapshot=captureBookingSnapshot(form);var params=bookingSnapshot.params;var url=form.attr('action');if(typeof(url)=='undefined'||url==false){return;}
553url=url.replace('book','validatebook');if($("select[name='gym']").length==1){params+='&gym='+$("select[name='gym']").val();}
554$.post(url,params,function(response){if(!response.success){restoreButton();mor.error($(".book-form button"),response.errors);form.removeAttr('attr-verified');return false;}else{verifyInFlight=false;form.attr('attr-verified',1);form.submit();}}).fail(function(){restoreButton();});}
555$('.book-form .checkout').data('verify',verifyBooking);$('.book-form form').submit(function(e){e.preventDefault();var $form=$(this);if(!$form.find('input[name="nonce"]').val()){bookingSnapshot=captureBookingSnapshot($form);}
556if(!$('.book-form').is('.has-cost')||$(".book-form input[name='nonce']").length==1||$('.book-form .cash').is(':visible')||$('.book-form .payment-method').is(":hidden")||$('.book-form .ideal').is(":visible")){if($("input[name='authorize_public_key']").length==0){formHandler();}}});$(document).on('click','.pricing-container .pricing-item-box',function(){$('.pricing-container .pricing-item-box').removeClass('selected');$(this).addClass('selected');var tabId=$(this).data('tab-id');self.selectPricing(tabId,{});});$('.recurring-booking input[name="recurring-booking"]').change(function(e){self.setRecurringInfoMessage($(this).is(':checked')&&(''!=$("input[name='member_id']").val()||''!=$(".checkout input[name='name']").val()));});$(document).on('click','.participant-row .recurring-booking .cancel-recurring-booking',function(e){self.removeRecurring(this);});}
557populateBookingForm(scheduleEvent,parsedData){const{eventData,timeInfo}=parsedData;this.resetBookingForm();$('.book-form .event-details h4').text(eventData.title||'');$('.book-form .event-details .date-time').html(scheduleEvent.find('.details .date-time').html());if(scheduleEvent.find('.details .instructor').length==0){$('.book-form .event-details .instructor').hide();}else{$('.book-form .event-details .instructor').html(scheduleEvent.find('.details .instructor').html()).show();}
558let pricingSettings=JSON.parse(eventData.pricing_settings||'[]');let bookingsByPricing=JSON.parse(eventData.booked_by_pricing||'{}');this.parsePricingSettings(pricingSettings,bookingsByPricing);$('.book-form input[name="event_id"]').val(parsedData.eventId);if(eventData.date){$('.book-form input[name="book_date"]').val(eventData.date);}
559$('.book-form .recurring-booking input[type="checkbox"]').prop('checked',fal
559se);if(eventData.is_recurring==1){$('.book-form .recurring-booking').show();}else{$('.book-form .recurring-booking').css('visibility','hidden');}
560var module=$("input[name='module']").val();if(module=='members'){this.loadMemberships();}}
561bindPaymentEvents(){const self=this;$('.book-form .tabs li').click(function(){var paymentType=$(this).attr('attr-type');if(!$(this).is('.selected')){$('.book-form .tabs .selected').removeClass('selected');$(this).addClass('selected');$(this).find("input[type='radio']").prop('checked',true);$('.book-form .payment-type').hide();$('.book-form .'+paymentType).show();var isGoCardlessActive=$('.payment .gc-payment').length==1;if(isGoCardlessActive){self.updateSubmitButtonState();}else{if(paymentType=='bank'){$(".book-form button[type='submit']").addClass('disabled').prop('disabled',true);}else{$(".book-form button[type='submit']").removeClass('disabled').prop('disabled',false);}}}
562var selectedPricingBox=$('.book-form .event-details .pricing-container .pricing-item-box.selected');if(selectedPricingBox.length>0){var bookCost=parseFloat(selectedPricingBox.find('input[name="book_cost"]').val())||0;self.updateTotalizer(bookCost);}else{var uniquePricingCost=$('.book-form .event-details .unique-pricing input[name="book_cost"]').val();if(uniquePricingCost){self.updateTotalizer(parseFloat(uniquePricingCost)||0);}}
563mor.media.center($('.book-form'));});$('.book-form .payment .use-method').click(function(e){if($(e.target).is("input")){$(this).toggleClass('checked');self.showPaymentForm();}});$('.book-form .payment .balance').click(function(e){if($(e.target).is("input")){$(this).toggleClass('checked');self.showPaymentForm();}});}
564updateSubmitButtonState(){var isGoCardlessActive=$('.payment .gc-payment').length==1;if(!isGoCardlessActive){return;}
565var amount=parseFloat($(".payment-method .amount input[name='total']").val(),10)||0;var balanceCoversAmount=false;var useMethodChecked=$('.book-form .payment .use-method').is('.checked');var selectedPaymentType=$('.book-form .tabs li.selected').attr('attr-type');if($('.book-form .balance').is('.checked')){var balance=parseFloat($(".book-form .balance span[attr-rel='amount']").html(),10);if(balance>=amount){balanceCoversAmount=true;}}
566var shouldEnable=amount===0||balanceCoversAmount||useMethodChecked||selectedPaymentType!=='bank';if(shouldEnable){$(".book-form button[type='submit']").removeClass('disabled').prop('disabled',false);}else{$(".book-form button[type='submit']").addClass('disabled').prop('disabled',true);}}
567showPaymentForm(){var showForm=true;var isGoCardlessActive=$('.payment .gc-payment').length==1;var balanceCoversAmount=false;var amount=parseFloat($(".payment-method .amount input[name='total']").val(),10)||0;if(amount===0){showForm=false;}
568if($('.book-form .payment .use-method').is('.checked')){showForm=false;}
569if($('.book-form .balance').is('.checked')){var balance=parseFloat($(".book-form .balance span[attr-rel='amount']").html(),10);if(balance>=amount){showForm=false;balanceCoversAmount=true;}}
570if(isGoCardlessActive){this.updateSubmitButtonState();}
571if(showForm){$('.payment .payment-method').show();}else{$('.book-form .payment .payment-method .tabs li:not([attr-type="cash"])').eq(0).trigger('click');$('.payment .payment-method').hide();}
572mor.media.center($('.book-form'));}
573bindMemberEvents(){const self=this;if(typeof(MemberData)==='object'){$(".book-form input[name='name']").autocomplete({minLength:3,source:function(request,response){var matcher=new RegExp($.ui.autocomplete.escapeRegex(request.term),"i");response($.grep(MemberData,function(value){value=value.label||value.value||value;let normalizedValue=value.normalize("NFD").replace(/[\u0300-\u036f]/g,"");return matcher.test(value)||matcher.test(normalizedValue);}));},select:function(event,ui){self.setMember(ui.item);return false;}}).autocomplete("instance")._renderItem=function(ul,item){var avatar=mor.main.avatar(item.photo,item.label);return $("<li>").append('<a>'+avatar+item.label+'<small>'+item.i18ntype+'</small>'+"</a>").appendTo(ul);};}
574$('.book-form .memberships .selected,.book-form .memberships .no-memberships').click(function(e){e.stopPropagation();$(this).parents('.memberships').toggleClass('open');});$('.book-form .memberships ul').on('click','li',function(e){if($(this).is('.no-access')){return;}
575$('.book-form .memberships .selected').html($(this).html());$('.book-form input[name="ship_id"]').val($(this).attr('attr-id'));self.setRecurringInfoMessage($('input[name="recurring-booking"]').is(':checked'));});}
576setMember(member){this.setRecurringInfoMessage(false);var form=$('.book-form');var participantEl=form.find('.participant').css('display','inline-block');participantEl.find('.avatar').after(mor.main.avatar(member.photo,member.label)).remove();participantEl.find('em').text(member.label);participantEl.find("input[name='member_id']").val(member.id);participantEl.find("input[name='type']").val(member.type);
576form.find('.field-details,.custom-fields-details').hide();if(member.type!='lead'){form.find('.memberships').show();form.find('.memberships .selected').addClass('loading').html('<span class="spinner dark-spin"></span>');this.loadMemberships(member.id);}else{form.find('.memberships').hide();}
577if($('.book-form').is('.has-pricing')){this.hidePricingSettings(member.type==='member'?1:2);$('.payment .unusable-payment-info').hide();if(typeof(member.methods)=='object'&&member.savedPaymentUsable!==false){$('.payment .member').show();var label=$('.payment .member .use-method').addClass('checked').css('display','block');label.find('input').prop('checked',true);$('.payment .payment-method').hide();var options='';for(var i in member.methods){var method=member.methods[i];if(method.type==1){var mask=method.brand+' **** '+method.last4;}else{var mask=(method.brand!=''?method.brand:'Bank Debit')+(method.last4!=''?(' ******'+method.last4):'');}
578options+='<option value="'+method.id+'"'+(method.primary?' selected="selected"':'')+'>'+mask+'</option>';}
579$(".payment select[name='method_id']").html(options);}else{$('.payment .member').hide();if(typeof(member.methods)=='object'&&member.savedPaymentUsable===false){$('.payment .unusable-payment-info').show();}
580var label=$('.payment .member .use-method').removeClass('checked').hide();label.find('input').prop('checked',false);$(".payment select[name='method_id']").html('');$('.payment .payment-method').show();}
581if(member.balance>0){$('.payment .member .balance').css('display','block').find("span[attr-rel='amount']").html(member.balance);$('.payment .member .balance input').trigger('click');}else{$('.payment .member .balance').hide().removeClass('checked').find('input').prop('checked',false);}}else{$('.payment .member').hide();}
582this.updateDocumentPlaceholderValues(form);}
583loadMemberships(memberId){memberId=memberId||'';var form=$('.book-form');var module=$("input[name='module']").val();let self=this;var data={event_id:form.find('input[name="event_id"]').val(),date:form.find('input[name="book_date"]').val()};if(memberId!=''){data.member_id=memberId;}
584if($("select[name='gym']").length==1){data.gym=$("select[name='gym']").val();}
585if(this._pendingMembershipsRequest){this._pendingMembershipsRequest.abort();}
586this._pendingMembershipsRequest=$.get(module+'/schedule/getaccess',data,function(response){self._pendingMembershipsRequest=null;var memberships=form.find('.memberships');memberships.find('ul').html(response.html);self.membershipOptions=response.memberships;var restrictBooking=$("input[name='booking_membership']").val()==1;var selected=false;$('.book-form').addClass('ready');memberships.show().find('.selected').removeClass('loading');memberships.find('li').each(function(){if(selected){return;}
587if(!$(this).is('.no-access')){selected=true;memberships.find('.selected').html($(this).html());$('.book-form input[name="ship_id"]').val($(this).attr('attr-id'));}});var canBook=true;if(memberships.find('li').length==1&&typeof memberships.find('li').attr('attr-id')=='undefined'){canBook=false;}else if(memberships.find('li').not('.no-access').length==0){canBook=false;}
588if(!selected){memberships.addClass('invalid');}else{memberships.removeClass('invalid');}
589if(module!='manager'){if(!canBook&&restrictBooking){$('.book-form').addClass('disabled');}else{$('.book-form').removeClass('disabled');}}
590self.setRecurringInfoMessage($('input[name="recurring-booking"]').is(':checked'));mor.media.center($('.book-form'));});}
591resetMember(){if(this._pendingMembershipsRequest){this._pendingMembershipsRequest.abort();this._pendingMembershipsRequest=null;}
592var form=$('.book-form');form.find('input[name="ship_id"]').val('');this.membershipOptions=[];this.setRecurringInfoMessage(false);form.removeClass('ready');form.find('.participant').css('display','none');form.find('.memberships').hide().find('ul').html('<span class="spinner dark-spin"></span>');form.find('input[name="member_id"]').val('');form.find('input[name="type"]').val('');var module=$("input[name='module']").val();if(module=='manager'){$('.book-form .use-method').hide().removeClass('checked').find('input').prop('checked',fal
592se);$('.book-form .use-method').find("select[name='method_id']").html('');$('.book-form .payment-method').show();$('.book-form .member').hide();$('.book-form .member .balance').hide().removeClass('checked').find('input').prop('checked',false);$('.book-form .member .balance span[attr-rel="amount"]').html('0.00');}
593$('.book-form .field-details,.custom-fields-details').show();form.removeClass('disabled');}
594resetPayment(){var form=$('.book-form form').length?$('.book-form form'):$('form.checkout').has('.payment-method').first();if(!form.length)return;form.find("input[name='nonce']").remove();form.find("input[name='forward_payment_type']").remove();form.find("input[name='forward_terminal_session_key']").remove();form.find("input[name='payment-intent']").remove();form.find('input[name="card-expiry"]').remove();var paymentFields=$('.book-form .payment-method .fields').length?$('.book-form .payment-method .fields'):form.find('.payment-method .fields');paymentFields.find('input[type="text"]').val('');paymentFields.find('input[type="tel"]').val('');paymentFields.find('select').each(function(){var sel=$(this);if(sel.find('option').length)sel.prop('selectedIndex',0);});var cc=form.data('cc');if(cc&&typeof cc.resetPaymentForm==='function'){cc.resetPaymentForm(form);}
595var useCardCheckbox=$('.payment .member .use-method input[name="use_card"]');if(useCardCheckbox.length>0){useCardCheckbox.removeAttr('disabled');}}
596bindNotesEvents(){$('.attending-popup .members .show-notes').click(function(e){e.stopPropagation();$(this).parent().find('.popup').toggle().position({my:"left top",at:"left bottom+10",collision:"flip flip",of:this});});}
597getAttendanceData(eventId,date){return $.post('manager/gym/attending',{event_id:eventId,date:date});}
598bindTabEvents(){const self=this;}
599bindAlertEvents(){const self=this;$('.schedule .alert-bar .close').click(function(){$(this).parent('.alert-bar').hide();});}
600bindParticipantsEvents(){$('.grid-body').on('click','.schedule-event .participants',(e)=>{e.stopPropagation();this.handleParticipantsClick(e.currentTarget,e);});$(document).on('click',(e)=>{if(!$(e.target).closest('.participants-popup, .participants').length){if($('.participants-popup').is('.visible')){mor.media.close($('.participants-popup'));}}
601$('.book-form .memberships').removeClass('open');});}
602handleParticipantsClick(button,e){button=$(button);const event=button.closest('.schedule-event');const eventId=event.data('event-id');e.stopPropagation();const popup=$('.participants-popup');popup.data('event-id',eventId);this.loadParticipants(event,button);}
603participantsEvents(context){context=context||$('.participants-popup');context.find('.cancel-booking').on('click',function(e){e.stopPropagation();var booking=$(this).parents('.participant-row');booking.find('.confirmation-popup').show();});context.find('.attendance').on('click',function(){var booking=$(this).parents('.participant-row');$(this).addClass('loading');var button=$(this);var data={id:booking.attr('attr-id')};if($(this).hasClass('active')){$.post('manager/attendance/remove',{id:booking.attr('attr-attendance')},function(response){button.removeClass('loading').removeClass('active');});}else{$.post('manager/schedule/checkinbooking',data,function(response){if(response.success){booking.attr('attr-attendance',response.id);button.addClass('active');}else{for(var i in response.errors){mor.error(button,response.errors[i]);break;}}
604button.removeClass('loading');},'json');}});context.find('.upgrade-waitlist').on('click',function(){var booking=$(this).parents('.participant-row');$(this).addClass('loading');var button=$(this);var bookingId=booking.attr('attr-id');$.post('manager/schedule/upgradewaitlist',{id:bookingId},function(response){if(response.success){button.remove();booking.removeClass('is-waitlist');var bookedList=context.find('.list-container[attr-type="booked"]');if(bookedList.length>0){bookedList.append(booking);}
605refreshCounts();var bookings=context.find('.participant-row:not(.is-waitlist)').length;var event=$('.schedule-event.active');event.find('.participants .count').html(bookings);
605event.find('.main-details .booked b').html(bookings);}else{button.removeClass('loading');for(var i in response.errors){mor.error(button,response.errors[i]);break;}}});});context.find('.info .details textarea').on('change',function(){var booking=$(this).parents('.participant-row');var notes=$(this).val();var button=$(this).parents('.info').addClass('loading');$.post('manager/book/updatenote',{id:booking.attr('attr-id'),notes:notes},function(){button.removeClass('loading');});}).on('click',function(){$(this).parents('.info').addClass('open');}).on('blur',function(){$(this).parents('.info').removeClass('open');});context.find('.rebook').on('click',function(){});context.find('.close').click(function(){mor.media.close(context);});context.find('.confirmation-popup .close-confirmation').click(function(){$(this).parents('.confirmation-popup').hide();});context.find('.confirmation-popup .confirm-cancel').click(function(){var button=$(this);button.data('html',button.html()).prop('disabled',true);button.html(t('common.status.working')+' <sp
605an class="spinner"></span>');var booking=$(this).parents('.participant-row');var bookingId=booking.attr('attr-id');$.post('manager/schedule/cancelbooking',{id:bookingId},function(response){button.html(button.data('html')).prop('disabled',false);booking.fadeOut(300,function(){$(this).remove();refreshCounts();mor.media.center($('.participants-popup'));});if(response.event){var newEvent=$(response.event).addClass('active');var eventEl=$('.schedule-event.active');var details=eventEl.find('.details');var css=details.attr('style');eventEl.replaceWith(newEvent);newEvent.find('.details').attr('style',css);mor.media.center($('.participants-popup'));}
606if(response.errors){mor.error($('.participants-popup .participants-list'),response.errors);}},'json');});context.find('.subnav a').on('click',function(){context.find('.subnav .selected').removeClass('selected');$(this).addClass('selected');var type=$(this).attr('attr-type');context.find('.list-container').removeClass('active');context.find('.list-container[attr-type="'+type+'"]').addClass('active');});context.find('.filters .show-filters').on('click',function(e){e.stopPropagation();context.find('.filter-popup').toggle();});context.find('.filters').click(function(e){e.stopPropagation();});context.find('.filters .filter-popup .actions a').on('click',function(){context.find('.filter-popup').hide();});context.find('.filters .search input.text').on('keyup',function(){var value=$(this).val();if(value==''){context.find('.participant-row').removeClass('hidden');}else{context.find('.participant-row').each(function(){var name=$(this).attr('attr-name');if(name.toLowerCase().includes(value.toLowerCase())){$(this).removeClass('hidden');}else{$(this).addClass('hidden');}});}
607refreshCounts();});context.find('.filters .filter-popup .actions a.close-filters').on('click',function(){context.find('.filter-popup').hide();});context.find('.filters .filter-popup .actions button.apply').on('click',function(){var filters=context.find('.filters .filter-popup select');var type=context.find(".filters select[name='type']").val();var attended=context.find(".filters select[name='attended']").val();var pricingOption=context.find(".filters select[name='pricing_option']").val();context.find('.participant-row').each(function(){$(this).removeClass('hidden');if(type!=''&&$(this).attr('attr-type')!=type){$(this).addClass('hidden');}
608if(attended!=''&&((attended==1&&$(this).attr('attr-attendance')==undefined)||(attended==0&&$(this).attr('attr-attendance')!=undefined))){$(this).addClass('hidden');}
609if(pricingOption!=''&&$(this).attr('attr-pricing-id')!=pricingOption){$(this).addClass('hidden');}});if(context.find('.subnav').length>0){refreshCounts();var bookedCount=context.find('.list-container[attr-type="booked"]').find('.participant-row:not(.hidden)').length;var waitlistedCount=context.find('.list-container[attr-type="waitlisted"]').find('.participant-row:not(.hidden)').length;if(bookedCount==0&&waitlistedCount>0){context.find('.subnav a[attr-type="waitlisted"]').trigger('click');}else if(bookedCount>0&&waitlistedCount==0){context.find('.subnav a[attr-type="booked"]').trigger('click');}}
610context.find('.filter-popup').hide();});context.find('.filters .filter-popup .actions a.reset').on('click',function(){context.find('.filters .filter-popup .scrollable select').val('');context.find('.filters .search input.text').val('').trigger('keyup');context.find('.filter-popup').hide();refreshCounts();});var refreshCounts=function(){if(context.find('.subnav').length>0){context.find('.list-container').each(function(){var count=$(this).find('.participant-row:not(.hidden)').length;context.find('.subnav a[attr-type="'+$(this).attr('attr-type')+'"] span').html(count);});}}}
611loadParticipants(event,button){button=$(button);button.prop('disabled',true);button.addClass('loading');const $popup=$('.participants-popup');const eventDate=event.attr('attr-date');var module=$("input[name='module']").val();$.post(module+'/schedule/getbookedpopup',{event_id:event.data('event-id'),date:eventDate},(response)=>{button.removeClass('loading').prop('disabled',false);
611if(response.success){$popup.html(response.html).show();this.participantsEvents();if(typeof mor!=='undefined'&&mor.media){mor.media.overlay($popup);}}else{console.error('Failed to load participants:',response);$popup.html('<div class="error">Failed to load participants</div>');}}).fail((xhr,status,error)=>{console.error('AJAX error loading participants:',error);$popup.html('<div class="error">Error loading participants</div>');});}
612getUniquePricingHtml(pricing){var costLabel=pricing.book_cost==0?'':currency+pricing.book_cost;var html='<div class="unique-cost-label" data-test-id="booking-unique-pricing"><div class="booking-cost" data-original-text="'+costLabel+'" data-test-id="booking-pricing-cost">'+costLabel+'</div><input type="hidden" name="book_cost" value="'+(pricing.book_cost||0)+'" data-original-book-cost="'+(pricing.book_cost||0)+'"/>'+'<input type="hidden" name="book_cost_apply" value="'+(pricing.book_cost_apply||0)+'"/>'+'<input type="hidden" name="cost" value="'+(pricing.cost||0)+'" data-original-cost="'+(pricing.cost||0)+'"/>'+'<input type="hidden" name="allow_free_for_others" value="'+(pricing.allow_free_for_others||0)+'"/>'+'<input type="hidden" name="id" value="'+(pricing.id||0)+'"/>'+'</div>';this.selectPricing("no-tab",pricing);return html;}
613restorePricing(){var pricingItems=$('.pricing-container .pricing-item-box');$('.book-form .event-details .pricing-container').show();$('.no-price').remove();$('.tax-line').show();let hasCost=false;let restoredBookCost=0;if(pricingItems.length>0){$('.book-form .event-details .unique-pricing').remove();pricingItems.each(function(){const $box=$(this);$box.show();const bookCostInput=$box.find('input[name="book_cost"]');const originalBookCost=bookCostInput.data('original-book-cost');if(typeof originalBookCost!=='undefined'){bookCostInput.val(originalBookCost);if(parseFloat(originalBookCost)>0){hasCost=true;}}
614const costInput=$box.find('input[name="cost"]');const originalCost=costInput.data('original-cost');if(typeof originalCost!=='undefined'){costInput.val(originalCost);}
615const costLabel=$box.find('.cost');const originalText=costLabel.data('original-text');if(typeof originalText!=='undefined'){costLabel.html(originalText);}});const selectedPricing=pricingItems.filter('.selected').first();const targetPricing=selectedPricing.length>0?selectedPricing:pricingItems.first();const targetBookCost=targetPricing.find('input[name="book_cost"]').val();restoredBookCost=parseFloat(targetBookCost)||0;}else{const uniqueLabel=$('.unique-cost-label');uniqueLabel.find('.booking-cost').show();$('.book-form').find('input[name="selected_pricing_id"]').val($('.book-form .event-details .unique-pricing').find('input[name="id"]').val());const bookCostInput=uniqueLabel.find('input[name="book_cost"]');const originalBookCost=bookCostInput.data('original-book-cost');if(typeof originalBookCost!=='undefined'){bookCostInput.val(originalBookCost);restoredBookCost=parseFloat(originalBookCost)||0;if(parseFloat(originalBookCost)>0){hasCost=true;}}
616const costInput=uniqueLabel.find('input[name="cost"]');const originalCost=costInput.data('original-cost');if(typeof originalCost!=='undefined'){costInput.val(originalCost);}
617const costLabel=uniqueLabel.find('.booking-cost');const originalText=costLabel.data('original-text');if(typeof originalText!=='undefined'){costLabel.html(originalText);}}
618const form=$('.book-form');if(hasCost){form.addClass('has-cost').data('had-cost','yes');}else{form.removeClass('has-cost');}
619this.updateTotalizer(restoredBookCost);}
620selectPricing(tabId,pricingObj){const form=$('.book-form');const pricing=tabId!=="no-tab"?this.getPricingData(tabId):pricingObj;const isWaitlist=(pricing.waitlist||0)===1;let sessionCost=Number(pricing.cost)||0;form.find('input[name="selected_pricing_id"]').val(pricing.id);if(sessionCost>0&&!isWaitlist){form.addClass('has-cost').data('had-cost','yes');}else{form.removeClass('has-cost');}
621let cost=sessionCost;const costEl=form.find('.payment-method .amount');const feeAttr=parseFloat(costEl.attr('attr-fee'),10);if(sessionCost>0&&!isNaN(feeAttr)){const fee=feeAttr*cost/100;if(fee>0){cost+=fee;const digits=parseInt($("input[name='digits']").val())||2;cost=cost.toFixed(digits);}}
622costEl.find('input').val(cost);form.find("input[name='waitlist']").val(isWaitlist?1:0);const button=form.find('.buttons button');button.html(isWaitlist?t_attr(button,'confirm-waitlist','Confirm Waitlist'):t_attr(button,'confirm-booking','Confirm Booking'));this.updateTotalizer(pricing.book_cost||0);
622this.showPaymentForm();mor.media.center($('.book-form'));}
623unSelectPricing(){let form=$('.book-form');form.removeClass('has-cost');$('.pricing-container .pricing-item-box').removeClass('selected');form.find('input[name="selected_pricing_id"]').val('');form.find('.payment-method .amount input').val('');$(".book-form form input[name='waitlist']").val();form.find("input[name='waitlist']").val(0);form.find('button').html('Confirm Booking');}
624getPricingData(tabId){var box=$('.pricing-item-box[data-tab-id="'+tabId+'"]');var id=parseInt(box.find('input[name="id"]').val(),10)||0;var cost=parseFloat(box.find('input[name="cost"]').val())||0;var waitlist=parseInt(box.find('input[name="trigger_waitlist"]').val(),10)||0;var bookCost=parseFloat(box.find('input[name="book_cost"]').val())||0;var bookCostApply=parseInt(box.find('input[name="book_cost_apply"]').val(),10)||0;var allowFreeForOthers=parseInt(box.find('input[name="allow_free_for_others"]').val(),10)||0;return{id:id,cost:cost,waitlist:waitlist,book_cost:bookCost,book_cost_apply:bookCostApply,allow_free_for_others:allowFreeForOthers,};}
625removePricing(){$('.book-form .event-details .pricing-container').remove();$('.book-form .event-details .unique-pricing').remove();$('.book-form .event-details .pricing-divider').remove();}
626parsePricingSettings(pricingList=[],bookedByPricing){let form=$('.book-form');this.removePricing();form.removeClass('has-pricing');var availablePricings=[];pricingList.forEach((pricing)=>{var limit=pricing.book_limit||0;var booked=bookedByPricing[pricing.id]||0;var remaining=limit-booked;var isAvailable=remaining>0||(pricing.waitlist??0)===1;if(isAvailable){availablePricings.push(pricing);}});var availableCount=availablePricings.length;if(availableCount>0){this.shouldShowTaxLine=false;let netTax=0;let metadataInput=$('.book-form input[name="metadata"]');let taxSpans=[];if(metadataInput.length>0){try{let metadata=JSON.parse(metadataInput.val());for(let key in metadata){if(key.toLowerCase().includes('rate')){let taxValue=parseFloat(metadata[key]);if(!isNaN(taxValue)){taxSpans.push(key+': '+taxValue+'%');netTax+=taxValue;}}}}catch(e){console.error('Error parsing metadata JSON:',e);}}
627this.netTax=netTax;if(!form.hasClass('has-pricing')&&availableCount>0){form.addClass('has-pricing');if(availableCount>1){$('.book-form .event-details').append('<div class="pricing-container" data-test-id="booking-pricing-container"></div><div class="pricing-divider"></div>');}else{$('.book-form .event-details').append('<div class="unique-pricing" data-test-id="booking-unique-pricing"></div><div class="pricing-divider"></div>');}}
628$('.book-form .pricing-container,.book-form .unique-pricing').empty();var firstBookCost=0;availablePricings.forEach((pricing)=>{var bookCost=pricing.book_cost||0;if(firstBookCost===0){firstBookCost=bookCost;}
629var cost=parseFloat(bookCost,10);if(netTax>0){var tax=round(netTax*cost/100,2);cost+=tax;}
630var booked=bookedByPricing[pricing.id]||0;var container=this.generatePricingSetting(pricing,taxSpans,cost,availableCount===1,booked);if(availableCount>1){$('.book-form .event-details .pricing-container').append(container);}else{$('.book-form .event-details .unique-pricing').append(container);}});if(availableCount>1){var firstPricingBox=$('.book-form .event-details .pricing-container .pricing-item-box').first();if(firstPricingBox.length>0){$('.pricing-container .pricing-item-box').removeClass('selected');firstPricingBox.addClass('selected');var tabId=firstPricingBox.data('tab-id');requestAnimationFrame(()=>this.selectPricing(tabId));}}
631this.showTaxLine(availableCount,availableCount===1?firstBookCost:undefined);if(availableCount===1&&this.shouldShowTaxLine){$('.book-form .event-details .unique-pricing').addClass('has-tax');}}}
632generatePricingSetting(pricing,taxes,cost,single=false,booked){var limit=pricing.book_limit||0;var remaining=limit-booked;if(!single){var remainingLabelClass=remaining<=5?'alert-color':'success-color';var isAvailable=remaining>0||(pricing.waitlist??0)===1;var capacityTypeLabel=remaining<=0?'Waitlist':remaining+' remaining';var costLabel=pricing.book_cost==0?'Free':currency+pricing.book_cost;this.shouldShowTaxLine=isAvailable?this.shouldShowTaxLine||(taxes.length>0&&pricing.book_cost>0):false;var html=isAvailable?'<div class="pricing-item-box" data-tab-id="'+pricing.tab_id+'" data-test-id="booking-pricing-option">'+'<div class="label" data-test-id="booking-pricing-name">'+pricing.tab_name+'</div>'+'<div>'+'<div class="'+remainingLabelClass+'" data-test-id="booking-pricing-remaining">'+capacityTypeLabel+'</div>'+'<div class="cost" data-original-text="'+costLabel+'" data-test-id="booking-pricing-cost">'+costLabel+'</div>'+'<input type="hidden" name="cost" value="'+(cost||0)+'" data-original-cost="'+(cost||0)+'"/>'+'<input type="hidden" name="book_cost" value="'+(pricing.book_cost||0)+'" data-original-book-cost="'+(pricing.book_cost||0)+'"/>'+'<input type="hidden" name="book_cost_apply" value="'+(pricing.book_cost_apply||0)+'"/>'+'<input type="hidden" name="allow_free_for_others" value="'+(pricing.allow_free_for_others||0)+'"/>'+'<input type="hidden" name="id" value="'+(pricing.id||0)+'"/>'+'<input type="hidden" name="trigger_waitlist" value="'+(remaining<=0?(pricing.
632waitlist||0):0)+'"/>'+'</div>'+'</div>':'<div></div>';return html;}
633this.shouldShowTaxLine=(taxes.length>0&&pricing.book_cost>0);pricing.waitlist=(remaining<=0?(pricing.waitlist||0):0);pricing.cost=cost||0;var html=this.getUniquePricingHtml(pricing);return html;}
634showTaxLine(pricingLength,initialCost){var processingFeeRate=parseFloat($('.book-form .payment-method .amount').attr('attr-fee'))||0;var hasProcessingFee=processingFeeRate>0;if(!this.shouldShowTaxLine&&!hasProcessingFee){return;}
635if(pricingLength>1){if($('.book-form .event-details .pricing-container .tax-line').length===0){$('.book-form .event-details .pricing-container').append('<div class="tax-line"></div>');}}else{if($('.book-form .event-details .unique-pricing .tax-line-unique').length===0){$('.book-form .event-details .unique-pricing').append('<div class="tax-line-unique"></div>');}}
636var baseCost=0;if(typeof initialCost!=='undefined'){baseCost=initialCost;}else if(pricingLength>1){var selectedBox=$('.book-form .event-details .pricing-container .pricing-item-box.selected');if(selectedBox.length>0){baseCost=parseFloat(selectedBox.find('input[name="book_cost"]').val())||0;}}else{baseCost=parseFloat($('.book-form .event-details .unique-pricing input[name="book_cost"]').val())||0;}
637this.renderTotalizer(baseCost,pricingLength);}
638renderTotalizer(bookCost,pricingLength){$('.tax-line .totalizer').remove();$('.tax-line-unique .totalizer').remove();bookCost=parseFloat(bookCost)||0;if(bookCost<=0){return;}
639var taxAmount=(bookCost*this.netTax/100);var selectedPaymentType=$('.book-form .payment-method .tabs li.selected').attr('attr-type');var isCardPayment=selectedPaymentType==='payment-card';var processingFee=0;if(isCardPayment){var processingFeeRate=parseFloat($('.book-form .payment-method .amount').attr('attr-fee'))||0;processingFee=((bookCost+taxAmount)*processingFeeRate/100);}
640if(processingFee<=0&&taxAmount<=0){return;}
641var total=bookCost+taxAmount+processingFee;var currencySymbol=currency||'$';var digits=parseInt($("input[name='digits']").val())||2;var taxAmountFormatted=currencySymbol+taxAmount.toFixed(digits);var processingFeeFormatted=currencySymbol+processingFee.toFixed(digits);var totalFormatted=currencySymbol+total.toFixed(digits);var totalizerHtml='<div class="totalizer">';if(this.netTax>0){totalizerHtml+='<div class="totalizer-row">Taxes ('+this.netTax+'%): <span>'+taxAmountFormatted+'</span></div>';}
642if(isCardPayment&&processingFee>0){totalizerHtml+='<div class="totalizer-row">'+(t('manager.billing.common.processingFee')||'Processing fee')+': <span>'+processingFeeFormatted+'</span></div>';}
643totalizerHtml+='<div class="totalizer-row totalizer-total">Total amount: <span>'+totalFormatted+'</span></div>'+'</div>';if(pricingLength>1){$('.book-form .event-details .pricing-container .tax-line').append(totalizerHtml);}else{$('.book-form .event-details .unique-pricing .tax-line-unique').append(totalizerHtml);}}
644updateTotalizer(bookCost){var processingFeeRate=parseFloat($('.book-form .payment-method .amount').attr('attr-fee'))||0;var hasProcessingFee=processingFeeRate>0;if(!this.shouldShowTaxLine&&!hasProcessingFee){return;}
645var pricingLength=$('.book-form .event-details .pricing-container .pricing-item-box').length;$('.tax-line:not(:has(.totalizer))').remove();if(pricingLength>1){if($('.book-form .event-details .pricing-container .tax-line').length===0){$('.book-form .event-details .pricing-container').append('<div class="tax-line"></div>');}}
646this.renderTotalizer(bookCost,pricingLength);}
647getEventAttribute(element,attrName,defaultValue=null){try{var eventInfo=element.attr('data-event-info');if(!eventInfo){return defaultValue;}
648var eventData=JSON.parse(eventInfo);return(eventData[attrName]!==undefined)?eventData[attrName]:defaultValue;}catch(e){console.error('Error reading event attribute:',attrName,e);return defaultValue;}}
649setEventAttribute(element,attrName,value){try{var eventInfo=element.attr('data-event-info');if(!eventInfo){return;}
650var eventData=JSON.parse(eventInfo);eventData[attrName]=value;element.attr('data-event-info',JSON.stringify(eventData));}catch(e){console.error('Error setting event attribute:',attrName,e);}}
651getJsonAttribute(element,attrName,defaultValue={}){try{var eventInfo=element.attr('data-event-info');if(!eventInfo){return defaultValue;}
652var eventData=JSON.parse(eventInfo);var propertyValue=eventData[attrName];if(!propertyValue){return defaultValue;}
653var parsed=JSON.parse(propertyValue);return(Array.isArray(parsed))?defaultValue:parsed;}catch(e){console.error('Error parsing JSON attribute:',attrName,e);return defaultValue;}}
654setJsonAttribute(element,attrName,data){try{var eventInfo=element.attr('data-event-info');if(!eventInfo){return;}
655var eventData=JSON.parse(eventInfo);eventData[attrName]=JSON.stringify(data);element.attr('data-event-info',JSON.stringify(eventData));}catch(e){console.error('Error setting JSON attribute:',attrName,e);}}
656incrementBookedByPricing(eventId,pricingId,date){var session=$(".schedule-event[data-event-id='"+eventId+"'][attr-date='"+date+"']");var bookedByPricing=this.getJsonAttribute(session,'booked_by_pricing');bookedByPricing[pricingId]=(bookedByPricing[pricingId]||0)+1;this.setJsonAttribute(session,'booked_by_pricing',bookedByPricing);}
657incrementDetailedBookedByPricing(eventId,pricingId,date){var session=$(".schedule-event[data-event-id='"+eventId+"'][attr-date='"+date+"']");var detailedBookedByPricing=this.getJsonAttribute(session,'detailed_booked_by_pricing');const detail=detailedBookedByPricing[pricingId]||{};detail.bookings=(detail.bookings||0)+1;detailedBookedByPricing[pricingId]=detail;this.setJsonAttribute(session,'detailed_booked_by_pricing',detailedBookedByPricing);}
658resetBookingForm(){var form=$('.book-form form');$('.book-form').addClass('done');$('.book-form').removeClass('has-cost').removeClass('payment-step').removeClass('document-step');$('.book-form').removeClass('has-pricing');form.find('input[name="selected_pricing_id"]').val('');this.removePricing();var inputs=form.find('input,textarea').not('input[type="checkbox"]').not('input[type="radio"]').not('input[type="hidden"]').val('');this.resetMember();this.resetPayment();
658$('.book-form .field-details,.book-form .custom-fields-details').css('display','');mor.media.center($('.book-form'));}
659showInvoiceLink(response){var confirm=$('.book-form .confirmation');confirm.find('.view-invoice').remove();if(typeof(response.invoice_url)!='undefined'){confirm.append('<a href="'+response.invoice_url+'" class="view-invoice button">'+t_attr(confirm,'view-invoice','View invoice')+'</a>');}}
660showConfirmationMessage(isWaitlist){var confirm=$('.book-form .confirmation');if(isWaitlist){$('.book-form').addClass('waitlist');confirm.find('.waitlist-done').show();confirm.find('.booking-done').hide();}else{$('.book-form').removeClass('waitlist');confirm.find('.waitlist-done').hide();confirm.find('.booking-done').show();}
661mor.media.center($('.book-form'));}
662hidePricingSettings(type){const self=this;const selectedId=parseInt($('input[name="selected_pricing_id"]').val())||0;var uniqueLabel=$('.unique-cost-label');var pricingSettings=$('.pricing-container .pricing-item-box');let stillVisible=false;if(pricingSettings.length===0&&uniqueLabel.length===1){const applyValue=parseInt(uniqueLabel.find('input[name="book_cost_apply"]').val())||0;const pricingId=parseInt(uniqueLabel.find('input[name="id"]').val())||0;const allowFreeForOthers=parseInt(uniqueLabel.find('input[name="allow_free_for_others"]').val())||0;let shouldShow=false;let shouldBeFree=false;if(applyValue===0||applyValue===1){shouldShow=true;}else if(applyValue===2){if(parseInt(type)!==1){shouldShow=true;}else if(allowFreeForOthers===1){shouldShow=true;shouldBeFree=true;}}else if(applyValue===3){if(allowFreeForOthers===1){shouldShow=true;shouldBeFree=true;}}
663if(shouldShow){if(pricingId===selectedId){stillVisible=true;}
664if(shouldBeFree){uniqueLabel.find('.booking-cost').html(t('manager.schedule.eventForm.free'));uniqueLabel.find('input[name="book_cost"]').val(0);uniqueLabel.find('input[name="cost"]').val(0);}}else{var html='<div class="no-price">There is no pricing available for the member you selected.</div>';$('.unique-cost-label .booking-cost').hide();uniqueLabel.append(html);}
665if(!stillVisible){self.unSelectPricing();}else{const currentBookCost=parseFloat(uniqueLabel.find('input[name="book_cost"]').val())||0;self.updateTotalizer(currentBookCost);if(shouldBeFree&&currentBookCost===0){const form=$('.book-form');form.removeClass('has-cost');self.showPaymentForm();}}
666return;}
667pricingSettings.each(function(){const $box=$(this);const applyValue=parseInt($box.find('input[name="book_cost_apply"]').val());const pricingId=$box.find('input[name="id"]').val();const allowFreeForOthers=parseInt($box.find('input[name="allow_free_for_others"]').val())||0;let shouldShow=false;let shouldBeFree=false;if(applyValue===0||applyValue===1){shouldShow=true;}else if(applyValue===2){if(parseInt(type)!==1){shouldShow=true;}else if(allowFreeForOthers===1){shouldShow=true;shouldBeFree=true;}}else if(applyValue===3){if(allowFreeForOthers===1){shouldShow=true;shouldBeFree=true;}}
668if(shouldShow){$box.show();if(shouldBeFree){$box.find('.cost').html(t('manager.schedule.eventForm.free'));$box.find('input[name="book_cost"]').val(0);$box.find('input[name="cost"]').val(0);}
669if(selectedId===parseInt(pricingId)){stillVisible=true;}}else{$box.hide();}});if(!stillVisible){self.unSelectPricing();}else{const selectedBox=$('.pricing-container .pricing-item-box.selected');if(selectedBox.length>0){const currentBookCost=parseFloat(selectedBox.find('input[name="book_cost"]').val())||0;self.updateTotalizer(currentBookCost);if(currentBookCost===0){const form=$('.book-form');form.removeClass('has-cost');self.showPaymentForm();}}}
670const visibleBoxes=$('.pricing-container .pricing-item-box:visible');if(visibleBoxes.length===1){const visible=visibleBoxes.first();const tabId=visible.data('tab-id');var pricingData=this.getPricingData(tabId);var uniquePricing=$('.book-form .session .unique-pricing');var html=this.getUniquePricingHtml(pricingData);if(uniquePricing.length===0){$('.pricing-divider').remove();$('.book-form .session').append('<div class="unique-pricing"></div><div class="pricing-divider"></div>');}
671$('.book-form .session .unique-pricing').append(html);this.showTaxLine(1);$('.pricing-container').hide();}else if(visibleBoxes.length===0){var html='<div class="no-price">There is no pricing available for the member you selected.</div';$('.book-form .session .pricing-container').append(html);}}
672switchToWaitlistMode(session){session.addClass('waitlist').removeClass('full');}
673switchToFullMode(session){session.addClass('full').removeClass('waitlist');}
674handleBookingSuccess(response,eventId,selectedPricingId,bookDate,isWaitlist){var module=$("input[name='module']").val();var bookedEmail=$('.book-form form input[name="email"]').val()||'';var redirectUrl=$("input[name='booking_redirect_url']").val();this.resetBookingForm();this.showInvoiceLink(response);this.showConfirmationMessage(isWaitlist);var eventEl=$(".schedule-event[data-event-id='"+eventId+"'][attr-date='"+bookDate+"']");if(!isWaitlist){this.incrementBookedByPricing(eventId,selectedPricingId,bookDate);this.incrementDetailedBookedByPricing(eventId,selectedPricingId,bookDate);if(eventEl.length>0){var booked=this.getEventAttribute(eventEl,'booked',0)+1;var bookLimit=this.getEventAttribute(eventEl,'book_limit',0);var waitlist=this.getEventAttribute(eventEl,'waitlist',0);if(waitlist==0&&booked>=bookLimit){this.switchToFullMode(eventEl);}}}
675if(module=='members'){this.module('grid').changeDates();}else if(response.html){var newEvent=$(response.html);eventEl.replaceWith(newEvent);}
676this.executeConversionSnippet();this.redirectAfterBooking(redirectUrl,bookedEmail);}
677handleBookingError(response){this.clearSpentPaymentToken();for(var i in response.errors){if(i=='authentication_required'){var module=$("input[name='module']").val();window.location.href=module+'/billing/payment/id/'+response.errors.id;break;}else{var error=response.errors[i];var button=$('.book-form button[type="submit"]');mor.error(button,error);break;}}}
678clearSpentPaymentToken(){var form=$('.book-form form');if(form.length===0){form=$('form.checkout');}
679if(!form.length||!form.find("input[name='forward_payment_type']").length){return;}
680form.find("input[name='nonce']").remove();form.find("input[name='forward_payment_type']").remove();}
681setRecurringInfoMessage(recurringIsChecked=false){const memberships=this.membershipOptions;const selectedShipId=$('input[name="ship_id"]').val();let infoText=null;let membership=null;for(let i=0;i<memberships.length;i++){if(selectedShipId==memberships[i]['id']){membership=memberships[i];if(undefined!=memberships[i]['recurring_booking_limits']){infoText=memberships[i]['recurring_booking_limits']['message'];}
682break;}}
683const hasExisting=membership?.recurring_booking_limits?.has_existing_recurring;if(hasExisting){$('input[name="recurring-booking"]').prop('disabled',true).prop('checked',fal
683se);}else{$('input[name="recurring-booking"]').prop('disabled',false);}
684if(!recurringIsChecked&&!hasExisting){$('.recurring-booking-info').removeClass('visible');$('.recurring-booking').removeClass('adjusted');return;}
685var requireMembership=$("input[name='booking_membership']").val()==1;if(requireMembership&&(null==selectedShipId||''==selectedShipId)){infoText=t('bookings.recurring.selectMembership');}
686if(!infoText){$('.recurring-booking-info').find('span').text('');$('.recurring-booking-info').removeClass('visible');$('.recurring-booking').removeClass('adjusted');return;}
687$('.recurring-booking-info').find('span').text(infoText);$('.recurring-booking-info').addClass('visible');$('.recurring-booking').addClass('adjusted');}
688removeRecurring(target){var data={id:$(target).attr('data-id'),date:$(target).attr('data-date'),};$.post('manager/book/cancel-recurring',data,function(response){$(target).parents('.participant-row').remove();});}
689executeConversionSnippet(fnName='bookConv'){const fn=window[fnName];if(typeof fn==='function'){try{fn();}catch(e){console.error(`Conversion snippet error in ${fnName}()`,e);}}
690this.notifyParentConversion();}
691notifyParentConversion(){try{if(window.parent===window)return;const code=(window.gymdesk&&window.gymdesk.bookingConversionCode)||null;if(!code)return;window.parent.postMessage(['gymdesk-booking-conversion',code],'*');}catch(e){}}
692isValidRedirectUrl(urlString){let url;try{url=new URL(urlString);}catch(e){return false;}
693return url.protocol==='http:'||url.protocol==='https:';}
694buildRedirectUrl(redirectUrl,email){if(redirectUrl===undefined||redirectUrl===''||!this.isValidRedirectUrl(redirectUrl)){return null;}
695return redirectUrl.replace(/{email}/gi,encodeURIComponent(email||''));}
696navigateRedirect(redirectUrl,win){win=win||window;if(win.self===win.top){win.location.href=redirectUrl;return;}
697win.parent.postMessage(['gymdesk-booking-redirect',redirectUrl],'*');try{win.top.location.href=redirectUrl;}catch(e){}}
698redirectAfterBooking(redirectUrl,email,win){const target=this.buildRedirectUrl(redirectUrl,email);if(target===null){return;}
699const self=this;setTimeout(function(){self.navigateRedirect(target,win);},3000);}}
700window.ScheduleBookingManager=ScheduleBookingManager;;;(function(){var signatures={init:function(){var self=this;if($('.signature').length>0){$('.signatures').each(function(){self.initCanvas(this);});}
701$(window).resize(function(){if($('.signature-pad').is(':visible')){self.resizeCanvas();}});},initCanvas:function(el){var self=this;var context=$(el);var pad=$(el).find('.signature-pad');if(pad.length==0||pad.find('canvas').length==0){return false;}
702var can=pad.find("canvas").get(0);var signaturePad=new SignaturePad(can,{minWidth:1.2});pad.find('.apply-sig').click(function(){self.applySignature(pad);});$(pad).data('signaturePad',signaturePad);pad.hide();pad.find('.clear-sig').click(function(){signaturePad.clear();});context.find('.signature').click(function(){pad.data('signature',this);pad.show();self.resizeCanvas(pad);self.loadSignature(this);});},applySignature:function(pad){var signaturePad=$(pad).data('signaturePad');var origin=$(pad.data('signature'));var input=origin.find("input");if(!signaturePad.isEmpty()){var signature=signaturePad.toDataURL("image/png",0.7);input.val(signature);signaturePad.clear();origin.find('.image').css('background-image','url('+signature+')');}else{input.val('');origin.find('.image').css('background-image','');}
703$('.maonrails-error-message,.error-message').remove();pad.hide();},loadSignature:function(el){var pad=$('.signature-pad');var signaturePad=$(pad).data('signaturePad');var input=$(el).find('input');if(input.val()!=''){signaturePad.fromDataURL(input.val());}},resizeCanvas:function(pad){var ratio=Math.max(window.devicePixelRatio||1,1);var canvas=pad.find('canvas').get(0);var signaturePad=$(pad).data('signaturePad');canvas.width=canvas.offsetWidth*ratio;canvas.height=canvas.offsetHeight*ratio;canvas.getContext("2d").scale(ratio,ratio);signaturePad.clear();}};window.signatures=signatures;$(document).ready(function(){signatures.init();});})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.