!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u<t;u++)e[u]=arguments[u+r];switch(r){case 0:return n.call(this,e);case 1:return n.call(this,arguments[0],e);case 2:return n.call(this,arguments[0],arguments[1],e)}var o=Array(r+1);for(u=0;u<r;u++)o[u]=arguments[u];return o[r]=e,n.apply(this,o)}}function _(n){var r=typeof n;return"function"===r||"object"===r&&!!n}function w(n){return void 0===n}function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}function x(n){var r="[object "+n+"]";return function(n){return a.call(n)===r}}var S=x("String"),O=x("Number"),M=x("Date"),E=x("RegExp"),B=x("Error"),N=x("Symbol"),I=x("ArrayBuffer"),T=x("Function"),k=r.document&&r.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof k&&(T=function(n){return"function"==typeof n||!1});var D=T,R=x("Object"),F=l&&R(new DataView(new ArrayBuffer(8))),V="undefined"!=typeof Map&&R(new Map),P=x("DataView");var q=F?function(n){return null!=n&&D(n.getInt8)&&I(n.buffer)}:P,U=s||x("Array");function W(n,r){return null!=n&&f.call(n,r)}var z=x("Arguments");!function(){z(arguments)||(z=function(n){return W(n,"callee")})}();var L=z;function $(n){return O(n)&&y(n)}function C(n){return function(){return n}}function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]]=!0;return{contains:function(n){return r[n]},push:function(t){return r[t]=!0,n.push(t)}}}(r);var t=b.length,u=n.constructor,o=D(u)&&u.prototype||e,i="constructor";for(W(n,i)&&!r.contains(i)&&r.push(i);t--;)(i=b[t])in n&&n[i]!==o[i]&&!r.contains(i)&&r.push(i)}function nn(n){if(!_(n))return[];if(p)return p(n);var r=[];for(var t in n)W(n,t)&&r.push(t);return g&&Z(n,r),r}function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wrapped=n):new tn(n)}function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}tn.VERSION=n,tn.prototype.value=function(){return this._wrapped},tn.prototype.valueOf=tn.prototype.toJSON=tn.prototype.value,tn.prototype.toString=function(){return String(this._wrapped)};var un="[object DataView]";function on(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var o=typeof n;return("function"===o||"object"===o||"object"==typeof r)&&function n(r,t,e,o){r instanceof tn&&(r=r._wrapped);t instanceof tn&&(t=t._wrapped);var i=a.call(r);if(i!==a.call(t))return!1;if(F&&"[object Object]"==i&&q(r)){if(!q(t))return!1;i=un}switch(i){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return u.valueOf.call(r)===u.valueOf.call(t);case"[object ArrayBuffer]":case un:return n(en(r),en(t),e,o)}var f="[object Array]"===i;if(!f&&X(r)){if(G(r)!==G(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;f=!0}if(!f){if("object"!=typeof r||"object"!=typeof t)return!1;var c=r.constructor,l=t.constructor;if(c!==l&&!(D(c)&&c instanceof c&&D(l)&&l instanceof l)&&"constructor"in r&&"constructor"in t)return!1}o=o||[];var s=(e=e||[]).length;for(;s--;)if(e[s]===r)return o[s]===t;if(e.push(r),o.push(t),f){if((s=r.length)!==t.length)return!1;for(;s--;)if(!on(r[s],t[s],e,o))return!1}else{var p,v=nn(r);if(s=v.length,nn(t).length!==s)return!1;for(;s--;)if(p=v[s],!W(t,p)||!on(r[p],t[p],e,o))return!1}return e.pop(),o.pop(),!0}(n,r,t,e)}function an(n){if(!_(n))return[];var r=[];for(var t in n)r.push(t);return g&&Z(n,r),r}function fn(n){var r=Y(n);return function(t){if(null==t)return!1;var e=an(t);if(Y(e))return!1;for(var u=0;u<r;u++)if(!D(t[n[u]]))return!1;return n!==hn||!D(t[cn])}}var cn="forEach",ln="has",sn=["clear","delete"],pn=["get",ln,"set"],vn=sn.concat(cn,pn),hn=sn.concat(pn),yn=["add"].concat(sn,cn,ln),dn=V?fn(vn):x("Map"),gn=V?fn(hn):x("WeakMap"),bn=V?fn(yn):x("Set"),mn=x("WeakSet");function jn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function _n(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}function An(n,r){return function(t){var e=arguments.length;if(r&&(t=Object(t)),e<2||null==t)return t;for(var u=1;u<e;u++)for(var o=arguments[u],i=n(o),a=i.length,f=0;f<a;f++){var c=i[f];r&&void 0!==t[c]||(t[c]=o[c])}return t}}var xn=An(an),Sn=An(nn),On=An(an,!0);function Mn(n){if(!_(n))return{};if(v)return v(n);var r=function(){};r.prototype=n;var t=new r;return r.prototype=null,t}function En(n){return _(n)?U(n)?n.slice():xn({},n):n}function Bn(n){return U(n)?n:[n]}function Nn(n){return tn.toPath(n)}function In(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function Tn(n,r,t){var e=In(n,Nn(r));return w(e)?t:e}function kn(n){return n}function Dn(n){return n=Sn({},n),function(r){return rn(r,n)}}function Rn(n){return n=Nn(n),function(r){return In(r,n)}}function Fn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:return function(t){return n.call(r,t)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return function(){return n.apply(r,arguments)}}function Vn(n,r,t){return null==n?kn:D(n)?Fn(n,r,t):_(n)&&!U(n)?Dn(n):Rn(n)}function Pn(n,r){return Vn(n,r,1/0)}function qn(n,r,t){return tn.iteratee!==Pn?tn.iteratee(n,r):Vn(n,r,t)}function Un(){}function Wn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}tn.toPath=Bn,tn.iteratee=Pn;var zn=Date.now||function(){return(new Date).getTime()};function Ln(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")",e=RegExp(t),u=RegExp(t,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,r):n}}var $n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a<o;a++)i[a]=r[a]===t?arguments[u++]:r[a];for(;u<arguments.length;)i.push(arguments[u++]);return nr(n,e,this,this,i)};return e}));rr.placeholder=tn;var tr=j((function(n,r,t){if(!D(n))throw new TypeError("Bind must be called on a function");var e=j((function(u){return nr(n,e,r,this,t.concat(u))}));return e})),er=K(Y);function ur(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=Y(n);o<i;o++){var a=n[o];if(er(a)&&(U(a)||L(a)))if(r>1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var or=j((function(n,r){var t=(r=ur(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=tr(n[e],n)}return n}));var ir=j((function(n,r,t){return setTimeout((function(){return n.apply(null,t)}),r)})),ar=rr(ir,tn,1);function fr(n){return function(){return!n.apply(this,arguments)}}function cr(n,r){var t;return function(){return--n>0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function pr(n){return function(r,t,e){t=qn(t,e);for(var u=Y(r),o=n>0?0:u-1;o>=0&&o<u;o+=n)if(t(r[o],o,r))return o;return-1}}var vr=pr(1),hr=pr(-1);function yr(n,r,t,e){for(var u=(t=qn(t,e,1))(r),o=0,i=Y(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function dr(n,r,t){return function(e,u,o){var a=0,f=Y(e);if("number"==typeof o)n>0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o<f;o+=n)if(e[o]===u)return o;return-1}}var gr=dr(1,vr,yr),br=dr(-1,hr);function mr(n,r,t){var e=(er(n)?vr:sr)(n,r,t);if(void 0!==e&&-1!==e)return n[e]}function jr(n,r,t){var e,u;if(r=Fn(r,t),er(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var o=nn(n);for(e=0,u=o.length;e<u;e++)r(n[o[e]],o[e],n)}return n}function _r(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function wr(n){var r=function(r,t,e,u){var o=!er(r)&&nn(r),i=(o||r).length,a=n>0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a<i;a+=n){var f=o?o[a]:a;e=t(e,r[f],f,r)}return e};return function(n,t,e,u){var o=arguments.length>=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function Mr(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function Er(n,r,t,e){return er(n)||(n=jn(n)),("number"!=typeof t||e)&&(t=0),gr(n,r,t)>=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e>o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i<r;i++){var a=Wn(i,o),f=e[i];e[i]=e[a],e[a]=f}return e.slice(0,r)}function kr(n,r){return function(t,e,u){var o=r?[[],[]]:{};return e=qn(e,u),jr(t,(function(r,u){var i=e(r,u,t);n(o,r,i)})),o}}var Dr=kr((function(n,r,t){W(n,t)?n[t].push(r):n[t]=[r]})),Rr=kr((function(n,r,t){n[t]=r})),Fr=kr((function(n,r,t){W(n,t)?n[t]++:n[t]=1})),Vr=kr((function(n,r,t){n[t?0:1].push(r)}),!0),Pr=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function qr(n,r,t){return r in t}var Ur=j((function(n,r){var t={},e=r[0];if(null==n)return t;D(e)?(r.length>1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}return t})),Wr=j((function(n,r){var t,e=r[0];return D(e)?(e=fr(e),r.length>1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?Er(o,c)||(o.push(c),u.push(f)):Er(u,f)||u.push(f)}return u}var Gr=j((function(n){return Jr(ur(n,!0,!0))}));function Hr(n){for(var r=n&&Ir(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e]=Nr(n,e);return t}var Qr=j(Hr);function Xr(n,r){return n._chain?tn(r).chain():r}function Yr(n){return jr(wn(n),(function(r){var t=tn[r]=n[r];tn.prototype[r]=function(){var n=[this._wrapped];return o.apply(n,arguments),Xr(this,t.apply(tn,n))}})),tn}jr(["pop","push","reverse","shift","sort","splice","unshift"],(function(n){var r=t[n];tn.prototype[n]=function(){var t=this._wrapped;return null!=t&&(r.apply(t,arguments),"shift"!==n&&"splice"!==n||0!==t.length||delete t[0]),Xr(this,t)}})),jr(["concat","join","slice"],(function(n){var r=t[n];tn.prototype[n]=function(){var n=this._wrapped;return null!=n&&(n=r.apply(n,arguments)),Xr(this,n)}}));var Zr=Yr({__proto__:null,VERSION:n,restArguments:j,isObject:_,isNull:function(n){return null===n},isUndefined:w,isBoolean:A,isElement:function(n){return!(!n||1!==n.nodeType)},isString:S,isNumber:O,isDate:M,isRegExp:E,isError:B,isSymbol:N,isArrayBuffer:I,isDataView:q,isArray:U,isFunction:D,isArguments:L,isFinite:function(n){return!N(n)&&d(n)&&!isNaN(parseFloat(n))},isNaN:$,isTypedArray:X,isEmpty:function(n){if(null==n)return!0;var r=Y(n);return"number"==typeof r&&(U(n)||S(n)||L(n))?0===r:0===Y(nn(n))},isMatch:rn,isEqual:function(n,r){return on(n,r)},isMap:dn,isWeakMap:gn,isSet:bn,isWeakSet:mn,keys:nn,allKeys:an,values:jn,pairs:function(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:_n,functions:wn,methods:wn,extend:xn,extendOwn:Sn,assign:Sn,defaults:On,create:function(n,r){var t=Mn(n);return r&&Sn(t,r),t},clone:En,tap:function(n,r){return r(n),n},get:Tn,has:function(n,r){for(var t=(r=Nn(r)).length,e=0;e<t;e++){var u=r[e];if(!W(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=qn(r,t);for(var e=nn(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:kn,constant:C,noop:Un,toPath:Bn,property:Rn,propertyOf:function(n){return null==n?Un:function(r){return Tn(n,r)}},matcher:Dn,matches:Dn,times:function(n,r,t){var e=Array(Math.max(0,n));r=Fn(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Wn,now:zn,escape:Cn,unescape:Kn,templateSettings:Jn,template:function(n,r,t){!r&&t&&(r=t),r=On({},r,tn.templateSettings);var e=RegExp([(r.escape||Gn).source,(r.interpolate||Gn).source,(r.evaluate||Gn).source].join("|")+"|$","g"),u=0,o="__p+='";n.replace(e,(function(r,t,e,i,a){return o+=n.slice(u,a).replace(Qn,Xn),u=a+r.length,t?o+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?o+="'+\n((__t=("+e+"))==null?'':__t)+\n'":i&&(o+="';\n"+i+"\n__p+='"),r})),o+="';\n";var i,a=r.variable;if(a){if(!Yn.test(a))throw new Error("variable is not a bare identifier: "+a)}else o="with(obj||{}){\n"+o+"}\n",a="obj";o="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{i=new Function(a,"_",o)}catch(n){throw n.source=o,n}var f=function(n){return i.call(this,n,tn)};return f.source="function("+a+"){\n"+o+"}",f},result:function(n,r,t){var e=(r=Nn(r)).length;if(!e)return D(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=D(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Zn+"";return n?n+r:r},chain:function(n){var r=tn(n);return r._chain=!0,r},iteratee:Pn,partial:rr,bind:tr,bindAll:or,memoize:function(n,r){var t=function(e){var u=t.cache,o=""+(r?r.apply(this,arguments):e);return W(u,o)||(u[o]=n.apply(this,arguments)),u[o]};return t.cache={},t},delay:ir,defer:ar,throttle:function(n,r,t){var e,u,o,i,a=0;t||(t={});var f=function(){a=!1===t.leading?0:zn(),e=null,i=n.apply(u,o),e||(u=o=null)},c=function(){var c=zn();a||!1!==t.leading||(a=c);var l=r-(c-a);return u=this,o=arguments,l<=0||l>r?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;a<f;a++)null!=(e=n[a])&&e<o&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))<i||u===1/0&&o===1/0)&&(o=n,i=u)}));return o},shuffle:function(n){return Tr(n,1/0)},sample:Tr,sortBy:function(n,r,t){var e=0;return r=qn(r,t),Nr(_r(n,(function(n,t,u){return{value:n,index:e++,criteria:r(n,t,u)}})).sort((function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(t>e||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index})),"value")},groupBy:Dr,indexBy:Rr,countBy:Fr,partition:Vr,toArray:function(n){return n?U(n)?i.call(n):S(n)?n.match(Pr):er(n)?_r(n,kn):jn(n):[]},size:function(n){return null==n?0:er(n)?n.length:nn(n).length},pick:Ur,omit:Wr,first:Lr,head:Lr,take:Lr,initial:zr,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:$r(n,Math.max(0,n.length-r))},rest:$r,tail:$r,drop:$r,compact:function(n){return Sr(n,Boolean)},flatten:function(n,r){return ur(n,r,!1)},without:Kr,uniq:Jr,unique:Jr,union:Gr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=Y(n);e<u;e++){var o=n[e];if(!Er(r,o)){var i;for(i=1;i<t&&Er(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Cr,unzip:Hr,transpose:Hr,zip:Qr,object:function(n,r){for(var t={},e=0,u=Y(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(i.call(n,e,e+=r));return t},mixin:Yr,default:tn});return Zr._=Zr,Zr}));;var XDate=function(g,n,A,p){function f(){var a=this instanceof f?this:new f,c=arguments,b=c.length,d;typeof c[b-1]=="boolean"&&(d=c[--b],c=q(c,0,b));if(b)if(b==1)if(b=c[0],b instanceof g||typeof b=="number")a[0]=new g(+b);else if(b instanceof f){var c=a,h=new g(+b[0]);if(l(b))h.toString=v;c[0]=h}else{if(typeof b=="string"){a[0]=new g(0);a:{for(var c=b,b=d||!1,h=f.parsers,w=0,e;w<h.length;w++)if(e=h[w](c,b,a)){a=e;break a}a[0]=new g(c)}}}else a[0]=new g(m.apply(g,c)),d||(a[0]=r(a[0]));else a[0]=new g;typeof d=="boolean"&&B(a,d);return a}function l(a){return a[0].toString===v}function B(a,c,b){if(c){if(!l(a))b&&(a[0]=new g(m(a[0].getFullYear(),a[0].getMonth(),a[0].getDate(),a[0].getHours(),a[0].getMinutes(),a[0].getSeconds(),a[0].getMilliseconds()))),a[0].toString=v}else l(a)&&(a[0]=b?r(a[0]):new g(+a[0]));return a}function C(a,c,b,d,h){var e=k(j,a[0],h),a=k(D,a[0],h),h=!1;d.length==2&&typeof d[1]=="boolean"&&(h=d[1],d=[b]);b=c==1?(b%12+12)%12:e(1);a(c,d);h&&e(1)!=b&&(a(1,[e(1)-1]),a(2,[E(e(0),e(1))]))}function F(a,c,b,d){var b=Number(b),h=n.floor(b);a["set"+o[c]](a["get"+o[c]]()+h,d||!1);h!=b&&c<6&&F(a,c+1,(b-h)*G[c],d)}function H(a,c,b){var a=a.clone().setUTCMode(!0,!0),c=f(c).setUTCMode(!0,!0),d=0;if(b==0||b==1){for(var h=6;h>=b;h--)d/=G[h],d+=j(c,!1,h)-j(a,!1,h);b==1&&(d+=(c.getFullYear()-a.getFullYear())*12)}else b==2?(b=a.toDate().setUTCHours(0,0,0,0),d=c.toDate().setUTCHours(0,0,0,0),d=n.round((d-b)/864E5)+(c-d-(a-b))/864E5):d=(c-a)/[36E5,6E4,1E3,1][b-3];return d}function s(a){var c=a(0),b=a(1),d=a(2),a=new g(m(c,b,d)),c=t(I(c,b,d));return n.floor(n.round((a-c)/864E5)/7)+1}function I(a,c,b){c=new g(m(a,c,b));if(c<t(a))return a-1;else if(c>=t(a+1))return a+1;return a}function t(a){a=new g(m(a,0,4));a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+6)%7);return a}function J(a,c,b,d){var h=k(j,a,d),e=k(D,a,d);b===p&&(b=I(h(0),h(1),h(2)));b=t(b);d||(b=r(b));a.setTime(+b);e(2,[h(2)+(c-1)*7])}function K(a,c,b,d,h){var e=f.locales,g=e[f.defaultLocale]||{},i=k(j,a,h),b=(typeof b=="string"?e[b]:b)||{};return x(a,c,function(a){if(d)for(var b=(a==7?2:a)-1;b>=0;b--)d.push(i(b));return i(a)},function(a){return b[a]||g[a]},h)}function x(a,c,b,d,e){for(var f,g,i="";f=c.match(N);){i+=c.substr(0,f.index);if(f[1]){g=i;for(var i=a,j=f[1],l=b,m=d,n=e,k=j.length,o=void 0,q="";k>0;)o=O(i,j.substr(0,k),l,m,n),o!==p?(q+=o,j=j.substr(k),k=j.length):k--;i=g+(q+j)}else f[3]?(g=x(a,f[4],b,d,e),parseInt(g.replace(/\D/g,""),10)&&(i+=g)):i+=f[7]||"'";c=c.substr(f.index+f[0].length)}return i+c}function O(a,c,b,d,e){var g=f.formatters[c];if(typeof g=="string")return x(a,g,b,d,e);else if(typeof g=="function")return g(a,e||!1,d);switch(c){case "fff":return i(b(6),3);case "s":return b(5);case "ss":return i(b(5));case "m":return b(4);case "mm":return i(b(4));case "h":return b(3)%12||12;case "hh":return i(b(3)%12||12);case "H":return b(3);case "HH":return i(b(3));case "d":return b(2);case "dd":return i(b(2));case "ddd":return d("dayNamesShort")[b(7)]||"";case "dddd":return d("dayNames")[b(7)]||"";case "M":return b(1)+
1;case "MM":return i(b(1)+1);case "MMM":return d("monthNamesShort")[b(1)]||"";case "MMMM":return d("monthNames")[b(1)]||"";case "yy":return(b(0)+"").substring(2);case "yyyy":return b(0);case "t":return u(b,d).substr(0,1).toLowerCase();case "tt":return u(b,d).toLowerCase();case "T":return u(b,d).substr(0,1);case "TT":return u(b,d);case "z":case "zz":case "zzz":return e?c="Z":(d=a.getTimezoneOffset(),a=d<0?"+":"-",b=n.floor(n.abs(d)/60),d=n.abs(d)%60,e=b,c=="zz"?e=i(b):c=="zzz"&&(e=i(b)+":"+i(d)),c=a+e),c;case "w":return s(b);case "ww":return i(s(b));case "S":return c=b(2),c>10&&c<20?"th":["st","nd","rd"][c%10-1]||"th"}}function u(a,c){return a(3)<12?c("amDesignator"):c("pmDesignator")}function y(a){return!isNaN(+a[0])}function j(a,c,b){return a["get"+(c?"UTC":"")+o[b]]()}function D(a,c,b,d){a["set"+(c?"UTC":"")+o[b]].apply(a,d)}function r(a){return new g(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())}function E(a,c){return 32-(new g(m(a,c,32))).getUTCDate()}function z(a){return function(){return a.apply(p,[this].concat(q(arguments)))}}function k(a){var c=q(arguments,1);return function(){return a.apply(p,c.concat(q(arguments)))}}function q(a,c,b){return A.prototype.slice.call(a,c||0,b===p?a.length:b)}function L(a,c){for(var b=0;b<a.length;b++)c(a[b],b)}function i(a,c){c=c||2;for(a+="";a.length<c;)a="0"+a;return a}var o="FullYear,Month,Date,Hours,Minutes,Seconds,Milliseconds,Day,Year".split(","),M=["Years","Months","Days"],G=[12,31,24,60,60,1E3,1],N=/(([a-zA-Z])\2*)|(\((('.*?'|\(.*?\)|.)*?)\))|('(.*?)')/,m=g.UTC,v=g.prototype.toUTCString,e=f.prototype;e.length=1;e.splice=A.prototype.splice;e.getUTCMode=z(l);e.setUTCMode=z(B);e.getTimezoneOffset=function(){return l(this)?0:this[0].getTimezoneOffset()};L(o,function(a,c){e["get"+a]=function(){return j(this[0],l(this),c)};c!=8&&(e["getUTC"+a]=function(){return j(this[0],!0,c)});c!=7&&(e["set"+a]=function(a){C(this,c,a,arguments,l(this));return this},c!=8&&(e["setUTC"+a]=function(a){C(this,c,a,arguments,!0);return this},e["add"+(M[c]||a)]=function(a,d){F(this,c,a,d);return this},e["diff"+(M[c]||a)]=function(a){return H(this,a,c)}))});e.getWeek=function(){return s(k(j,this,!1))};e.getUTCWeek=function(){return s(k(j,this,!0))};e.setWeek=function(a,c){J(this,a,c,!1);return this};e.setUTCWeek=function(a,c){J(this,a,c,!0);return this};e.addWeeks=function(a){return this.addDays(Number(a)*7)};e.diffWeeks=function(a){return H(this,a,2)/7};f.parsers=[function(a,c,b){if(a=a.match(/^(\d{4})(-(\d{2})(-(\d{2})([T ](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/)){var d=new g(m(a[1],a[3]?a[3]-1:0,a[5]||1,a[7]||0,a[8]||0,a[10]||0,a[12]?Number("0."+a[12])*1E3:0));a[13]?a[14]&&d.setUTCMinutes(d.getUTCMinutes()+(a[15]=="-"?1:-1)*(Number(a[16])*60+(a[18]?Number(a[18]):0))):c||(d=r(d));return b.setTime(+d)}}];f.parse=function(a){return+f(""+a)};e.toString=function(a,c,b){return a===p||!y(this)?this[0].toString():K(this,a,c,b,l(this))};e.toUTCString=e.toGMTString=function(a,c,b){return a===p||!y(this)?this[0].toUTCString():K(this,a,c,b,!0)};e.toISOString=function(){return this.toUTCString("yyyy-MM-dd'T'HH:mm:ss(.fff)zzz")};f.defaultLocale="";f.locales={"":{monthNames:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthNamesShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),dayNames:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),dayNamesShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),amDesignator:"AM",pmDesignator:"PM"}};f.formatters={i:"yyyy-MM-dd'T'HH:mm:ss(.fff)",u:"yyyy-MM-dd'T'HH:mm:ss(.fff)zzz"};L("getTime,valueOf,toDateString,toTimeString,toLocaleString,toLocaleDateString,toLocaleTimeString,toJSON".split(","),function(a){e[a]=function(){return this[0][a]()}});e.setTime=function(a){this[0].setTime(a);return this};e.valid=z(y);e.clone=function(){return new f(this)};e.clearTime=function(){return this.setHours(0,0,0,0)};e.toDate=function(){return new g(+this[0])};f.now=function(){return+new g};f.today=function(){return(new f).clearTime()};f.UTC=m;f.getDaysInMonth=E;if(typeof module!=="undefined"&&module.exports)module.exports=f;typeof define==="function"&&define.amd&&define([],function(){return f});return f}(Date,Math,Array);;;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"===typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e=h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&&"%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()},set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});;/*! Hammer.JS - v1.0.5 - 2013-04-07
* http://eightmedia.github.com/hammer.js
*
* Copyright (c) 2013 Jorik Tangelder <j.tangelder@gmail.com>;
* Licensed under the MIT license */(function(window,undefined){'use strict';var Hammer=function(element,options){return new Hammer.Instance(element,options||{});};Hammer.defaults={stop_browser_behavior:{userSelect:'none',touchAction:'none',touchCallout:'none',contentZooming:'none',userDrag:'none',tapHighlightColor:'rgba(0,0,0,0)'}};Hammer.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled;Hammer.HAS_TOUCHEVENTS=('ontouchstart'in window);Hammer.MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i;Hammer.NO_MOUSEEVENTS=Hammer.HAS_TOUCHEVENTS&&navigator.userAgent.match(Hammer.MOBILE_REGEX);Hammer.EVENT_TYPES={};Hammer.DIRECTION_DOWN='down';Hammer.DIRECTION_LEFT='left';Hammer.DIRECTION_UP='up';Hammer.DIRECTION_RIGHT='right';Hammer.POINTER_MOUSE='mouse';Hammer.POINTER_TOUCH='touch';Hammer.POINTER_PEN='pen';Hammer.EVENT_START='start';Hammer.EVENT_MOVE='move';Hammer.EVENT_END='end';Hammer.DOCUMENT=document;Hammer.plugins={};Hammer.READY=false;function setup(){if(Hammer.READY){return;}
Hammer.event.determineEventTypes();for(var name in Hammer.gestures){if(Hammer.gestures.hasOwnProperty(name)){Hammer.detection.register(Hammer.gestures[name]);}}
Hammer.event.onTouch(Hammer.DOCUMENT,Hammer.EVENT_MOVE,Hammer.detection.detect);Hammer.event.onTouch(Hammer.DOCUMENT,Hammer.EVENT_END,Hammer.detection.detect);Hammer.READY=true;}
Hammer.Instance=function(element,options){var self=this;setup();this.element=element;this.enabled=true;this.options=Hammer.utils.extend(Hammer.utils.extend({},Hammer.defaults),options||{});if(this.options.stop_browser_behavior){Hammer.utils.stopDefaultBrowserBehavior(this.element,this.options.stop_browser_behavior);}
Hammer.event.onTouch(element,Hammer.EVENT_START,function(ev){if(self.enabled){Hammer.detection.startDetect(self,ev);}});return this;};Hammer.Instance.prototype={on:function onEvent(gesture,handler){var gestures=gesture.split(' ');for(var t=0;t<gestures.length;t++){this.element.addEventListener(gestures[t],handler,false);}
return this;},off:function offEvent(gesture,handler){var gestures=gesture.split(' ');for(var t=0;t<gestures.length;t++){this.element.removeEventListener(gestures[t],handler,false);}
return this;},trigger:function triggerEvent(gesture,eventData){var event=Hammer.DOCUMENT.createEvent('Event');event.initEvent(gesture,true,true);event.gesture=eventData;var element=this.element;if(Hammer.utils.hasParent(eventData.target,element)){element=eventData.target;}
element.dispatchEvent(event);return this;},enable:function enable(state){this.enabled=state;return this;}};var last_move_event=null;var enable_detect=false;var touch_triggered=false;Hammer.event={bindDom:function(element,type,handler){var types=type.split(' ');for(var t=0;t<types.length;t++){element.addEventListener(types[t],handler,false);}},onTouch:function onTouch(element,eventType,handler){var self=this;this.bindDom(element,Hammer.EVENT_TYPES[eventType],function bindDomOnTouch(ev){var sourceEventType=ev.type.toLowerCase();if(sourceEventType.match(/mouse/)&&touch_triggered){return;}
else if(sourceEventType.match(/touch/)||sourceEventType.match(/pointerdown/)||(sourceEventType.match(/mouse/)&&ev.which===1)){enable_detect=true;}
if(sourceEventType.match(/touch|pointer/)){touch_triggered=true;}
var count_touches=0;if(enable_detect){if(Hammer.HAS_POINTEREVENTS&&eventType!=Hammer.EVENT_END){count_touches=Hammer.PointerEvent.updatePointer(eventType,ev);}
else if(sourceEventType.match(/touch/)){count_touches=ev.touches.length;}
else if(!touch_triggered){count_touches=sourceEventType.match(/up/)?0:1;}
if(count_touches>0&&eventType==Hammer.EVENT_END){eventType=Hammer.EVENT_MOVE;}
else if(!count_touches){eventType=Hammer.EVENT_END;}
if(!count_touches&&last_move_event!==null){ev=last_move_event;}
else{last_move_event=ev;}
handler.call(Hammer.detection,self.collectEventData(element,eventType,ev));if(Hammer.HAS_POINTEREVENTS&&eventType==Hammer.EVENT_END){count_touches=Hammer.PointerEvent.updatePointer(eventType,ev);}}
if(!count_touches){last_move_event=null;enable_detect=false;touch_triggered=false;Hammer.PointerEvent.reset();}});},determineEventTypes:function determineEventTypes(){var types;if(Hammer.HAS_POINTEREVENTS){types=Hammer.PointerEvent.getEvents();}
else if(Hammer.NO_MOUSEEVENTS){types=['touchstart','touchmove','touchend touchcancel'];}
else{types=['touchstart mousedown','touchmove mousemove','touchend touchcancel mouseup'];}
Hammer.EVENT_TYPES[Hammer.EVENT_START]=types[0];Hammer.EVENT_TYPES[Hammer.EVENT_MOVE]=types[1];Hammer.EVENT_TYPES[Hammer.EVENT_END]=types[2];},getTouchList:function getTouchList(ev){if(Hammer.HAS_POINTEREVENTS){return Hammer.PointerEvent.getTouchList();}
else if(ev.touches){return ev.touches;}
else{return[{identifier:1,pageX:ev.pageX,pageY:ev.pageY,target:ev.target}];}},collectEventData:function collectEventData(element,eventType,ev){var touches=this.getTouchList(ev,eventType);var pointerType=Hammer.POINTER_TOUCH;if(ev.type.match(/mouse/)||Hammer.PointerEvent.matchType(Hammer.POINTER_MOUSE,ev)){pointerType=Hammer.POINTER_MOUSE;}
return{center:Hammer.utils.getCenter(touches),timeStamp:new Date().getTime(),target:ev.target,touches:touches,eventType:eventType,pointerType:pointerType,srcEvent:ev,preventDefault:function(){if(this.srcEvent.preventManipulation){this.srcEvent.preventManipulation();}
if(this.srcEvent.preventDefault){this.srcEvent.preventDefault();}},stopPropagation:function(){this.srcEvent.stopPropagation();},stopDetect:function(){return Hammer.detection.stopDetect();}};}};Hammer.PointerEvent={pointers:{},getTouchList:function(){var self=this;var touchlist=[];Object.keys(self.pointers).sort().forEach(function(id){touchlist.push(self.pointers[id]);});return touchlist;},updatePointer:function(type,pointerEvent){if(type==Hammer.EVENT_END){this.pointers={};}
else{pointerEvent.identifier=pointerEvent.pointerId;this.pointers[pointerEvent.pointerId]=pointerEvent;}
return Object.keys(this.pointers).length;},matchType:function(pointerType,ev){if(!ev.pointerType){return false;}
var types={};types[Hammer.POINTER_MOUSE]=(ev.pointerType==ev.MSPOINTER_TYPE_MOUSE||ev.pointerType==Hammer.POINTER_MOUSE);types[Hammer.POINTER_TOUCH]=(ev.pointerType==ev.MSPOINTER_TYPE_TOUCH||ev.pointerType==Hammer.POINTER_TOUCH);types[Hammer.POINTER_PEN]=(ev.pointerType==ev.MSPOINTER_TYPE_PEN||ev.pointerType==Hammer.POINTER_PEN);return types[pointerType];},getEvents:function(){return['pointerdown MSPointerDown','pointermove MSPointerMove','pointerup pointercancel MSPointerUp MSPointerCancel'];},reset:function(){this.pointers={};}};Hammer.utils={extend:function extend(dest,src,merge){for(var key in src){if(dest[key]!==undefined&&merge){continue;}
dest[key]=src[key];}
return dest;},hasParent:function(node,parent){while(node){if(node==parent){return true;}
node=node.parentNode;}
return false;},getCenter:function getCenter(touches){var valuesX=[],valuesY=[];for(var t=0,len=touches.length;t<len;t++){valuesX.push(touches[t].pageX);valuesY.push(touches[t].pageY);}
return{pageX:((Math.min.apply(Math,valuesX)+Math.max.apply(Math,valuesX))/2),pageY:((Math.min.apply(Math,valuesY)+Math.max.apply(Math,valuesY))/2)};},getVelocity:function getVelocity(delta_time,delta_x,delta_y){return{x:Math.abs(delta_x/delta_time)||0,y:Math.abs(delta_y/delta_time)||0};},getAngle:function getAngle(touch1,touch2){var y=touch2.pageY-touch1.pageY,x=touch2.pageX-touch1.pageX;return Math.atan2(y,x)*180/Math.PI;},getDirection:function getDirection(touch1,touch2){var x=Math.abs(touch1.pageX-touch2.pageX),y=Math.abs(touch1.pageY-touch2.pageY);if(x>=y){return touch1.pageX-touch2.pageX>0?Hammer.DIRECTION_LEFT:Hammer.DIRECTION_RIGHT;}
else{return touch1.pageY-touch2.pageY>0?Hammer.DIRECTION_UP:Hammer.DIRECTION_DOWN;}},getDistance:function getDistance(touch1,touch2){var x=touch2.pageX-touch1.pageX,y=touch2.pageY-touch1.pageY;return Math.sqrt((x*x)+(y*y));},getScale:function getScale(start,end){if(start.length>=2&&end.length>=2){return this.getDistance(end[0],end[1])/this.getDistance(start[0],start[1]);}
return 1;},getRotation:function getRotation(start,end){if(start.length>=2&&end.length>=2){return this.getAngle(end[1],end[0])-
this.getAngle(start[1],start[0]);}
return 0;},isVertical:function isVertical(direction){return(direction==Hammer.DIRECTION_UP||direction==Hammer.DIRECTION_DOWN);},stopDefaultBrowserBehavior:function stopDefaultBrowserBehavior(element,css_props){var prop,vendors=['webkit','khtml','moz','ms','o',''];if(!css_props||!element.style){return;}
for(var i=0;i<vendors.length;i++){for(var p in css_props){if(css_props.hasOwnProperty(p)){prop=p;if(vendors[i]){prop=vendors[i]+prop.substring(0,1).toUpperCase()+prop.substring(1);}
element.style[prop]=css_props[p];}}}
if(css_props.userSelect=='none'){element.onselectstart=function(){return false;};}}};Hammer.detection={gestures:[],current:null,previous:null,stopped:false,startDetect:function startDetect(inst,eventData){if(this.current){return;}
this.stopped=false;this.current={inst:inst,startEvent:Hammer.utils.extend({},eventData),lastEvent:false,name:''};this.detect(eventData);},detect:function detect(eventData){if(!this.current||this.stopped){return;}
eventData=this.extendEventData(eventData);var inst_options=this.current.inst.options;for(var g=0,len=this.gestures.length;g<len;g++){var gesture=this.gestures[g];if(!this.stopped&&inst_options[gesture.name]!==false){if(gesture.handler.call(gesture,eventData,this.current.inst)===false){this.stopDetect();break;}}}
if(this.current){this.current.lastEvent=eventData;}
if(eventData.eventType==Hammer.EVENT_END&&!eventData.touches.length-1){this.stopDetect();}
return eventData;},stopDetect:function stopDetect(){this.previous=Hammer.utils.extend({},this.current);this.current=null;this.stopped=true;},extendEventData:function extendEventData(ev){var startEv=this.current.startEvent;if(startEv&&(ev.touches.length!=startEv.touches.length||ev.touches===startEv.touches)){startEv.touches=[];for(var i=0,len=ev.touches.length;i<len;i++){startEv.touches.push(Hammer.utils.extend({},ev.touches[i]));}}
var delta_time=ev.timeStamp-startEv.timeStamp,delta_x=ev.center.pageX-startEv.center.pageX,delta_y=ev.center.pageY-startEv.center.pageY,velocity=Hammer.utils.getVelocity(delta_time,delta_x,delta_y);Hammer.utils.extend(ev,{deltaTime:delta_time,deltaX:delta_x,deltaY:delta_y,velocityX:velocity.x,velocityY:velocity.y,distance:Hammer.utils.getDistance(startEv.center,ev.center),angle:Hammer.utils.getAngle(startEv.center,ev.center),direction:Hammer.utils.getDirection(startEv.center,ev.center),scale:Hammer.utils.getScale(startEv.touches,ev.touches),rotation:Hammer.utils.getRotation(startEv.touches,ev.touches),startEvent:startEv});return ev;},register:function register(gesture){var options=gesture.defaults||{};if(options[gesture.name]===undefined){options[gesture.name]=true;}
Hammer.utils.extend(Hammer.defaults,options,true);gesture.index=gesture.index||1000;this.gestures.push(gesture);this.gestures.sort(function(a,b){if(a.index<b.index){return-1;}
if(a.index>b.index){return 1;}
return 0;});return this.gestures;}};Hammer.gestures=Hammer.gestures||{};Hammer.gestures.Hold={name:'hold',index:10,defaults:{hold_timeout:500,hold_threshold:1},timer:null,handler:function holdGesture(ev,inst){switch(ev.eventType){case Hammer.EVENT_START:clearTimeout(this.timer);Hammer.detection.current.name=this.name;this.timer=setTimeout(function(){if(Hammer.detection.current.name=='hold'){inst.trigger('hold',ev);}},inst.options.hold_timeout);break;case Hammer.EVENT_MOVE:if(ev.distance>inst.options.hold_threshold){clearTimeout(this.timer);}
break;case Hammer.EVENT_END:clearTimeout(this.timer);break;}}};Hammer.gestures.Tap={name:'tap',index:100,defaults:{tap_max_touchtime:250,tap_max_distance:10,tap_always:true,doubletap_distance:20,doubletap_interval:300},handler:function tapGesture(ev,inst){if(ev.eventType==Hammer.EVENT_END){var prev=Hammer.detection.previous,did_doubletap=false;if(ev.deltaTime>inst.options.tap_max_touchtime||ev.distance>inst.options.tap_max_distance){return;}
if(prev&&prev.name=='tap'&&(ev.timeStamp-prev.lastEvent.timeStamp)<inst.options.doubletap_interval&&ev.distance<inst.options.doubletap_distance){inst.trigger('doubletap',ev);did_doubletap=true;}
if(!did_doubletap||inst.options.tap_always){Hammer.detection.current.name='tap';inst.trigger(Hammer.detection.current.name,ev);}}}};Hammer.gestures.Swipe={name:'swipe',index:40,defaults:{swipe_max_touches:1,swipe_velocity:0.7},handler:function swipeGesture(ev,inst){if(ev.eventType==Hammer.EVENT_END){if(inst.options.swipe_max_touches>0&&ev.touches.length>inst.options.swipe_max_touches){return;}
if(ev.velocityX>inst.options.swipe_velocity||ev.velocityY>inst.options.swipe_velocity){inst.trigger(this.name,ev);inst.trigger(this.name+ev.direction,ev);}}}};Hammer.gestures.Drag={name:'drag',index:50,defaults:{drag_min_distance:10,drag_max_touches:1,drag_block_horizontal:false,drag_block_vertical:false,drag_lock_to_axis:false,drag_lock_min_distance:25},triggered:false,handler:function dragGesture(ev,inst){if(Hammer.detection.current.name!=this.name&&this.triggered){inst.trigger(this.name+'end',ev);this.triggered=false;return;}
if(inst.options.drag_max_touches>0&&ev.touches.length>inst.options.drag_max_touches){return;}
switch(ev.eventType){case Hammer.EVENT_START:this.triggered=false;break;case Hammer.EVENT_MOVE:if(ev.distance<inst.options.drag_min_distance&&Hammer.detection.current.name!=this.name){return;}
Hammer.detection.current.name=this.name;if(Hammer.detection.current.lastEvent.drag_locked_to_axis||(inst.options.drag_lock_to_axis&&inst.options.drag_lock_min_distance<=ev.distance)){ev.drag_locked_to_axis=true;}
var last_direction=Hammer.detection.current.lastEvent.direction;if(ev.drag_locked_to_axis&&last_direction!==ev.direction){if(Hammer.utils.isVertical(last_direction)){ev.direction=(ev.deltaY<0)?Hammer.DIRECTION_UP:Hammer.DIRECTION_DOWN;}
else{ev.direction=(ev.deltaX<0)?Hammer.DIRECTION_LEFT:Hammer.DIRECTION_RIGHT;}}
if(!this.triggered){inst.trigger(this.name+'start',ev);this.triggered=true;}
inst.trigger(this.name,ev);inst.trigger(this.name+ev.direction,ev);if((inst.options.drag_block_vertical&&Hammer.utils.isVertical(ev.direction))||(inst.options.drag_block_horizontal&&!Hammer.utils.isVertical(ev.direction))){ev.preventDefault();}
break;case Hammer.EVENT_END:if(this.triggered){inst.trigger(this.name+'end',ev);}
this.triggered=false;break;}}};Hammer.gestures.Transform={name:'transform',index:45,defaults:{transform_min_scale:0.01,transform_min_rotation:1,transform_always_block:false},triggered:false,handler:function transformGesture(ev,inst){if(Hammer.detection.current.name!=this.name&&this.triggered){inst.trigger(this.name+'end',ev);this.triggered=false;return;}
if(ev.touches.length<2){return;}
if(inst.options.transform_always_block){ev.preventDefault();}
switch(ev.eventType){case Hammer.EVENT_START:this.triggered=false;break;case Hammer.EVENT_MOVE:var scale_threshold=Math.abs(1-ev.scale);var rotation_threshold=Math.abs(ev.rotation);if(scale_threshold<inst.options.transform_min_scale&&rotation_threshold<inst.options.transform_min_rotation){return;}
Hammer.detection.current.name=this.name;if(!this.triggered){inst.trigger(this.name+'start',ev);this.triggered=true;}
inst.trigger(this.name,ev);if(rotation_threshold>inst.options.transform_min_rotation){inst.trigger('rotate',ev);}
if(scale_threshold>inst.options.transform_min_scale){inst.trigger('pinch',ev);inst.trigger('pinch'+((ev.scale<1)?'in':'out'),ev);}
break;case Hammer.EVENT_END:if(this.triggered){inst.trigger(this.name+'end',ev);}
this.triggered=false;break;}}};Hammer.gestures.Touch={name:'touch',index:-Infinity,defaults:{prevent_default:false,prevent_mouseevents:false},handler:function touchGesture(ev,inst){if(inst.options.prevent_mouseevents&&ev.pointerType==Hammer.POINTER_MOUSE){ev.stopDetect();return;}
if(inst.options.prevent_default){ev.preventDefault();}
if(ev.eventType==Hammer.EVENT_START){inst.trigger(this.name,ev);}}};Hammer.gestures.Release={name:'release',index:Infinity,handler:function releaseGesture(ev,inst){if(ev.eventType==Hammer.EVENT_END){inst.trigger(this.name,ev);}}};if(typeof module==='object'&&typeof module.exports==='object'){module.exports=Hammer;}
else{window.Hammer=Hammer;if(typeof window.define==='function'&&window.define.amd){window.define('hammer',[],function(){return Hammer;});}}})(this);(function($,undefined){'use strict';if($===undefined){return;}
Hammer.event.bindDom=function(element,eventTypes,handler){$(element).on(eventTypes,function(ev){var data=ev.originalEvent||ev;if(data.pageX===undefined){data.pageX=ev.pageX;data.pageY=ev.pageY;}
if(!data.target){data.target=ev.target;}
if(data.which===undefined){data.which=data.button;}
if(!data.preventDefault){data.preventDefault=ev.preventDefault;}
if(!data.stopPropagation){data.stopPropagation=ev.stopPropagation;}
handler.call(this,data);});};Hammer.Instance.prototype.on=function(types,handler){return $(this.element).on(types,handler);};Hammer.Instance.prototype.off=function(types,handler){return $(this.element).off(types,handler);};Hammer.Instance.prototype.trigger=function(gesture,eventData){var el=$(this.element);if(el.has(eventData.target).length){el=$(eventData.target);}
return el.trigger({type:gesture,gesture:eventData});};$.fn.hammer=function(options){return this.each(function(){var el=$(this);var inst=el.data('hammer');if(!inst){el.data('hammer',new Hammer(this,options||{}));}
else if(inst&&options){Hammer.utils.extend(inst.options,options);}});};})(window.jQuery||window.Zepto);;var AVL=AVL||{};AVL.RESPONSIVE={IsUniversal:false,IsMobile:false,IsKeyboard:false,IsLoggedIn:false,Animating:0,Init:function(){if(typeof AVL.RESPONSIVE.IsUniversal=="undefined"||AVL.RESPONSIVE.IsUniversal!==true){AVL.RESPONSIVE.BINDINGS.BindPageLoad();}
AVL.RESPONSIVE.DOM.SetLanguageAfterTranslation();},BINDINGS:{BindPageLoad:function(){AVL.RESPONSIVE.$container=$("#slideout-container");AVL.RESPONSIVE.DOM.CreatePageMenu();AVL.RESPONSIVE.DOM.CreateMobileQuoteInfo();AVL.RESPONSIVE.DOM.AdjustForFontFaceSupport();AVL.RESPONSIVE.BINDINGS.BindResize();AVL.RESPONSIVE.BINDINGS.BindClicks();var brandValue=$("input#avlBrand").val();if(brandValue!=14&&brandValue!=16){AVL.RESPONSIVE.BINDINGS.BindSwipe();}
AVL.UTILITIES.FUNCTIONS.CheckForOverflowScrolling();BRAND.RESPONSIVE.DOM.SetIsMobile();if(brandValue==4||brandValue==5||brandValue==12||brandValue==14||brandValue==17)
AVL.RESPONSIVE.DOM.AddMobileMenuLogin();},BindResize:function(){$(window).on("resize orientationchange",function(){BRAND.RESPONSIVE.DOM.SetIsMobile();if(typeof BRAND.RESPONSIVE.DOM.ResetSiteHeader=="function")
BRAND.RESPONSIVE.DOM.ResetSiteHeader();});},BindClicks:function(){var radioLabels=[];$(".dropDown-menu-link").off("click").on("click",function(n){var i=n.target||n.srcElement,t=$(i).closest(".dropDown-menu-link")[0];($("body").width()<=825||$("body").width()<=1024&&!$(i).parents().hasClass("footer-nav"))&&!$(i).parents().hasClass("sub-menu")&&(n.preventDefault(),$(t).parents().hasClass("slide-out")||($(t).find(".sub-menu").hasClass("open")?AVL.RESPONSIVE.DOM.HidePageMenu(t):AVL.RESPONSIVE.DOM.ShowPageMenu(t)));});$("input[type='radio']").closest(":has(label)").find("label").each(function(){radioLabels.push(this);});$(radioLabels).on("click",function(event){var el=document.getElementById(this.getAttribute("for"));if($(el).attr("type")==="radio"){event.preventDefault();el.click();el.click();}});BRAND.RESPONSIVE.BINDINGS.BindClicks();},BindSearch:function(){$(".btn-search").on("click",function(){var inputSearch=$(this).parent().find(".textbox"),invalidMessage="Enter a valid search",invalidLengthMessage="Enter a shorter search value",placeHolderText=$(inputSearch).attr("placeholder"),textLoading="Searching...",alphanumeric=new RegExp("^\s*[a-z0-9]+\s*[a-z0-9]*\s*[a-z0-9]*","i"),content=$(inputSearch).val().toLowerCase(),validBookshopSearch=true;if($("input#avlBrand").val()==16&&content.split(" ").length>10||content===invalidLengthMessage.toLowerCase()){invalidMessage=invalidLengthMessage;validBookshopSearch=false;}
if(!validBookshopSearch||content===invalidMessage.toLowerCase()||alphanumeric.test(content)===false||content===placeHolderText.toLowerCase()){$(inputSearch).val(invalidMessage).blur().attr("placeholder",invalidMessage);$(inputSearch).one("focus",function(){$(this).val("");$(inputSearch).attr("placeholder",placeHolderText);});return false;}
else{$(this).val(textLoading);return true;}});},BindSwipe:function(){$("html.touch").hammer({drag_lock_to_axis:true,prevent_mouseevents:true,stop_browser_behavior:false,swipe:false}).on("dragend dragleft dragright dragup dragdown",AVL.RESPONSIVE.DOM.HandleSlideoutSwipe);},BindSortingDropdown:function(){$(".sort-container .sort-text").off("click").on("click",function(){$(".dataTable thead").toggleClass("show-sorting-dropdown");var $tableHeader=$(this).closest(".sort-container").next(".dataTables_wrapper").find(".dataTable thead tr");$tableHeader.find("th").css("width","");var dropdownWidth=$tableHeader.width()+20;$(".dataTable thead th").css("width",dropdownWidth);event.stopPropagation();});$("body").on("click",function(){$(".dataTable thead").removeClass("show-sorting-dropdown");});$(".dataTable th").on("click",function(){$(this).closest(".dataTables_wrapper").prev(".sort-container").find(".sort-text").text($(this).text());});$(".dataTable").each(function(){if($(this).find("tbody tr").length<=1){$(this).closest(".dataTables_wrapper").prev(".sort-container").hide();};});}},DOM:{CreateMobileQuoteInfo:function(){if(AVL.RESPONSIVE.IsUniversal)return false;if($("#project-summary").length){$("#mobile-quote #mobile-quote-name").text($("#project-summary .project-name").text());$("#mobile-quote #mobile-quote-id").text($("#project-summary .id-label span").text());$("#mobile-quote-details-modal .avlModal-header").text($("#project-summary>h2").text());$("#mobile-quote-details-modal .avlModal-content").html($("#project-summary>.wrapper").html());$("#project-summary #summary-links").remove();$("#site-container").append($("#content-container aside .avlModal-container"));if($("input#avlBrand").val()==0)
$("#site-container").append($("#site-container #quote-details-modal"));}
if($(".page-wrapper .page-buttons .continue-button").length){$("#next-button-mobile").removeClass("disabled").on("click",function(e){$(".page-buttons input.continue-button").trigger("click");return false;});}else if($("#artwork-designtemplate-page #save-button").length){$("#next-button-mobile").removeClass("disabled").on("click",function(e){$("#artwork-designtemplate-page #save-button").trigger("click");return false;});}
if($(".page-wrapper .page-buttons input.secondary-site-button").length){$("#previous-button-mobile").removeClass("disabled").on("click",function(){$(".page-buttons input.secondary-site-button").trigger("click");return false;});}},HandleSlideoutSwipe:function(e){var target=e.target||e.srcElement;if($(target).hasClass("touchable","avlModal","draggable","ui-sortable")||$(target).parents().hasClass("touchable","avlModal","draggable","ui-sortable")||$(".avlModal").is(":visible")){return true;}
if($(target).hasClass("overlay")){e.preventDefault();e.stopPropogation();}
var offsetX=e.gesture.deltaX,offsetY=e.gesture.deltaY,isNav=$("#site-navigation").hasClass("active"),transform={};switch(e.type){case "dragright":case "dragleft":case "dragdown":case "dragup":if(Math.abs(offsetX)>Math.abs(offsetY)){e.gesture.preventDefault();e.gesture.stopPropagation();if(AVL.RESPONSIVE.$container.hasClass("slide-out")){if(isNav&&offsetX<0){BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(true);}
else if(!isNav&&offsetX>0){BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(false);}}
else if(AVL.RESPONSIVE.$container.is(":not(:animated)")&&!AVL.RESPONSIVE.Animating){transform=AVL.RESPONSIVE.FUNCTIONS.GetTransformX(offsetX);AVL.RESPONSIVE.$container.css(transform);}}else if(offsetY>0){if($("#slideout-content").scrollTop()===0){e.gesture.preventDefault();e.gesture.stopPropagation();}}else if(offsetY<0){if($("#slideout-content").scrollTop()+$("#slideout-content").height()>=$("#slideout-content")[0].scrollHeight){e.gesture.preventDefault();e.gesture.stopPropagation();}}
break;case "dragend":if(!AVL.RESPONSIVE.$container.hasClass("slide-out")&&AVL.RESPONSIVE.$container.is(":not(:animated)")&&!AVL.RESPONSIVE.Animating){if(Math.abs(offsetX)>80){if(offsetX>0){BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(true);}
else{BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(false);}}
else{transform=AVL.RESPONSIVE.FUNCTIONS.GetTransformX(0);AVL.RESPONSIVE.$container.cssAnimate(transform,300,"ease",function(){if(!AVL.RESPONSIVE.$container.hasClass("slide-out")&&AVL.RESPONSIVE.$container.is(":not(:animated)")&&!AVL.RESPONSIVE.Animating){AVL.RESPONSIVE.DOM.ResetSlideout();}});}}
break;}
$("#slideout-content").scrollLeft(0);},ResetSlideout:function(){AVL.RESPONSIVE.$container.removeClass("slide-out");AVL.RESPONSIVE.$container.css({left:"",transform:""});$("#site-navigation, #mobile-help").removeClass("active");},AdjustSlideout:function(){var transform,offsetX;if($("#site-navigation").hasClass("active")){offsetX=$("#site-navigation").width();}
else{offsetX=-$("#mobile-help").width();}
transform=AVL.RESPONSIVE.FUNCTIONS.GetTransformX(offsetX);AVL.RESPONSIVE.$container.css(transform);},ShowPageMenu:function(menu){var menuHeight=$(menu).find(".page-header").length?$(menu).find(".nav-menu").height():$(menu).find(".nav-menu").height()-3;$(menu).find(".icon-down-open-1").removeClass("icon-down-open-1").addClass("icon-up-open");$(menu).find(".icon-plus").removeClass("icon-plus").addClass("icon-minus");$(menu).find(".sub-menu").cssAnimate({height:menuHeight},700);$(menu).find(".sub-menu").addClass("open");},HidePageMenu:function(menu){$(menu).find(".icon-up-open").removeClass("icon-up-open").addClass("icon-down-open-1");$(menu).find(".icon-minus").removeClass("icon-minus").addClass("icon-plus");$(menu).find(".sub-menu").cssAnimate({height:0},300);$(menu).find(".sub-menu").removeClass("open");},CreatePageMenu:function(){var links=[],frag=document.createDocumentFragment(),icon=document.createElement("i"),pageMenu=document.createElement("div"),navMenu=document.createElement("ul"),a=document.createElement("a"),item,i,newLink;if($("#nav-myaccount").length||$("#flow-navigation nav").length){$("#nav-myaccount .aside-content").each(function(){if($(this).css("display")!=="none"){links=$.merge(links,$(this).find("a").clone());}});links=$.merge(links,$("#flow-navigation nav a:not(.link-current):not(.link-upcoming)").clone());navMenu.className="nav-menu";icon.className="icon-down-open-1 submenu-dropdown-icon mobile";pageMenu.id="page-menu";pageMenu.className="sub-menu mobile";for(i=0;i<links.length;i++){var currentPage=window.location.href.toLowerCase(),currentLink=links[i].href.toLowerCase();var linkId=links[i].id;if(linkId!=="")$(links[i]).attr("id",linkId+"-mobile");if($("#nav-myaccount").length){if(currentPage.indexOf(currentLink)===-1){item=document.createElement("li");item.appendChild(links[i]);if(!((currentPage.indexOf("profilepagemanager")!==-1)&&(currentLink.indexOf("profilemanager")!==-1))){if(linkId==="royalty-payment-anchor"&&$("#nav-myaccount .aside-content #alert-icon").css("display")!=="none"){var paymentAlertIcon=document.createElement("i");paymentAlertIcon.setAttribute("id","alert-icon");paymentAlertIcon.setAttribute("class","input-status input-warning icon-attention");paymentAlertIcon.setAttribute("title","Please set up your preferred method of royalty payment");paymentAlertIcon.setAttribute("onclick","$('#nav-myaccount .aside-content #payment-popover').css('display', 'none');"+
"return AVL.RESPONSIVEFORM.CORE.DOM.ShowValidationMessage(event, $(this));");item.appendChild(paymentAlertIcon);}
navMenu.appendChild(item);}}}else{if(currentPage.indexOf(links[links.length-i-1].href.toLowerCase())===-1){item=document.createElement("li");newLink=links[links.length-i-1];$(newLink).prepend("&nbsp; - ");item.appendChild(newLink);navMenu.appendChild(item);}}}
pageMenu.appendChild(navMenu);if(links.length>0){frag.appendChild(icon);}
frag.appendChild(pageMenu);a.setAttribute("class","dropDown-menu-link");$(".page-header").not(".no-menu").wrap(a).append(frag);}},AddMobileMenuLogin:function(){var loginLink=$(".link-loginlogout:first").clone()[0],li=document.createElement("li"),mobileMenuUl=$("#site-navigation.mobile ul.nav-menu")[0];if((loginLink!==undefined)&&(mobileMenuUl!==undefined)){loginLink.id=loginLink.id+"-mobile"
li.appendChild(loginLink);mobileMenuUl.appendChild(li);}},AdjustForFontFaceSupport:function(){if(navigator.userAgent.match(/(Android (2.0|2.1))|(Nokia)|(Opera (Mini|Mobi))|(w(eb)?OSBrowser)|(UCWEB)|(Windows Phone)|(XBLWP)|(ZuneWP)/)!==null){$(".no-fontface").show();$(".icon-link i, .icon-info, .icon-help-1, .icon-checkmark, .icon-menu").hide();$(".icon-link, .icon-link:active").css({lineHeight:"27px"});$("#mobile-header a").width(60);$("#mobile-site-header a").width(60);}},ResetSearch:function(){setTimeout(function(){$("#header-search .txt-search").removeClass("failed-validation").find("#SearchTerms").val("").siblings("label").removeClass("inputted");},300);},AddDataAttributeToCell:function(tableID){var tableHeaders=[];var tableSelector=tableID||".tbl-datatable";$(tableSelector+" > thead > tr > th").each(function(){tableHeaders.push($(this).text());});$(tableSelector+" > tbody > tr").each(function(){$(this).find("td").each(function(index){$(this).attr("data-label",tableHeaders[index]);});});},SetLanguageAfterTranslation:function(){$("#google-translate-header").on("DOMSubtreeModified",".goog-te-menu-value",function(){if($(".goog-te-menu-value span").text().indexOf("Spanish")!==-1){$("#site-container").attr("lang","es-ES");}
else{$("#site-container").attr("lang","en-US");}});}},FUNCTIONS:{GetTransformX:function(offsetX){var transform={};if(Modernizr.csstransforms3d){transform[Modernizr.prefixedCSS("transform")]="translate3d("+offsetX+"px, 0px, 0px) scale3d(1,1,1)";}
else if(Modernizr.csstransforms){transform[Modernizr.prefixedCSS("transform")]="translate("+offsetX+"px, 0px)";}
else{transform[left]=offsetX;}
return transform;},IsSlideoutVisible:function(){return AVL.RESPONSIVE.$container.hasClass("slide-out");},GetMenuHeight:function($menu){var height=0;$menu.children("li:visible").each(function(){height+=$(this).children("a").first().outerHeight();});return height;}}};$(document).ready(function(){AVL.RESPONSIVE.Init();});;;(function($,window,document,undefined){jQuery.fn.cssAnimate=function(transforms,time,easing,onAnimateComplete){if(typeof time!='number'){onAnimateComplete=easing;easing=time;time=400;}
if(typeof easing=='function'){onAnimateComplete=easing;easing='';}
return this.each(function(){if(jQuery.fn.cssAnimate.hasTransitions){var transitionEnd="transitionend",transitions='',i=0;var transEndEventNames={"WebkitTransition":"webkitTransitionEnd","MozTransition":"transitionend","transition":"transitionend"};transitionEnd=transEndEventNames[Modernizr.prefixed('transition')];this.addEventListener(transitionEnd,function(event){this.removeEventListener(transitionEnd,arguments.callee,false);$(this).css({'-webkit-transition':'','-moz-transition':'','-o-transition':'','-ms-transition':'','transition':''});if(typeof onAnimateComplete=='function'){onAnimateComplete();}},false);if(typeof easing=='undefined'||easing=='swing'){easing='ease';}
for(var index in transforms){if(transitions!=''){transitions+=', ';}
transitions+=index+' '+time+'ms '+easing}
$(this).css({'-webkit-transition':transitions,'-moz-transition':transitions,'-o-transition':transitions,'-ms-transition':transitions,'transition':transitions});$(this).css(transforms);}
else{if(easing!='linear'){easing='swing';}
if(typeof onAnimateComplete!='function'){onAnimationComplete=function(){};}
$(this).animate(transforms,time,easing,onAnimateComplete);}});};jQuery.fn.cssAnimate.hasTransitions=false;if(typeof Modernizr!='undefined'&&typeof Modernizr.csstransitions!='undefined'){jQuery.fn.cssAnimate.hasTransitions=Modernizr.csstransitions;}
else{var s=document.createElement('p').style;jQuery.fn.cssAnimate.hasTransitions='transition'in s||'WebkitTransition'in s||'MozTransition'in s||'msTransition'in s||'OTransition'in s;}})(jQuery,window,document);;(function($){var avlmodal;$.openModal=function(settings){settings=jQuery.extend({width:"700px",height:null,windowBuffer:null,overlayOpacity:"0.5",overlayImage:"",overlayColor:"#000",overlayShowSpeed:500,modalShowSpeed:400,useTransitions:true,showCloseButton:true,enableTabKeyInModalOnly:false,closeButtonFunction:function(){},target:"",url:"",parameters:{},cache:false,onShow:function(){},onComplete:function(){},onSuccess:function(){},onError:function(){}},settings);if($(settings.target).parent().hasClass("avlModal")){return false;}
$(settings.target).find(".avlModal-close").removeAttr("onclick").off("click").on("click",function(){return $.closeModal({target:"#"+$(settings.target).attr("id"),onClose:settings.closeButtonFunction});});settings.onShow();avlmodal=settings;if(validateData(settings)){loadModalContent(settings);}
if(settings.enableTabKeyInModalOnly){$(settings.target).modalTabbing();}
return false;}
$.closeModal=function(settings){settings=jQuery.extend({overlayHideSpeed:500,modalHideSpeed:400,target:"",useTransitions:true,onClose:function(){},onHide:function(){}},settings);var multipleModals=($(".avlModal").length>1)?true:false,n,l;settings.onClose(settings);for(n=0,l=OpenModals.length;n<l;n++){if($(settings.target).parent()[0]==OpenModals[n].modal){OpenModals.splice(n,1);break;}}
if(AVL.UTILITIES.FUNCTIONS.GoForTransitions(settings.useTransitions)){$(settings.target).find(".avlModal-wrapper").addClass("hide");fadeOutOverlay(settings,multipleModals);$(settings.target).find(".avlModal-wrapper").removeClass("hide").removeClass("show");$(settings.target).addClass("avlModal-container");cleanUpModals(settings,multipleModals);}
else{fadeOutOverlay(settings,multipleModals)
$(settings.target).addClass("avlModal-container");cleanUpModals(settings,multipleModals);}
return false;}
function fadeOutOverlay(settings,multipleModals){if(!multipleModals){$("#site-container").removeClass("overlay-helper");$("#avlOverlay").fadeOut(settings.overlayHideSpeed,function(){removeOverlay(settings);});}}
function removeOverlay(settings){$("#avlOverlay").remove();settings.onHide();}
function cleanUpModals(settings,multipleModals){if($(settings.target).parent().hasClass('avlModal')){$(settings.target).unwrap();}
if(multipleModals){$(".avlModal").css("zIndex","10000");}
if(($('object embed[type]').length>0&&$('object embed[type]').attr('type').match('java'))||($('object[codeBase]').length>0&&$('object[codeBase]').attr('codeBase').match('java'))){$('object').parent().css({width:'100%',height:'',position:'static',right:'',bottom:'',overflow:'show'});}
$(settings.target).find(".avlModal-content").css({'max-height':'','height':''});}
function validateData(modalObject){return((modalObject.target!=""&&$(modalObject.target).length)||(modalObject.url!=""))?true:false;}
function loadModalContent(modalObject){if(modalObject.target!=""){showOverlayLayer(modalObject,$(modalObject.target));}
else{$.ajax({url:modalObject.url,data:modalObject.parameters,cache:modalObject.cache,dataType:"html",method:"GET",success:function(data){modalObject.onSuccess();showOverlayLayer(modalObject,data);}});}}
function showOverlayLayer(modalObject,modalContent){if(!($("#avlOverlay").length)){$(modalContent).parent().append("<div id='avlOverlay'><!-- --></div>");$("#avlOverlay").css({position:"absolute",zIndex:"9999",left:"0",top:"0",opacity:modalObject.overlayOpacity,display:"none"});if(modalObject.overlayImage!=""){$("#avlOverlay").css({backgroundImage:"url("+modalObject.overlayImage+")"});}
else{$("#avlOverlay").css({backgroundColor:modalObject.overlayColor});}
setOverlayLayerSize();$("#site-container").addClass("overlay-helper");$("#avlOverlay").fadeIn(modalObject.overlayShowSpeed,function(){});showModal(modalObject,modalContent)}
else{showModal(modalObject,modalContent)}}
function setOverlayLayerSize(){$('#avlOverlay').css({position:'fixed',top:'0px',left:'0px',height:'100%',width:'100%',transform:'translateZ(1px)'});}
function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n);}
function showModal(modalObject,modalContent){var modalWrapperPadding,modalInnerContent,$modal,modal;if($(".avlModal").length>0){$(".avlModal").css("zIndex","9998");}
$(modalContent).wrap("<div class='avlModal' />").removeClass("avlModal-container");$modal=$(modalContent).parent();if($(modalContent).find(".avlModal-content-wrapper").length==0){$(modalContent).find(".avlModal-content").wrapInner("<div class='avlModal-content-wrapper' />");$(modalContent).data("initialHeight",$modal.height()).data("initialWidth",parseInt(modalObject.width)).data("modalShowSpeed",modalObject.modalShowSpeed).data("initialContentHeight",$(modalContent).find('.avlModal-content').height()).data("windowBuffer",modalObject.windowBuffer);}
modalInnerContent=$(modalContent).find('.avlModal-content-wrapper')[0];if(modalObject.showCloseButton&&$(modalObject.target).find(".avlModal-close").length==0){if($(modalContent).find(".avlModal-wrapper").find(".avlModal-close").length<1){$(modalContent).find(".avlModal-wrapper").append("<a href='#close' class='avlModal-close' title='Close this modal window'><i id='closeModalIcon' class='icon-cancel'></i></a>");$(modalContent).find(".avlModal-close").attr('onclick',"return $.closeModal({ target: '#"+$(modalContent).attr('id')+"', onClose:"+modalObject.closeButtonFunction+"});");}}
modalWrapperPadding=parseInt((modalContent).find(".avlModal-wrapper").css("padding"));if(!isNumber(modalWrapperPadding)){modalWrapperPadding=0;}
$modal.css({zIndex:"10000",transform:"translateZ(1px)",width:parseInt(modalObject.width)+modalWrapperPadding,height:'auto'});setModalPosition("show",$modal,modalObject);OpenModals.push({modal:$modal[0],modalContent:modalInnerContent,previousHeight:modalInnerContent.scrollHeight});if(OpenModals.length==1){animloop();}
if(($('object embed[type]').length>0&&$('object embed[type]').attr('type').match('java'))||($('object[codeBase]').length>0&&$('object[codeBase]').attr('codeBase').match('java'))){$('object').parent().css({width:'1px',top:'99%',height:'1px',right:'0px',bottom:'0px',position:'absolute',overflow:'hidden'});}}
setModalPosition=function(action,$currentModal,modalObject){var modalHeight,modalWidth,modalMarginTop,modalMarginLeft;$currentModal.each(function(){var $thisModal=$(this),modalContent=$thisModal.children()[0],$thisModalsHeader=$thisModal.find(".avlModal-header"),$thisModalsContent=$thisModal.find(".avlModal-content"),$closeButton=$thisModal.find(".avlModal-close"),$thisModalsWrapper=$thisModal.find(".avlModal-wrapper"),thisModalsWrapperBorderSize=6,unexplainedAdj=5,headerHeight=($thisModalsHeader.length>0)?$thisModalsHeader.outerHeight(true):0,closeButtonHeightAdj=($closeButton.length>0)?($closeButton.height()/3)-unexplainedAdj:0,closeButtonWidthAdj=($closeButton.length>0)?($closeButton.width()/3)-unexplainedAdj:0,windowBufferAdj=$(modalContent).data('windowBuffer')||30,modalPadding=$thisModal.find(".avlModal-wrapper").css("padding-left").replace("px","")*2,windowHeight=$(window).height(),windowWidth=$(window).width(),contentMaxHeight='auto',maxWidth=windowWidth-windowBufferAdj,modalWidth=$(modalContent).data('initialWidth'),contentHeight=$thisModal.css({'max-width':maxWidth}).find('.avlModal-content-wrapper')[0].scrollHeight,fullHeight=contentHeight-$thisModalsContent.height()+$thisModal.height();if(isNaN(thisModalsWrapperBorderSize)){thisModalsWrapperBorderSize=0;}
if((fullHeight+closeButtonHeightAdj+windowBufferAdj+thisModalsWrapperBorderSize)>=windowHeight){modalHeight=windowHeight-windowBufferAdj-closeButtonHeightAdj;contentMaxHeight=(modalHeight+$thisModalsContent.height()-$thisModal.height())+'px';}
else{modalHeight=fullHeight;}
modalMarginTop=($(window).height()+closeButtonWidthAdj+thisModalsWrapperBorderSize-modalHeight-windowBufferAdj/2)/2;if(modalWidth>maxWidth){modalMarginLeft=($(window).width()+closeButtonWidthAdj+thisModalsWrapperBorderSize-maxWidth-windowBufferAdj/2)/2;}else{modalMarginLeft=($(window).width()+closeButtonWidthAdj+thisModalsWrapperBorderSize-modalWidth-windowBufferAdj/2)/2;}
$thisModalsContent.css('height',contentMaxHeight);if(action==="show"){$thisModal.css({position:"fixed",top:Math.round(modalMarginTop),left:Math.round(modalMarginLeft),height:'auto',width:modalWidth,display:"block"});if(AVL.UTILITIES.FUNCTIONS.GoForTransitions(modalObject.useTransitions)){$thisModal.find(".avlModal-wrapper").addClass("show");if(modalObject!=undefined){modalObject.onComplete();}}
else{$thisModal.find(".avlModal-wrapper").addClass("no-trans").css({opacity:1});$thisModal.animate({left:Math.round(modalMarginLeft),width:modalWidth},$(modalContent).data("modalShowSpeed"),"easeInOutExpo",function(){$thisModal.animate({top:Math.round(modalMarginTop),height:'auto'},400,"easeInOutExpo",function(){$(this).parent().parent().css({minHeight:headerHeight+(modalPadding/2)})
if(modalObject!=undefined){modalObject.onComplete();}});});}}
if(action==="resize"){$thisModal.css({top:Math.round(modalMarginTop),left:Math.round(modalMarginLeft),height:'auto',width:modalWidth,'max-width':maxWidth,display:"block"})}});};function hideSelects(){$("select").not(".hidden-dropdown").each(function(){$(this).after("<span class='replacement'></span>").next().addClass($(this).attr('class')).attr('id',$(this).attr('id')).html($(this).find("option:selected").text()).width($(this).width()-4).height($(this).height()-4).prev().addClass("hidden-dropdown").css("display","none");});}
function showSelects(){$(".replacement").each(function(){$(this).remove();});$(".hidden-dropdown").each(function(){$(this).removeClass("hidden-dropdown").css({display:"block"});});}
$(window).on("resize onorientationchange",function(){if($(".avlModal").is(":visible")){setOverlayLayerSize();setModalPosition("resize",$(".avlModal:visible"));}});OpenModals=[];CheckModalContentSize=function(){var current=0,modalHeight=0,n=0,l=OpenModals.length,htmlHeight=document.getElementsByTagName("HTML")[0].scrollHeight;if(l){for(n=0;n<l;n++){current=OpenModals[n].modalContent.scrollHeight;modalHeight=OpenModals[n].modal.scrollHeight;if(OpenModals[n].previousHeight!=current||modalHeight>htmlHeight){setModalPosition("resize",$(OpenModals[n].modal));}
OpenModals[n].previousHeight=current;}}};window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(callback){window.setTimeout(callback,1000/60);};})();function animloop(){if(OpenModals.length>0){requestAnimFrame(animloop);CheckModalContentSize();}}
$.fn.modalTabbing=function(){var tabbing=function(jqSelector){var inputs=$(jqSelector).find('select, input, textarea, button, a[href]').filter(':visible').not(':disabled');inputs.first().trigger("focus");$(jqSelector).on('keydown',function(e){if(e.which===9){var inputs=$(jqSelector).find('select, input, textarea, button, a[href]').filter(':visible').not(':disabled');if(!e.shiftKey){if(inputs[inputs.length-1]===e.target){e.preventDefault();inputs.first().trigger("focus");}}
else{if(inputs[0]===e.target){e.preventDefault();inputs.last().trigger("focus");}}}});};return this.each(function(){tabbing(this);});};})(jQuery);;var BRAND=BRAND||{};BRAND.RESPONSIVE={HeaderSearchMessage:"Search",HeaderInvalidMessage:"Enter a Valid Search",MobileHeaderMaxWidth:1024,INIT:{Init:function(){BRAND.RESPONSIVE.DOM.ToggleLoginButtonAppearance();BRAND.RESPONSIVE.INIT.InitHeaderSearchInput();BRAND.RESPONSIVE.DOM.ResizeDropDowns();BRAND.RESPONSIVE.DOM.SetHelpModalText();BRAND.RESPONSIVE.BINDINGS.BindPaymentPopover();},InitHeaderSearchInput:function(){$("#header-search .search-button").on("click",BRAND.RESPONSIVE.FUNCTIONS.CheckHeaderSearch);$("#header-search .new-search-button").on("click",BRAND.RESPONSIVE.FUNCTIONS.CheckHeaderSearch);$("#SearchTerms").off("keypress").on("keypress",BRAND.RESPONSIVE.FUNCTIONS.BlockReturn);$("#SearchTerms").off("keydown").on("keydown",BRAND.RESPONSIVE.FUNCTIONS.BlockReturn);$("#SearchTerms").on({focusin:BRAND.RESPONSIVE.DOM.FocusSearch,focusout:BRAND.RESPONSIVE.DOM.UnfocusSearch});}},BINDINGS:{BindClicks:function(){$(".open-menu-link").off("click").on("click",BRAND.RESPONSIVE.DOM.ShowHideMenu);$("#mobile-header #togglenav-button-header").off("click").on("click",function(){BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(true);return false;});$("#mobile-header #togglehelp-button-header").off("click").on("click",function(){BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(false);return false;});$("#slideout-overlay").off("click").on("click",function(e){e.stopPropagation();var isNav=$("#site-navigation").hasClass("active");BRAND.RESPONSIVE.DOM.ToggleHiddenSlideOut(isNav);});$(".close-search-link").off("click").on("click",function(){return BRAND.RESPONSIVE.DOM.ShowHideSearch(false);});$(".open-search-link").off("click").on("click",function(){return BRAND.RESPONSIVE.DOM.ShowHideSearch(!$("#header-search.open").is(":visible"));});BRAND.RESPONSIVE.BINDINGS.BindStoreFrontLinkClick();BRAND.RESPONSIVE.BINDINGS.BindDropDownMenus();},BindStoreFrontLinkClick:function(){$("#link-store").off("click").on("click",function(e){e.preventDefault();var isLocal=window.location.protocol.indexOf("http:")>-1,suffix=isLocal?"/bookshop":"";var host=window.location.protocol+"//"
+window.location.host.replace(/dev-bb/,"dev-bs").replace(/dev-www/,"dev-store").replace(/qa-bb/,"qa-bs").replace(/qa-www/,"qa-store").replace(/test-www/,"test-store").replace(/live-bb/,"live-bs").replace(/www/,"store")
+suffix;window.open(host);return false;});},BindDropDownMenus:function(){if($("body").width()<=BRAND.RESPONSIVE.MobileHeaderMaxWidth){$("[data-toggle='nav-menu']").off("click").on("click",function(e){e.preventDefault();var clicked=$(this);if($(clicked).closest("ul").attr("class")==="level1"){if($(clicked).closest("a").siblings("ul.level2:visible").length>0){$(clicked).closest("a").siblings("ul.level2:visible").css("display","");$(clicked).find("i").removeClass("icon-minus").addClass("icon-plus");return false;}}
var parent=$(clicked).closest("ul").attr("class"),menu=parent==="level1"?$(clicked).closest("a").next("ul"):$(clicked).closest("a").prev("ul");menu.show();$(clicked).find("i").removeClass("icon-plus").addClass("icon-minus");return false;});}},BindPaymentPopover:function(){$("#nav-myaccount .aside-content #alert-icon").on("click",function(event){var $paymentPopover=$("#nav-myaccount .aside-content #payment-popover");var messagePosition=$("#nav-myaccount .aside-content #alert-icon").position().top-25;$paymentPopover.css("display","block");$paymentPopover.css("top",messagePosition);event.stopPropagation();$("body").on("click",function(){if($paymentPopover.is(":visible")){$paymentPopover.css("display","none");}});});}},DOM:{ToggleHiddenSlideOut:function(isNav){var $container,containerLeftPos,transition,transitionSpeed,transitionType,slideSpeed;if(AVL.UTILITIES.FUNCTIONS.IsMobile()){$container=$("#slideout-container"),containerLeftPos=parseInt($container.css("left").replace("px","")),transition="easeOutExpo",slideSpeed=300,transitionSpeed=200;if($container.is(":not(:animated)")&&!$container.hasClass("animating")){if(!IsSlideoutVisible()){if(isNav){$("#togglenav-button-header").prop("title","Hide steps");$("#step-navigation").css({left:"0"});$("#options").css({right:"-260px"});if(AVL.UTILITIES.UseTransitions&&!AVL.UTILITIES.FUNCTIONS.IsIE()){transitionType="ease-out";$container.addClass("animating").css(Modernizr.prefixedCSS("transition"),Modernizr.prefixedCSS("transform")+" "+transitionSpeed/1000+"s "+transitionType);if(Modernizr.csstransforms3d){$container.css(Modernizr.prefixedCSS("transform"),"translate3d(260px, 0px, 0px) scale3d(1,1,1)");}else if(Modernizr.csstransforms){$container.css(Modernizr.prefixedCSS("transform"),"translate("+leftValue+"px, 0px)");}
$container[0].addEventListener(AVL.UTILITIES.TransitionEnd,function(){$container.removeClass("animating").css(Modernizr.prefixedCSS("transition"),"none");$container[0].removeEventListener(AVL.UTILITIES.TransitionEnd,arguments.callee,false);$("#quoter-container").addClass("slide-out");},false);}
else{$container.filter(":not(:animated)").animate({left:"260px"},slideSpeed,transition,function(){$("#quoter-container").addClass("slide-out");});}}
else{$("#toggleoptions-button-header").prop("title","Hide options");$("#step-navigation").css({left:"-270px"});$("#options").css({right:"0"});if(AVL.UTILITIES.UseTransitions&&!AVL.UTILITIES.FUNCTIONS.IsIE()){transitionType="ease-out";$container.addClass("animating").css(Modernizr.prefixedCSS("transition"),Modernizr.prefixedCSS("transform")+" "+transitionSpeed/1000+"s "+transitionType);if(Modernizr.csstransforms3d){$container.css(Modernizr.prefixedCSS("transform"),"translate3d(-260px, 0px, 0px) scale3d(1,1,1)");}else if(Modernizr.csstransforms){$container.css(Modernizr.prefixedCSS("transform"),"translate(-260px, 0px)");}
$container[0].addEventListener(AVL.UTILITIES.TransitionEnd,function(){$container.removeClass("animating").css(Modernizr.prefixedCSS("transition"),"none");$container[0].removeEventListener(AVL.UTILITIES.TransitionEnd,arguments.callee,false);$("#quoter-container").addClass("slide-out");},false);}
else{$container.filter(":not(:animated)").animate({left:"-260px"},slideSpeed,transition,function(){$("#quoter-container").addClass("slide-out");});}}}
else{$("#quoter-container").removeClass("slide-out");if(AVL.UTILITIES.UseTransitions&&!AVL.UTILITIES.FUNCTIONS.IsIE()){transitionType="ease-out";$container.addClass("animating").css(Modernizr.prefixedCSS("transition"),Modernizr.prefixedCSS("transform")+" "+transitionSpeed/1000+"s "+transitionType);if(Modernizr.csstransforms3d){$container.css(Modernizr.prefixedCSS("transform"),"translate3d(00px, 0px, 0px) scale3d(1,1,1)");}else if(Modernizr.csstransforms){$container.css(Modernizr.prefixedCSS("transform"),"translate(0px, 0px)");}
$container[0].addEventListener(AVL.UTILITIES.TransitionEnd,function(){$container.removeClass("animating").css(Modernizr.prefixedCSS("transition"),"none");$container[0].removeEventListener(AVL.UTILITIES.TransitionEnd,arguments.callee,false);AVL.RESPONSIVE.DOM.ResetSlideout();},false);}
else{$container.filter(":not(:animated)").animate({left:"0px"},slideSpeed,transition,function(){AVL.RESPONSIVE.DOM.ResetSlideout();});}}}}
else{$container=$("#items-container"),containerLeftPos=parseInt($container.css("left").replace("px","")),transition="easeOutBack",slideSpeed=500;if($container.is(":not(:animated)")){if(!IsSlideoutVisible()){$("#togglenav-button").prop("title","Hide steps");$("#step-navigation").filter(":not(:animated)").animate({left:"0"},slideSpeed,transition);$container.filter(":not(:animated)").animate({marginLeft:"280px"},slideSpeed+100,transition,function(){$("#quoter-container").addClass("slide-out");});}
else{$("#quoter-container").removeClass("slide-out");$container.filter(":not(:animated)").animate({marginLeft:"0px"},slideSpeed,transition,function(){AVL.RESPONSIVE.DOM.ResetSlideout();});$("#step-navigation").filter(":not(:animated)").animate({left:"-280px"},slideSpeed,transition);}}}},ResizeDropDowns:function(){var maxHeight=window.innerHeight-65;if($("body").width()<=BRAND.RESPONSIVE.MobileHeaderMaxWidth){$(".level2 li").show();}else{$(".level2, .level3").each(function(){var $menu=$(this),menuHeight=AVL.RESPONSIVE.FUNCTIONS.GetMenuHeight($menu),n=0;for(n=$menu.children("li:hidden").length;menuHeight<maxHeight-45&&n>0;n--){$menu.children("li:hidden").first().show();menuHeight=AVL.RESPONSIVE.FUNCTIONS.GetMenuHeight($menu);}
if($menu.children("li:hidden:not(.view-all)").length){$menu.children("li.view-all:hidden").show();}
var parent=$menu.closest("ul").attr("class");if(parent==="level2"){for(n=$menu.children("li:visible:not(.view-all)").length;menuHeight>maxHeight&&n>0;n--){$menu.children("li:visible:not(.view-all)").last().hide();menuHeight=AVL.RESPONSIVE.FUNCTIONS.GetMenuHeight($menu);}}else{for(n=$menu.children("li:visible:not(.view-all)").length;menuHeight+300>maxHeight&&n>0;n--){$menu.children("li:visible:not(.view-all)").last().hide();menuHeight=AVL.RESPONSIVE.FUNCTIONS.GetMenuHeight($menu);}}
if($menu.children("li:hidden:not(.view-all)").length){$menu.children("li.view-all:hidden").show();}else if(!$menu.children("li:hidden:not(.view-all)").length){$menu.children("li.view-all.hidden:visible").hide();}});}},SetIsMobile:function(){var transform={};if($("#site-header-container").css("display")==="none"){transform["max-width"]=$("body").width()-62;$("#mobile-help").css(transform);if(AVL.RESPONSIVE.FUNCTIONS.IsSlideoutVisible()){AVL.RESPONSIVE.DOM.AdjustSlideout();}
if(AVL.RESPONSIVE.IsMobile===false){AVL.RESPONSIVE.IsMobile=true;$("html").addClass("mobiled");}}
else if($("#site-header").length>0){if($(window).width()>BRAND.RESPONSIVE.MobileHeaderMaxWidth){AVL.RESPONSIVE.IsMobile=false;$("html").removeClass("mobiled");BRAND.RESPONSIVE.DOM.HideMenu();}
else if($(window).width()<=BRAND.RESPONSIVE.MobileHeaderMaxWidth){AVL.RESPONSIVE.IsMobile=true;$("html").addClass("mobiled");if(AVL.RESPONSIVE.IsUniversal){window.SetContainerHeight();}
if($(document.activeElement).prop("type")!=="text")
BRAND.RESPONSIVE.DOM.HideMenu();}}else{if(AVL.RESPONSIVE.IsMobile){if(AVL.RESPONSIVE.FUNCTIONS.IsSlideoutVisible()){AVL.RESPONSIVE.DOM.ResetSlideout();}
AVL.RESPONSIVE.IsMobile=false;$("html").removeClass("mobiled");}}},SetHelpModalText:function(){var $customEmail=$("input#customEmail"),$additionalPhoneText=$("input#additionalPhoneText");if($additionalPhoneText.length!=0)
$(".help-phone .additional-phone-text").text($additionalPhoneText.val());if($customEmail.length!=0)
$(".help-email a").attr("href","mailto:"+$customEmail.val()).text($customEmail.val());},ToggleLoginButtonAppearance:function(){if($("#isLoggedIn").val()==="true"){$(".login-link").find("a").html("<i class='icon-exit'></i><span class='icon-text'>Logout</span>").attr("href","/MyAccount/logout.aspx");}else{$(".login-link").find("a").html("<i class='icon-enter'></i><span class='icon-text'>Login</span>").attr("href","/MyAccount/login.aspx?pageto=");}},ResetSiteHeader:function(){if($("body").width()>BRAND.RESPONSIVE.MobileHeaderMaxWidth){$("#site-header").show();$("a.close-search-link").trigger("click");}},ShowHideMenu:function(){if($("#site-header").hasClass("open")){BRAND.RESPONSIVE.DOM.HideMenu();BRAND.RESPONSIVE.DOM.ShowHideSearch(false);}else{BRAND.RESPONSIVE.DOM.ShowMenu();BRAND.RESPONSIVE.DOM.ShowHideSearch(true);}
return false;},ShowMenu:function(){$("#site-header, #mobile-header").addClass("open");return false;},HideMenu:function(){$("#site-header, #mobile-header").addClass("closing");setTimeout(function(){$("#site-header, #mobile-header").removeClass("open").removeClass("closing");},700);},ShowHideSearch:function(showSearch){if(showSearch){$("#header-search").addClass("open");if($("body").width()>BRAND.RESPONSIVE.MobileHeaderMaxWidth){$("#header-menu .right-nav").hide();}
$("#SearchTerms").val("").siblings("label").removeClass("inputted");}else{setTimeout(function(){$("#header-menu .right-nav").show();},800);$("#header-search").removeClass("open");}
return false;},FocusSearch:function(){var alphanumeric=new RegExp("^\s*[a-z0-9]+\s*[a-z0-9]*\s*[a-z0-9]*","i"),content=$("#SearchTerms").val().toLowerCase();if(content===BRAND.RESPONSIVE.HeaderSearchMessage.toLowerCase()||content===BRAND.RESPONSIVE.HeaderInvalidMessage.toLowerCase()||alphanumeric.test(content)===false||content==="search"){$(this).val("");$(this).addClass("user-input");}
if($("#SearchTerms").attr("placeholder")===BRAND.RESPONSIVE.HeaderInvalidMessage)
$(this).attr("placeholder",BRAND.RESPONSIVE.HeaderSearchMessage);$("#header-search fieldset").addClass("active");},UnfocusSearch:function(){$("#header-search fieldset").removeClass("active");}},FUNCTIONS:{CheckHeaderSearch:function(){var alphanumeric=new RegExp("^\s*[a-z0-9]+\s*[a-z0-9]*\s*[a-z0-9]*","i"),content=$("#SearchTerms").val().toLowerCase();if(content===BRAND.RESPONSIVE.HeaderSearchMessage.toLowerCase()||content===BRAND.RESPONSIVE.HeaderInvalidMessage.toLowerCase()||alphanumeric.test(content)===false||content==="search"){$("#SearchTerms").attr("placeholder",BRAND.RESPONSIVE.HeaderInvalidMessage);$("#SearchTerms").removeClass("user-input");$("#SearchTerms").trigger("blur");return false;}
else{window.location.href="/websearch/index.aspx?SearchTerms="+content.replace(" ","+");}},BlockReturn:function(event){if(event.keyCode===13){event.stopPropagation();event.preventDefault();$("#SearchButton").trigger("click");return false;}}}};$(document).ready(function(){BRAND.RESPONSIVE.INIT.Init();});;$(document).ready(function(){TRANSLATE.Init();TRANSLATE.FUNCTIONS.RepositionWidget();});$(window).on("resize orientationchange",function(){TRANSLATE.FUNCTIONS.RepositionWidget();});var TRANSLATE=TRANSLATE||{AlreadyTranslated:false,IsTesting:false,InitialClick:true,LinkClicked:false,SiteLanguage:"en",TranslationList:"en,es",FlagUSA:"/commoncontrols/universal/common/img/flags/usa-flagwave.png",LanguageCodeEnglish:"English",LanguageCodeSpanish:"Español",CheckInterval:500,TranslationElement:$("#google-translate-nav").length>0?"google-translate-nav":"google-translate-header",NotranslateClass:"notranslate",ExcludedElements:".account-choice, "+
"#quoter-container, "+
"table.tbl-datatable > tbody td:not(.td-button), "+
"input[type='text'],"+
"textarea, "+
".label-value, "+
".amount span, "+
"table.mybooks-table > tbody td.book-title,"+
".title-section .one-page-book-section-value,"+
".url-section .one-page-book-section-value, "+
"#project-summary .wrapper, "+
".primary-site-button, "+
".primary-page-button, "+
".primary-action-button, "+
".secondary-site-button, "+
".secondary-page-button,  "+
"#checkout-page td#item-description, "+
"#checkout-page td.td-quantity, "+
"#checkout-page td.td-price, "+
"#checkout-page ul.item-description-details li, "+
"#checkout-page .selected-delivery-address, "+
"#checkout-page .costs, "+
"#checkout-page .total, #checkout-page .promo-form, "+
".card-name, .card-address, .card-display, "+
"#update-action, "+
".async-screen, "+
"#quantitymodal, "+
"div[id^='moreinfomodal_'], "+
"#ui-datepicker-div, #sp-hello > span, "+
"#search-activities .filter-search, "+
".trackControls, "+
".qty-range, "+
"#profileurl, "+
".plyr-container, "+
"table.content-review tr, "+
"#edit-bookshop-page .button, "+
"#edit-bookshop-page .edit-toggle, "+
"#edit-bookshop-page .buynow-button",IncludedElements:"table.tbl-datatable > tbody > td.td-button",IsSpanish:false,CookieLanguage:"",Init:function(){TRANSLATE.CookieLanguage=TRANSLATE.FUNCTIONS.GetLanguageFromCookie();this.BINDINGS.BindLanguageLink();this.FUNCTIONS.CheckIfTranslated();$(TRANSLATE.ExcludedElements).addClass(TRANSLATE.NotranslateClass);$(TRANSLATE.IncludedElements).removeClass(TRANSLATE.NotranslateClass);},BINDINGS:{BindLanguageLink:function(){$(".link-translate").off("click").on("click",function(){TRANSLATE.LinkClicked=true;if($(".goog-te-menu-value").length>0)
$(".goog-te-menu-value").get(0).click();});}},FUNCTIONS:{CheckIfTranslated:function(){var check=function(){var $elem=$(".goog-te-menu-value > span:first");$(".goog-te-gadget-simple .goog-te-menu-value span").eq(1).hide();if($elem.length>0&&$elem.html().length>0){TRANSLATE.FUNCTIONS.FixTranslatorToggleBug($elem);if(TRANSLATE.IsTesting)console.log($elem.text());TRANSLATE.IsSpanish=$elem.text()==="Spanish";TRANSLATE.FUNCTIONS.SetLanguageCookie();$(".link-translate span").text(TRANSLATE.FUNCTIONS.SetDisplayText(TRANSLATE.IsSpanish))
TRANSLATE.FUNCTIONS.RepositionWidget();}};setInterval(check,TRANSLATE.CheckInterval);},FixTranslatorToggleBug:function($elem){if(TRANSLATE.LinkClicked&&$elem.text()==="Select Language"){if(!TRANSLATE.InitialClick){if(TRANSLATE.IsTesting)console.log("******* EXTRA CLICK TRIGGERED *******");$(".goog-te-menu-frame:first").contents().find(".goog-te-menu2-item span").get(0).click();TRANSLATE.LinkClicked=false;}
else
if(TRANSLATE.IsTesting)console.log("******* InitialClick *******");TRANSLATE.InitialClick=false;TRANSLATE.LinkClicked=false;}
if(TRANSLATE.LinkClicked&&TRANSLATE.InitialClick){if(TRANSLATE.IsTesting)console.log("******* InitialClick *******");TRANSLATE.InitialClick=false;}},GetLanguageFromCookie:function(){var cookie=AVL.UTILITIES.FUNCTIONS.GetCookie("sitelanguage");return cookie?cookie:TRANSLATE.SiteLanguage;},SetLanguageCookie:function(){var updatedLanguage=TRANSLATE.IsSpanish?"es":"en";var cookieLanguage=AVL.UTILITIES.FUNCTIONS.GetCookie("sitelanguage");if(TRANSLATE.IsTesting)console.log("updatedLanguage: "+updatedLanguage+" | cookieLanguage: "+cookieLanguage);if(!TRANSLATE.InitialClick&&cookieLanguage!==updatedLanguage)
AVL.UTILITIES.FUNCTIONS.SetCookie("sitelanguage",updatedLanguage,360);},InitGoogleTranslateElement:function(uaCode){try{new google.translate.TranslateElement({pageLanguage:TRANSLATE.SiteLanguage,includedLanguages:TRANSLATE.TranslationList,layout:google.translate.TranslateElement.InlineLayout.SIMPLE,gaTrack:true,gaId:uaCode},TRANSLATE.TranslationElement);}catch(e){}},RepositionWidget:function(){switch(AVL.UTILITIES.FUNCTIONS.GetAvlBrand()){case "4":case "5":case "12":var $desktopElem=$("#google-translate-header"),$mobileElem=$("#google-translate-nav");if($mobileElem.is(":visible")){if($mobileElem.find("div.goog-te-gadget").length==0)
$mobileElem.append($("div.goog-te-gadget"));}
else{if($desktopElem.find("div.goog-te-gadget").length==0)
$desktopElem.append($("div.goog-te-gadget"));}
break;}},SetDisplayText:function(isSpanish){return isSpanish?TRANSLATE.LanguageCodeSpanish:TRANSLATE.LanguageCodeEnglish;}}};;if(typeof JSON!=='object'){JSON={};}
(function(){'use strict';function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case 'string':return quote(value);case 'number':return isFinite(value)?String(value):'null';case 'boolean':case 'null':return String(value);case 'object':if(!value){return 'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){if(typeof rep[i]==='string'){k=rep[i];v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return '\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}}());;var AVL=AVL||{};AVL.RESPONSIVEFORM=AVL.RESPONSIVEFORM||{};AVL.RESPONSIVEFORM.CORE={NewFormContent:true,BypassPhoneCountryCode:typeof phoneOptional!="undefined"?phoneOptional:false,UseSisyphus:(typeof bypassLocalStorage=="undefined"||(typeof bypassLocalStorage!="undefined"&&!bypassLocalStorage)),INIT:{Init:function(){var $form=$(".responsive-form");AVL.RESPONSIVEFORM.CORE.INIT.InitResponsiveForms($form);AVL.RESPONSIVEFORM.CORE.INIT.InitAutoFillCatches($form);},InitAutoFillCatches:function($form){setTimeout(function(){AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($form)},100);},InitResponsiveForms:function($form){if($form!=="#address-container"){AVL.RESPONSIVEFORM.CORE.INIT.InitSisyphus($form);}
AVL.RESPONSIVEFORM.CORE.INIT.InitFormWarningContainers($form);AVL.RESPONSIVEFORM.CORE.INIT.InitFormMasks($form);AVL.RESPONSIVEFORM.CORE.INIT.InitFormStatusIcons($form);AVL.RESPONSIVEFORM.CORE.INIT.InitFormInputs($form);AVL.RESPONSIVEFORM.CORE.INIT.InitFormInstantValidation($form);AVL.RESPONSIVEFORM.CORE.INIT.InitUSPhoneInputs($form);AVL.RESPONSIVEFORM.CORE.INIT.InitAddressInputs($form);AVL.RESPONSIVEFORM.CORE.INIT.InitAddressModal();AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($form);AVL.RESPONSIVEFORM.CORE.INIT.InitFormButtons($form);AVL.RESPONSIVEFORM.CORE.INIT.InitAlertBoxIcons();$(".txt-state").find(".textbox").attr("maxlength","30");},InitSisyphus:function($form){if(AVL.RESPONSIVEFORM.CORE.UseSisyphus){if($form.is("fieldset")){$form.sisyphus({excludeFields:$(".no-sisy, input[type='hidden'], .no-sisy input[type='radio'], .no-sisy input[type='checkbox']"),includeFields:$("input.has-sisy"),customKeySuffix:document.domain+window.location.pathname.replace(/\//g,"_")+"_"});}
else{$form.find("fieldset").each(function(){$(this).sisyphus({excludeFields:$(".no-sisy, input[type='hidden'], .no-sisy input[type='radio'], .no-sisy input[type='checkbox']"),includeFields:$("input.has-sisy"),customKeySuffix:document.domain+window.location.pathname.replace(/\//g,"_")+"_"});});AVL.RESPONSIVEFORM.CORE.UTILITIES.RemoveInputScriptTags($form);}}},InitAddressInputs:function($form){var countryCode=($form.find(".dd-country .dropdown").length>0&&typeof $form.find(".dd-country .dropdown option[selected='selected']").val()!="undefined")?$form.find(".dd-country .dropdown option[selected='selected']").val().toLowerCase():"";AVL.RESPONSIVEFORM.CORE.UTILITIES.PrefixPhoneWithCountryCode($form,countryCode,AVL.RESPONSIVEFORM.CORE.NewFormContent,AVL.RESPONSIVEFORM.CORE.BypassPhoneCountryCode);$form.find(".dd-country .dropdown").on("change",function(){var $phoneInput=$(".responsive-form .txt-phone input");if($phoneInput.length){$phoneInput.val($phoneInput.val().replace(/["'()-\s]/g,""));AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($phoneInput);}
$("#update-action").text("country-updated");});$form.find(".dd-opt-states .dropdown, .txt-opt-state .textbox").on("change",function(){$("#update-action").text("states-updated");});$form.find(".txt-addressline1 .textbox").each(function(){var $parentForm=$(this).closest(".responsive-form");$(this).on("keydown",function(event){if(event.keyCode===$.ui.keyCode.TAB&&$(this).data("ui-autocomplete").menu.active){event.preventDefault();}}).autocomplete({position:{my:"left top",at:"left bottom-1",of:$parentForm.find(".txt-addressline1")},delay:0,source:function(request,response){var $this=$parentForm.find(".txt-addressline1 .textbox"),thisValue=$.trim($this.val());var countryCode=$parentForm.find(".dd-country .dropdown").val();if(thisValue!==""&&thisValue.length>1&&countryCode==="US"){var jsonData={testing:false,companyname:$parentForm.find(".txt-company .textbox").val(),addressline1:$parentForm.find(".txt-addressline1 .textbox").val(),addressline2:$parentForm.find(".txt-addressline2 .textbox").val(),city:$parentForm.find(".txt-city .textbox").val(),state:$parentForm.find(".dd-states .dropdown").val(),zipCode:$parentForm.find(".txt-zipcode .textbox").val(),country:$parentForm.find(".dd-country .dropdown").val()};$.ajax({url:"/MyAccount/CommonControls/ResponsiveForms/Handlers/UPSAddressValidationStreetLevel.ashx",type:"POST",data:JSON.stringify(jsonData),contentType:"application/json; charset=utf-8",dataType:"json",success:function(data){var dataAddressKeyFormats=data.AddressKeyFormats;if(dataAddressKeyFormats.length>0){var fullAddresses=[],tempAddresses=[],distinctAddress=[];if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(dataAddressKeyFormats);}
$.each(dataAddressKeyFormats,function(index,value){fullAddresses.push(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].AddressLine1)+", "+AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].PoliticalDivision2)+" "+dataAddressKeyFormats[index].PoliticalDivision1+" "+AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].PostcodePrimaryLow));});$.each(fullAddresses,function(i,el){if($.inArray(el,tempAddresses)===-1){tempAddresses.push(el);distinctAddress.push(dataAddressKeyFormats[i]);}});response($.map(distinctAddress,function(item){return{data:{addressline1:AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(item.AddressLine1),city:AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(item.PoliticalDivision2),state:item.PoliticalDivision1,zip:item.PostcodePrimaryLow},value:AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(item.AddressLine1),label:AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(item.AddressLine1)+", "+AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(item.PoliticalDivision2)+" "+item.PoliticalDivision1+" "+item.PostcodePrimaryLow}}));}}});}},minLength:2,select:function(event,ui){AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($parentForm.find(".txt-addressline1"),$parentForm.find(".txt-addressline1 .textbox"),ui.item.data.addressline1,true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($parentForm.find(".txt-zipcode"),$parentForm.find(".txt-zipcode .textbox"),ui.item.data.zip,true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($parentForm.find(".txt-city"),$parentForm.find(".txt-city .textbox"),ui.item.data.city,true);AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".txt-addressline1"),$parentForm.find(".txt-addressline1 .textbox"),false,false);$parentForm.find(".dd-states .dropdown").trigger("focus").val(ui.item.data.state).trigger("blur").trigger("update");var inAddressLine1=$parentForm.find(".txt-addressline1 .textbox").val(),inAddressLine2=$parentForm.find(".txt-addressline2 .textbox").val(),inCity=$parentForm.find(".txt-city .textbox").val(),inState=$parentForm.find(".dd-states .dropdown").val(),inZip=$parentForm.find(".txt-zipcode .textbox").val();if(inAddressLine1!==""&&inCity!==""&&inState!==""&&inZip!==""){var addressXML="<address><addressline1>"+inAddressLine1+"</addressline1><addressline2>"+inAddressLine2+"</addressline2><city>"+inCity+"</city><state>"+inState+"</state><zip>"+inZip+"</zip></address>",isMissingApartment=false;$.ajax({type:"POST",url:"/SiteUtilities/AddressVerification.aspx",contentType:"text/xml",dataType:"text",data:addressXML,success:function(msg){var xmlDoc=$.parseXML(msg),$xml=$(xmlDoc),missingApt=$xml.find("ismissingaptnumber");if(missingApt!=null&&missingApt!==""){isMissingApartment=missingApt.text().toLowerCase()==="true";if(isMissingApartment){$parentForm.find(".txt-addressline2").attr("title","Please enter your Apt, Suite, Bldg. (required).");$parentForm.find(".txt-addressline2 .textbox").trigger("focus");$parentForm.find(".txt-addressline2 label em").text("(required)");$parentForm.find(".txt-addressline2 input[type='text']").attr("data-validation","req-field");}
else{$parentForm.find(".txt-addressline2").attr("title","Please enter your Apt, Suite, Bldg. (if applicable).");$parentForm.find(".txt-addressline2 label em").text("(if applicable)");$parentForm.find(".txt-addressline2").removeClass("failed-validation");$parentForm.find(".txt-addressline2 input[type='text']").attr("data-validation","opt-addressline2");AVL.RESPONSIVEFORM.CORE.UTILITIES.FocusNextFocusableEmptyInput($parentForm,$parentForm.find(".dd-states .dropdown"));}}
else{$parentForm.find(".txt-addressline2 label em").text("(if applicable)");AVL.RESPONSIVEFORM.CORE.UTILITIES.FocusNextFocusableEmptyInput($parentForm,$parentForm.find(".dd-states .dropdown"));}},fail:function(msg){$parentForm.find(".txt-addressline2 label em").text("(if applicable)");$parentForm.find(".txt-addressline2 .textbox").trigger("focus");}});}},open:function(){$(this).removeClass("ui-corner-all").addClass("ui-corner-top");},close:function(){$(this).removeClass("ui-corner-top").addClass("ui-corner-all");$parentForm.find(".txt-addressline1 .textbox").trigger("change");}});});},InitUSPhoneInputs:function(){if($("input[data-validation='req-phone-us']").length>0){AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($("input[data-validation='req-phone-us']"),$("input[data-validation='req-phone-us']").val(),true);$("input[data-validation='req-phone-us']").on("change",function(){var $this=$(this);AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($this,$this.val(),true);});}
if($("input[data-validation='opt-phone-us']").length>0){AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($("input[data-validation='opt-phone-us']"),$("input[data-validation='opt-phone-us']").val(),true);$("input[data-validation='opt-phone-us']").on("change",function(){var $this=$(this);AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($this,$this.val(),true);});}},InitAddressModal:function(){$("body").on("click","#ar-change",function(){var addressline1="#"+$(this).attr("data-addressline1");var $form=$(addressline1).closest(".responsive-form");$form.find(".txt-addressline1 .textbox").trigger("focus");if($(this).attr("data-showDeliveryModal")==="true"){}
return $.closeModal({target:"#address-results"});});$("body").on("click","#ar-certify",function(){var addressline1="#"+$(this).attr("data-addressline1");var $form=$(addressline1).closest(".responsive-form");$("#address-results").find("#addressCertified").val("true");AVL.RESPONSIVEFORM.VALIDATION.AddressCertified=true;$form.find(".txt-addressline1 .textbox").trigger("change");return $.closeModal({target:"#address-results"});});$("body").on("click",".ar-choice",function(){var addressline1="#"+$(this).attr("data-addressline1");var $form=$(addressline1).closest(".responsive-form"),addresses=$("#address-results").data("addresses"),addressIndex=$(this).prop("rel");if(addresses!=null&&addresses.length>0){AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".txt-addressline1"),$form.find(".txt-addressline1 .textbox"),AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(addresses[addressIndex].AddressLine1),true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".txt-addressline2"),$form.find(".txt-addressline2 .textbox"),AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(addresses[addressIndex].AddressLine2),true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".txt-city"),$form.find(".txt-city .textbox"),AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(addresses[addressIndex].PoliticalDivision2),true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".dd-states"),$form.find(".dd-states .dropdown"),addresses[addressIndex].PoliticalDivision1,true);AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".txt-zipcode"),$form.find(".txt-zipcode .textbox"),addresses[addressIndex].PostcodePrimaryLow,true);AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($form.find(".txt-addressline1"),$form.find(".txt-addressline1 .textbox"),false,false);}
return $.closeModal({target:"#address-results"});});},InitAlertBoxIcons:function(){$(".success-message").each(function(){AVL.RESPONSIVEFORM.CORE.DOM.AddAlertBoxIcon($(this),"icon-ok");});},InitFormWarningContainers:function($form){var $formFieldsets=$form.is("fieldset")?$form:$form.find("fieldset");$formFieldsets.each(function(){var $this=$(this),warningDiv="<div class='warning-messages'></div>";if(!$this.find("div.warning-messages").length){if($this.find("legend").length===0){$this.find("ul:first").before(warningDiv);}
else{$this.find("legend").after(warningDiv);}}});$(".responsive-form").on("click",".bypass-field-link",function(){var bypassedPlaceholderID="bypassed-"+$(this).attr("data-element-id");var $input=$("#"+$(this).attr("data-element-id"));if($input.parent().attr("id")==="pAddressLine2")
$input.attr("data-validation","opt-addressline2");if($("#"+bypassedPlaceholderID).length===0){$("body").append("<div id='"+bypassedPlaceholderID+"'></div>");}
AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($input);return false;});},InitFormMasks:function($form){var $formMasks=$form.find("ul li p, ul li div");$formMasks.on("click",function(){if(!$(this).hasClass("focused")){$(this).find(".textbox, .textarea, .dropdown").trigger("focus");};});},InitFormInputs:function($form){var $formMasks=$form.find("ul li p"),$formDropDowns=$formMasks.find("select");$formDropDowns.customSelect();$formMasks.find(".textbox, .dropdown, .textarea").not(":disabled").on("focus",function(){if(!$(this).closest("p").hasClass("focused")){var $this=$(this),$parent=$this.closest("p"),$label=$parent.find("label");$(".focused").removeClass("focused");$parent.addClass("focused");if($this.val()!=null&&$this.val().length>0){if($label.hasClass("inputted")){$label.addClass("inputting-notrans");}
else{$label.addClass("inputting");}}
localStorage["focus"]=$this.not(".no-focus").attr("id");}}).on("blur",function(){var $this=$(this),$parent=$this.closest("p"),$label=$parent.find("label");if($parent.hasClass("focused")){$parent.removeClass("focused");AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($form);}
if($this.val()!=null&&$this.val().length===0||$this.val()==null){$label.removeClass("inputting inputted inputting-notrans");}
else{$label.removeClass("inputting inputting-notrans").addClass("inputted");}});$formMasks.find(".textarea").not(":disabled").on("focus",function(){$(this).closest("li").find("label.outter-label").addClass("focused");}).on("blur",function(){$(this).closest("li").find("label.outter-label").removeClass("focused");});$formMasks.find(".textbox, .textarea").on("keydown",function(){var $label=$(this).parent().find("label");if(!$label.hasClass("inputting-notrans")){$label.addClass("inputting");}}).on("keyup",function(){var $this=$(this),$label=$(this).parent().find("label");if($this.val().length===0){$label.removeClass("inputted inputting inputting-notrans");}
else if(!$label.hasClass("inputting-notrans")){$label.addClass("inputting");}
AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($form);});$formMasks.find("select").not(".no-reset").each(function(){var $this=$(this),$label=$this.parent().find("label"),index=$this.parent().find(".dropdown option:selected").index();if(index===-1||$this.val()===""){$label.removeClass("inputted");}}).on("change",function(){var $this=$(this),$label=$(this).parent().find("label");if($this.val()!=null&&$this.val().length===0){$label.removeClass("inputted inputting inputting-notrans");}
else{$label.addClass("inputted");}});$formMasks.find("select.dropdown").on("keypress",function(event){if(event.which===13)
event.stopPropagation();});if($form.hasClass("skip-focus")||(AVL.UTILITIES.FUNCTIONS.IsMobile()&&$form.hasClass("skip-focus-mobile")))
return;AVL.RESPONSIVEFORM.CORE.UTILITIES.SetFocusToCorrectInput($form);},InitFormStatusIcons:function($form){var $formMasks=$form.find("ul li");$formMasks.find(".textbox, .textarea, .dropdown").each(function(){var $parent=$(this).closest("p"),$errorMessage=$parent.prop("title");if(!$parent.find("i.input-warning").length){$parent.append("<i class='input-status input-warning icon-attention' title='"+$errorMessage+"' onclick='return AVL.RESPONSIVEFORM.CORE.DOM.ShowValidationMessage(event, $(this));'></i>");}});$formMasks.find(".radiobutton, .checkbox").each(function(){var $parent=$(this).closest(".radio-mask, .checkbox-mask"),$errorMessage=$parent.prop("title");if(!$parent.find("i.input-warning").length&&$parent.find("label").length){$parent.append("<i class='input-status input-warning icon-attention' title='"+$errorMessage+"' onclick='return AVL.RESPONSIVEFORM.CORE.DOM.ShowValidationMessage(event, $(this));'></i>");}});$formMasks.find("[data-loader='true']").each(function(){var $parent=$(this).closest("p");$parent.append("<img class='input-loading' src='/CommonControls/ResponsiveForms/IMG/async-loader-1.gif' alt='Loading' />");});},InitFormLabels:function($form){var $formMasks=$form.find("ul li p, ul li div");$formMasks.find(".textbox, .textarea").each(function(){var $this=$(this),$label=$this.parent().find("label");if($this.val().length===0){$label.removeClass("inputting inputted");}
else{$label.addClass("inputted");}});$formMasks.find("select").each(function(){var $this=$(this),$label=$this.parent().find("label"),selectedIndex=$this.prop("selectedIndex");if(selectedIndex===-1||$this.val()===""){$label.removeClass("inputting inputted");}
else{$label.addClass("inputted");}});},InitFormInstantValidation:function($form){var $formMasks=$form.find("ul li p, ul li div");$formMasks.find("input.textbox, textarea.textarea, select.dropdown, input.checkbox, input.radiobutton, .radiobutton input, .checkbox input").on("change",function(){var $this=$(this);AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($this);});$form.find("input.radiobutton, .radiobutton input").on("click",function(){var $this=$(this).closest(".radiobutton");AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($this);});},InitFormButtons:function($form){$form.find(".button-container .clear-button").on("click",function(){AVL.RESPONSIVEFORM.CORE.UTILITIES.ClearLocalStorage($form);$(":input",$form).each(function(){if(!($(this).hasClass("no-reset")||$(this).parent().hasClass("no-reset"))){var type=this.type;var tag=this.tagName.toLowerCase();if(type==="text"||type==="password"||tag==="textarea"){this.value="";}else if(type==="checkbox"||type==="radio"){this.checked=false;}else if(tag==="select"){this.selectedIndex=0;$(this).trigger("update");}}});AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($form);return false;});}},DOM:{AddAlertBoxIcon:function($alertBox,iconClass){var hasIcon=$alertBox.find("i."+iconClass).length>0,iconElem="<i class='"+iconClass+"'></i>";if(!hasIcon){$alertBox.prepend(iconElem);}},ShowValidationMessage:function(e,$warning){e.preventDefault?e.preventDefault():e.returnValue=false;e.stopPropagation?e.stopPropagation():null;if($("#responsive-form-message").length===0){var formMessageModal="<div id='responsive-form-message' class='avlModal-container'><div class='avlModal-wrapper'><div class='avlModal-content'><p class='warning-message'></p></div></div></div>";if($("form").length===1){$("form").append(formMessageModal);}
else{$("body").append(formMessageModal);}}
if($(".error-override").is(":visible"))
$("#responsive-form-message").find(".avlModal-content p.warning-message").text($(".error-override").text());else
$("#responsive-form-message").find(".avlModal-content p.warning-message").text($warning.attr("title"));$.openModal({target:"#responsive-form-message",width:"300px"});setTimeout(function(){$(":focus").trigger("blur");});return false;},SetCountryRelatedInputStates:function($form,countryCode,forceRefresh){if(forceRefresh){$form.find(".dropdown").trigger("change");}
else{$form.find(".phone-format").text("");if(countryCode.toLowerCase()==="us"){$form.find(".txt-phone").find("[data-validation^='req-phone']").each(function(){var $this=$(this);$this.attr("title","Please enter your phone number with area code.");if($this.val()!==""){AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($this,$this.val(),true);}});$form.find(".phone-format").text("(xxx) xxx-xxxx");}}}},UTILITIES:{RemoveInputScriptTags:function($form){$($form.find("fieldset input[type='text']")).each(function(){$(this).val($(this).val().replace(/<|>/g,""));});},CapitalizeFirstLetter:function(string){var returnValue=string.toLowerCase();var split=returnValue.split(" ");for(var i=0,len=split.length;i<len;i++){split[i]=split[i].charAt(0).toUpperCase()+split[i].slice(1);}
returnValue=split.join(" ");return returnValue;},FocusNextFocusableEmptyInput:function($form,$input){var $focusables=$form.find(":focusable"),$emptyFocusables=$focusables.filter(function(){return $(this).val()==="";}),found=false;$emptyFocusables.each(function(){if(!found&&$focusables.index($(this))>$focusables.index($input)){$(this).trigger("focus");found=true;}});},SetFocusToCorrectInput:function($form){var $focusElem,debugFocusElement=false;if(localStorage["focus"]!=null&&localStorage["focus"].length>0){$focusElem=$("#"+localStorage["focus"]);if(debugFocusElement){console.log("focus to: localStorage");}}
else if($form.find(".focus").length>0){$focusElem=$form.find(".focus");if(debugFocusElement){console.log("focus to: .focus");}}
else if($(".avlModal").is(":visible")){$focusElem=$(".avlModal:visible").find("fieldset ul li p:first").find(".textbox, .textarea, .dropdown");if(debugFocusElement){console.log("focus to: visible modal");}}
else{$focusElem=$form.find(".responsive-form fieldset ul li p").first().find(".textbox, .textarea, .dropdown").not(".no-focus");if(debugFocusElement){console.log("focus to: first input");}}
setTimeout(function(){$focusElem.trigger("focus").val($focusElem.val());},10);},ProcessInputChange:function($mask,$input,value,validate){var initialInputValue=$input.val(),newInputValue=value;$input.val(newInputValue);if(validate&&initialInputValue!==newInputValue){$input.trigger("change");}
if(newInputValue===""){$mask.find("label").removeClass("inputted");}
else{$mask.find("label").addClass("inputted");}},VerifyAddress:function(addressLine1,addressLine2,city,state,zipCode){var addressXML="<address><addressline1>"+$("[id$='"+addressLine1+"']").val()+"</addressline1><addressline2>"+$("[id$='"+addressLine2+"']").val()
+"</addressline2><city>"+$("[id$='"+city+"']").val()+"</city><state>"+$("[id$='"+state+"']").val()+"</state><zip>"
+$("[id$='"+zipCode+"']").val()+"</zip></address>";var $parentForm=$("[id$='"+addressLine1+"']").closest(".responsive-form");$.ajax({type:"POST",url:"/SiteUtilities/AddressVerification.aspx",contentType:"text/xml",dataType:"text",data:addressXML,success:function(msg){var xmlDoc=$.parseXML(msg),$xml=$(xmlDoc),missingApt=$xml.find("ismissingaptnumber");if(missingApt!=null&&missingApt!==""){if(missingApt.text().toLowerCase()==="true"){$parentForm.find(".txt-addressline2 label em").text("(required)");$parentForm.find(".txt-addressline2 input[type='text']").attr("data-validation","req-field");}}}});},PrefixPhoneWithCountryCode:function($form,country,isInitialPageLoad,bypass){if(country!==""&&!bypass){var phoneCode="";$.ajax({type:"GET",url:"/MyAccount/CommonControls/ResponsiveForms/XML/country-codes.xml",dataType:"xml",success:function(xml){$(xml).find("country").each(function(){var code=$(this).attr("code");phoneCode=$(this).attr("phoneCode");if(country.toUpperCase()===code){var updatedPhone;var phoneInput=$form.find(".txt-phone .textbox").val();if(phoneCode==="1"||phoneInput!=="")
updatedPhone=phoneInput;else
updatedPhone="+"+phoneCode;if(!isInitialPageLoad){AVL.RESPONSIVEFORM.CORE.UTILITIES.ProcessInputChange($form.find(".txt-phone"),$form.find(".txt-phone .textbox"),updatedPhone,false);}
return false;}});}});}
AVL.RESPONSIVEFORM.CORE.NewFormContent=false;AVL.RESPONSIVEFORM.CORE.BypassPhoneCountryCode=typeof phoneOptional!=="undefined"?phoneOptional:false;},ReleaseLocalStorage:function($form){if(AVL.RESPONSIVEFORM.CORE.UseSisyphus){if($form.is("fieldset")){$form.sisyphus().manuallyReleaseData();}
else{$form.find("fieldset").each(function(){$(this).sisyphus().manuallyReleaseData();});}}},ClearLocalStorage:function($form){if(AVL.RESPONSIVEFORM.CORE.UseSisyphus){$form.find("fieldset").each(function(){$(this).sisyphus().manuallyReleaseData();});}
localStorage.removeItem("focus");AVL.RESPONSIVEFORM.CORE.UTILITIES.SetFocusToCorrectInput($form);AVL.RESPONSIVEFORM.VALIDATION.DOM.HideAllValidationResults($form);}}};$(document).ready(function(){AVL.RESPONSIVEFORM.CORE.INIT.Init();});(function($){$.fn.sisyphus=function(options){var identifier=$.map(this,function(obj,i){return $(obj).attr("id")+$(obj).attr("name");}).join();var sisyphus=Sisyphus.getInstance(identifier);if(options!==undefined){sisyphus.protect(this,options);}
return sisyphus;};var browserStorage={};browserStorage.isAvailable=function(){if(typeof $.jStorage==="object"){return true;}
try{return localStorage.getItem;}catch(e){return false;}};browserStorage.set=function(key,value){if(typeof $.jStorage==="object"){$.jStorage.set(key,value+"");}else{try{localStorage.setItem(key,value+"");}catch(e){}}};browserStorage.get=function(key){if(typeof $.jStorage==="object"){var result=$.jStorage.get(key);return result?result.toString():result;}else{return localStorage.getItem(key);}};browserStorage.remove=function(key){if(typeof $.jStorage==="object"){$.jStorage.deleteKey(key);}else{localStorage.removeItem(key);}};Sisyphus=(function(){var params={instantiated:[],started:[]};function init(){return{setInstanceIdentifier:function(identifier){this.identifier=identifier;},getInstanceIdentifier:function(){return this.identifier;},setInitialOptions:function(options){var defaults={excludeFields:[],includeFields:[],customKeySuffix:"",locationBased:false,timeout:0,autoRelease:true,onSave:function(){},onBeforeRestore:function(){},onRestore:function(){},onRelease:function(){}};this.options=this.options||$.extend(defaults,options);this.browserStorage=browserStorage;},setOptions:function(options){this.options=this.options||this.setInitialOptions(options);this.options=$.extend(this.options,options);},protect:function(targets,options){this.setOptions(options);targets=targets||{};var self=this;this.targets=this.targets||[];this.href=location.hostname+location.pathname+location.search+location.hash;this.targets=$.merge(this.targets,targets);this.targets=$.unique(this.targets);this.targets=$(this.targets);if(!this.browserStorage.isAvailable()){return false;}
var callback_result=self.options.onBeforeRestore.call(self);if(callback_result===undefined||callback_result){self.restoreAllData();}
if(this.options.autoRelease){self.bindReleaseData();}
if(!params.started[this.getInstanceIdentifier()]){if(self.isCKEditorPresent()){var intervalId=setInterval(function(){if(CKEDITOR.isLoaded){clearInterval(intervalId);self.bindSaveData();params.started[self.getInstanceIdentifier()]=true;}},100);}else{self.bindSaveData();params.started[self.getInstanceIdentifier()]=true;}}},isCKEditorPresent:function(){if(this.isCKEditorExists()){CKEDITOR.isLoaded=false;CKEDITOR.on("instanceReady",function(){CKEDITOR.isLoaded=true;});return true;}else{return false;}},isCKEditorExists:function(){return typeof CKEDITOR!="undefined";},findFieldsToProtect:function(target){return target.find(":input").not(":submit").not(":reset").not(":button").not(":file").not(":password").not(":disabled").not("[readonly]");},bindSaveData:function(){var self=this;if(self.options.timeout){self.saveDataByTimeout();}
self.targets.each(function(){var targetFormIdAndName=$(this).attr("id")+$(this).attr("name");self.findFieldsToProtect($(this)).each(function(){if($.inArray(this,self.options.excludeFields)!==-1&&$.inArray(this,self.options.includeFields)===-1){return true;}
var field=$(this);var prefix=self.options.customKeySuffix+field.attr("name");if(field.is(":text")||field.is("textarea")){if(!self.options.timeout){self.bindSaveDataImmediately(field,prefix);}}
self.bindSaveDataOnChange(field);});});},saveAllData:function(){var self=this;self.targets.each(function(){var targetFormIdAndName=$(this).attr("id")+$(this).attr("name");var multiCheckboxCache={};self.findFieldsToProtect($(this)).each(function(){var field=$(this);if(($.inArray(this,self.options.excludeFields)!==-1&&$.inArray(this,self.options.includeFields)===-1)||field.attr("name")===undefined){return true;}
var prefix=self.options.customKeySuffix+field.attr("name");var value=field.val();if(field.is(":checkbox")){if(field.attr("name").indexOf("[")!==-1){if(multiCheckboxCache[field.attr("name")]===true){return;}
value=[];$("[name='"+field.attr("name")+"']:checked").each(function(){value.push($(this).val());});multiCheckboxCache[field.attr("name")]=true;}else{value=field.is(":checked");}
self.saveToBrowserStorage(prefix,value,false);}else if(field.is(":radio")){if(field.is(":checked")){value=field.val();self.saveToBrowserStorage(prefix,value,false);}}else{if(self.isCKEditorExists()){var editor;if(editor=CKEDITOR.instances[field.attr("name")]||CKEDITOR.instances[field.attr("id")]){editor.updateElement();self.saveToBrowserStorage(prefix,field.val(),false);}else{self.saveToBrowserStorage(prefix,value,false);}}else{self.saveToBrowserStorage(prefix,value,false);}}});});self.options.onSave.call(self);},restoreAllData:function(){var self=this;var restored=false;self.targets.each(function(){var target=$(this);var targetFormIdAndName=$(this).attr("id")+$(this).attr("name");self.findFieldsToProtect(target).each(function(){if($.inArray(this,self.options.excludeFields)!==-1&&$.inArray(this,self.options.includeFields)===-1){return true;}
var field=$(this);var prefix=self.options.customKeySuffix+field.attr("name");var resque=self.browserStorage.get(prefix);if(resque!==null){self.restoreFieldsData(field,resque);restored=true;}});});if(restored){self.options.onRestore.call(self);}},restoreFieldsData:function(field,resque){if(field.attr("name")===undefined){return false;}
if(field.is(":checkbox")&&resque!=="false"&&field.attr("name").indexOf("[")===-1){field.prop("checked",true);}
else if(field.is(":checkbox")&&resque==="false"&&field.attr("name").indexOf("[")===-1){field.prop("checked",false);}
else if(field.is(":radio")){if(field.val()===resque){field.prop("checked",true);}}
else if(field.attr("name").indexOf("[")===-1){if(field.val()===""||field.attr("data-override-server")==="true"){field.val(resque);}}
else{resque=resque.split(",");field.val(resque);}},bindSaveDataImmediately:function(field,prefix){var self=this;if("onpropertychange"in field){field.get(0).onpropertychange=function(){self.saveToBrowserStorage(prefix,field.val());};}else{field.get(0).oninput=function(){self.saveToBrowserStorage(prefix,field.val());};}
if(this.isCKEditorExists()){var editor;if(editor=CKEDITOR.instances[field.attr("name")]||CKEDITOR.instances[field.attr("id")]){editor.document.on("keyup",function(){editor.updateElement();self.saveToBrowserStorage(prefix,field.val());});}}},saveToBrowserStorage:function(key,value,fireCallback){fireCallback=fireCallback===undefined?true:fireCallback;this.browserStorage.set(key,value);if(fireCallback&&value!==""){this.options.onSave.call(this);}},bindSaveDataOnChange:function(field){var self=this;field.on("change",function(){});},saveDataByTimeout:function(){var self=this;var targetForms=self.targets;setTimeout((function(){function timeout(){self.saveAllData();setTimeout(timeout,self.options.timeout*1000);}
return timeout;})(targetForms),self.options.timeout*1000);},bindReleaseData:function(){var self=this;self.targets.each(function(){var target=$(this);var formIdAndName=target.attr("id")+target.attr("name");$(this).on("submit reset",function(){self.releaseData(formIdAndName,self.findFieldsToProtect(target));});});},manuallyReleaseData:function(){var self=this;if(!!self.targets){self.targets.each(function(){var target=$(this);var formIdAndName=target.attr("id")+target.attr("name");self.releaseData(formIdAndName,self.findFieldsToProtect(target));});}},releaseData:function(targetFormIdAndName,fieldsToProtect){var released=false;var self=this;params.started[self.getInstanceIdentifier()]=false;fieldsToProtect.each(function(){if($.inArray(this,self.options.excludeFields)!==-1&&$.inArray(this,self.options.includeFields)===-1){return true;}
var field=$(this);var prefix=self.options.customKeySuffix+field.attr("name");self.browserStorage.remove(prefix);released=true;});if(released){self.options.onRelease.call(self);}}};}
return{getInstance:function(identifier){if(!params.instantiated[identifier]){params.instantiated[identifier]=init();params.instantiated[identifier].setInstanceIdentifier(identifier);params.instantiated[identifier].setInitialOptions();}
if(identifier){return params.instantiated[identifier];}
return params.instantiated[identifier];},free:function(){params={instantiated:[],started:[]};return null;},version:"1.1.107"};})();})(jQuery);;if(!window.console)console={log:function(){}};var AVL=AVL||{};AVL.RESPONSIVEFORM=AVL.RESPONSIVEFORM||{};AVL.RESPONSIVEFORM.VALIDATION={InstantValidationDebug:false,SubmitValidationDebug:false,ShowJSONAddressData:false,AddressCertified:false,HasInvalidTextWarning:false,IsZipCodeValid:true,IsZipCodeError:false,UnselectedCardType:"transparent",JsonCertifiedAddress:{addressline1:"",city:"",state:"",zipCode:"",country:""},DOM:{BuildAddressResultsModal:function(addressline1,resultType,addressInput,addressOutput){var addressModal="<div id='address-results' class='avlModal-container'><div class='avlModal-wrapper'><div class='avlModal-header'></div><div class='avlModal-content'></div></div><input type='hidden' name='addressCertified' id='addressCertified' value='false'/></div>";$("#address-results").remove();$("form").append(addressModal);var messageText;switch(resultType){case "none":messageText="We were unable to verify your address. Please choose one of the following options below to proceed:";$("#address-results").find(".avlModal-header").text("Address Not Found");$("#address-results").find(".avlModal-content").html("<h6>"+messageText+"</h6><p><a id='ar-change' data-addressline1='"+addressline1+"' href='#' title='Change the address'>Change the address</a></p><p><a id='ar-certify' data-addressline1='"+addressline1+"' href='#' title='Certify that the address you entered is the correct address'>Certify that the address is correct ( <em> "+addressInput+" </em> )</a></p>");break;case "single":break;case "multiple":var addressChoices="",messageText="We were unable to verify your address. Please choose one of the following options below to proceed:";$.each(addressOutput,function(index){addressChoices+="<p><a class='ar-choice' data-addressline1='"+addressline1+"' href='#' rel='"+index+"' title='Use this address'>"+addressOutput[index].fullAddress+"</a></p>";});$("#address-results").find(".avlModal-header").text("Choose Correct Address");$("#address-results").find(".avlModal-content").html("<h6>"+messageText+"</h6>"+addressChoices+"<p><a id='ar-change' data-addressline1='"+addressline1+"' href='#' title='Change the address'>Change the address</a></p><p><a id='ar-certify' data-addressline1='"+addressline1+"' href='#' title='Certify that the address you entered is the correct address'>Certify the address is correct - <em> "+addressInput+" </em></a></p>");$("#address-results").data("addresses",addressOutput);break;};$.openModal({target:"#address-results",width:"650px"});},ShowLoadingImage:function($mask,$input,$loadingImg){$loadingImg.show();$mask.removeClass("failed-validation");},MoveToFirstFailedInput:function(){if($(".failed-validation").length>0&&$(".failed-validation:first").closest("fieldset").length>0){$("#slideout-content").animate({scrollTop:($("#slideout-content").scrollTop()+$(".failed-validation:first").closest("fieldset").offset().top-10)},500)||$("html, body").animate({scrollTop:($(".failed-validation:first").closest("fieldset").offset().top-10)},500);$(".failed-validation:first input:not(.hasDatepicker), .failed-validation:first textarea, .failed-validation:first select").trigger("focus");}},HideAllValidationResults:function($form){var $formMasks=$form.find("ul li p, ul li div");$formMasks.each(function(){var $mask=$(this);AVL.RESPONSIVEFORM.VALIDATION.DOM.SetValidationClass($mask,false);AVL.RESPONSIVEFORM.VALIDATION.DOM.SetValidationMessage($mask,$mask.find("input.textbox:visible, textarea.textarea:visible, select.dropdown:visible, input.checkbox:visible, input.radiobutton:visible"),false,false);});},DisplayValidationResult:function($mask,$input,isFail,isFormSubmit){if($input.val()===""){$mask.find("label").removeClass("inputted");}
else{$mask.find("label").addClass("inputted");}
AVL.RESPONSIVEFORM.VALIDATION.DOM.SetValidationClass($mask,isFail);AVL.RESPONSIVEFORM.VALIDATION.DOM.SetValidationMessage($mask,$input,isFail,isFormSubmit);},SetValidationClass:function($mask,isFail){if(isFail){$mask.addClass("failed-validation");}
else{$mask.removeClass("failed-validation");}},SetValidationMessage:function($mask,$input,isFail,isFormSubmit){var warningId;if(typeof $input.attr("id")!==typeof undefined){var warningStringArray=$input.attr("id").split("_");warningId=warningStringArray[warningStringArray.length-2]+"_"+warningStringArray[warningStringArray.length-1]+"_warning";}else{warningId=$input.attr("id")+"_warning";}
var warningOverride=$mask.attr("data-warning-override"),warningMessage="",$warningCtrl=$('[id$="'+warningId+'"]');if($input.attr("data-validation")==="opt-addressline2"){warningMessage=AVL.RESPONSIVEFORM.VALIDATION.HasInvalidTextWarning?"Please provide valid apartment,suite or building number":(typeof warningOverride!=="undefined"&&warningOverride!==false)?warningOverride:$mask.attr("title")||false;}
else{warningMessage=(typeof warningOverride!=="undefined"&&warningOverride!==false)?warningOverride:$mask.attr("title")||false;}
$mask.find(".input-warning").attr("title",warningMessage);if(isFail&&warningMessage){var bypasslink="";if(($input.attr("data-validation")==="opt-addressline2"||$input.parent().attr("id")==="pAddressLine2")&&!AVL.RESPONSIVEFORM.VALIDATION.HasInvalidTextWarning){bypasslink=" <a href='#bypass-field' class='bypass-field-link' data-element-id='"+$input.attr("id")+"'>Click here if the value is correct.</a>";}
warningMessage+=bypasslink;if($warningCtrl.length===0&&(isFormSubmit||(AVL.RESPONSIVEFORM.VALIDATION.HasInvalidTextWarning&&$input.attr("data-validation")==="opt-addressline2"))){$mask.closest("fieldset").find(".warning-messages:first").append("<div id='"+warningId+"'>"+warningMessage+"</div>");}
else if($warningCtrl.length>0){$warningCtrl.html(warningMessage);}}
else{$warningCtrl.slideUp(200,function(){$(this).remove();});}},SetIconWarningMessage:function($mask){var $errorMessage=$mask.prop("title");if(!$mask.find("i.input-warning").length){$parent.append("<i class='input-status input-warning icon-attention' title='"+
$errorMessage+
"' onclick='return ShowValidationMessage(event, $(this));'></i>");}else{$($mask.find("i.input-warning")).attr("title",$errorMessage);}}},FUNCTIONS:{CheckInputValue:function($mask,$input,value,validationType,def,isFormSubmit){var $parentForm=$input.closest(".responsive-form");switch(validationType){case "req-field":if(!$input.is(":password")){value=value.replace(/<|>/g,"");$input.val(value);}
def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-selection":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNoSelection(value));break;case "req-checked":def.resolve(!$input.is(":checked"));break;case "req-checked-list":def.resolve(!$input.find("input:checked").length);break;case "req-price":if($input.hasClass("format-price")){value=value.replace(/[^.0-9]/g,"");$input.val("$"+parseFloat(value).toFixed(2));}
def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsPrice(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value));break;case "req-price-min":var enteredPriceText=value.replace(/[^.0-9]/g,""),enteredPrice=parseFloat(enteredPriceText),minPrice=$input.attr("data-minprice");if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(enteredPrice)){$input.val("$"+enteredPrice);}
def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(enteredPrice)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(enteredPrice)||enteredPrice<minPrice);break;case "req-price-range":var showDollar="$";if($input.hasClass("format-price")){value=value.replace(/[^.0-9]/g,"");$input.val("$"+parseFloat(value).toFixed(2));}
case "req-number-range":var isNumber=AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value),topPriceText=($input.closest(":has(.req-price-top)").find(".req-price-top").text()).replace(/[^.0-9]/g,""),topPrice=parseFloat(topPriceText),bottomPriceText=($input.closest(":has(.req-price-bottom)").find(".req-price-bottom").text()).replace(/[^.0-9]/g,""),bottomPrice=parseFloat(bottomPriceText),enteredPrice=parseFloat(value),dollar=showDollar||"",returnValue=false;if(value!=="N/A"&&(!isNumber||value<=0)){returnValue=true;$mask.attr("data-warning-override","Please enter a valid amount.");}else if(!isNaN(topPrice)&&topPrice<enteredPrice){returnValue=true;$mask.attr("data-warning-override","Please enter an amount less than or equal to "+dollar+topPrice+".");}else if(!isNaN(bottomPrice)&&bottomPrice>enteredPrice){returnValue=true;$mask.attr("data-warning-override","Please enter an amount more than "+dollar+bottomPrice+".");}
def.resolve(returnValue);break;case "req-customwidth-range":var minCustomWidth=0,maxCustomWidth=299,decimalPlaceCustomWidth=2;def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.ValidateRange($mask,value,minCustomWidth,maxCustomWidth,decimalPlaceCustomWidth,"custom trim width"));break;case "req-customheight-range":var minCustomHeight=0,maxCustomHeight=299,decimalPlaceCustomHeight=2;def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.ValidateRange($mask,value,minCustomHeight,maxCustomHeight,decimalPlaceCustomHeight,"custom trim height"));break;case "req-spinewidth-range":var minSpineWidth=0.25,maxSpineWidth=2,decimalPlaceSpineWidth=3;def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.ValidateRange($mask,value,minSpineWidth,maxSpineWidth,decimalPlaceSpineWidth,"spine width"));break;case "req-number":if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){$mask.removeAttr("data-warning-override");}else{$mask.attr("data-warning-override",$mask.attr("title")+" (Must be a valid number)");}
var minLength=$input.attr("minLength");if(minLength!==null&&$input.val().length<minLength){$mask.attr("data-warning-override",$mask.attr("title")+" (Must be a "+minLength+"-digit number)");def.resolve(true);}
if($input.hasClass("req-route")){var routingNumber=value;if(routingNumber!==""){$.ajax
({type:"POST",url:"/MyAccount/PaymentInformation.aspx/ValidateBankRoutingNumber",async:false,data:"{'routingNumber':'"+routingNumber+"'}",contentType:"application/json; charset=utf-8",dataType:"json",beforeSend:function(xhr){xhr.setRequestHeader("content-type","application/json; charset=utf-8");},success:function(msg){var bankName=msg.d;if(bankName==="Not Found"){$mask.attr("data-warning-override","Invalid routing number.");def.resolve(true);}}});}}
def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value));break;case "req-three":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||parseInt(value)<0||parseInt(value)>3);break;case "opt-number":def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)&&(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)));break;case "req-upc":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||(value.length!==11&&value.length!==12));break;case "opt-isbn":if(value===""){def.resolve(false);}
case "req-isbn":case "req-isbn-design":value=value.replace("-","");def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsISBN(value));if(validationType==="req-isbn-design"){$mask.attr("data-warning-override","Please enter a valid 13 digit ISBN code.");}
break;case "opt-phone":AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($input,value,false);def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsPhoneNumber(value)&&!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsInternationalPhoneNumber(value)&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-phone-us":AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($input,value,true);def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsUSPhoneNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "opt-phone-us":AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($input,value,false);def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsUSPhoneNumber(value)&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-phone-bycountry":AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($input,value,false);def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsPhoneNumberByCountry(value,AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.GetCountryCode($input))||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "opt-phone-bycountry":AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.FormatUSPhoneNumber($input,value,false);def.resolve(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsPhoneNumberByCountry(value,AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.GetCountryCode($input))&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-addressline1":case "opt-addressline1":var jsonCurrentAddress={addressline1:$parentForm.find(".txt-addressline1 .textbox").val(),city:$parentForm.find(".txt-city .textbox").val(),state:$parentForm.find(".dd-states .dropdown").val(),zipCode:$parentForm.find(".txt-zipcode .textbox").val(),country:$parentForm.find(".dd-country .dropdown").val()};if(validationType==="opt-addressline1"&&!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){def.resolve(false);}
else if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){def.resolve(true);}
else if(AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.CheckCertifiedAddressMatch(jsonCurrentAddress)){def.resolve(false);}
else{var countryCode=$parentForm.find(".dd-country .dropdown").val();if(countryCode==="US"&&AVL.RESPONSIVEFORM.VALIDATION.IsZipCodeValid&&isFormSubmit){var jsonData={testing:false,companyname:$parentForm.find(".txt-company .textbox").val(),addressline1:$parentForm.find(".txt-addressline1 .textbox").val(),addressline2:$parentForm.find(".txt-addressline2 .textbox").val(),city:$parentForm.find(".txt-city .textbox").val(),state:$parentForm.find(".dd-states .dropdown").val(),zipCode:$parentForm.find(".txt-zipcode .textbox").val(),country:$parentForm.find(".dd-country .dropdown").val()},addressString=$parentForm.find(".txt-addressline1 .textbox").val()+" "+$parentForm.find(".txt-addressline2 .textbox").val()+" "+$parentForm.find(".txt-city .textbox").val()+" "+$parentForm.find(".dd-states .dropdown").val()+" "+$parentForm.find(".txt-zipcode .textbox").val();if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(jsonData);}
$.ajax({url:"/MyAccount/CommonControls/ResponsiveForms/Handlers/UPSAddressValidationStreetLevel.ashx",type:"POST",data:JSON.stringify(jsonData),contentType:"application/json; charset=utf-8",dataType:"json",success:function(data){if(data!=undefined&&data.Response!=undefined){var dataResponse=data.Response,dataAddressKeyFormats=data.AddressKeyFormats;if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(data);}
if(dataResponse.ResponseStatusDescription==="Failure"){def.resolve(false);}
else{var bypassResultsModal=(typeof APPLICATION!="undefined"&&typeof APPLICATION.CHECKOUTPROCESS!="undefined"&&typeof APPLICATION.CHECKOUTPROCESS.CORE.BypassModal!="undefined"&&APPLICATION.CHECKOUTPROCESS.CORE.BypassModal);if(dataAddressKeyFormats.length===0){if(!bypassResultsModal&&$.trim(jsonData.addressline1)!==""&&$.trim(jsonData.city)!==""&&$.trim(jsonData.state)!==""&&$.trim(jsonData.zipCode)!==""){AVL.RESPONSIVEFORM.VALIDATION.DOM.BuildAddressResultsModal($parentForm.find(".txt-addressline1 .textbox").attr("id"),"none",addressString);}
def.resolve(true);}
else if(dataAddressKeyFormats.length===1&&!(/\d-\d/).test(dataAddressKeyFormats[0].AddressLine1)){$parentForm.find(".txt-addressline1 .textbox").val(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[0].AddressLine1)).trigger("change");if(dataAddressKeyFormats[0].AddressLine2!==""){$parentForm.find(".txt-addressline2 .textbox").val(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[0].AddressLine2)).trigger("change");}
$parentForm.find(".txt-city .textbox").val(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[0].PoliticalDivision2)).trigger("change");var stateDropdown=$parentForm.find(".dd-states .dropdown"),responseStateValue=dataAddressKeyFormats[0].PoliticalDivision1;if(stateDropdown.val()!==responseStateValue)
stateDropdown.val(responseStateValue).trigger("change");if(!AVL.RESPONSIVEFORM.VALIDATION.IsZipCodeError)
$parentForm.find(".txt-zipcode .textbox").val(dataAddressKeyFormats[0].PostcodePrimaryLow);$parentForm.find(".txt-zipcode label").addClass("inputted");$parentForm.find(".txt-city label").addClass("inputted");def.resolve(false);}
else{var fullAddresses=[],tempAddresses=[],distinctAddress=[],passingAddress=false;$.each(dataAddressKeyFormats,function(index,value){fullAddresses.push(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].AddressLine1)+", "+AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].PoliticalDivision2)+" "+dataAddressKeyFormats[index].PoliticalDivision1+" "+AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAddressKeyFormats[index].PostcodePrimaryLow));});$.each(fullAddresses,function(i,el){if($.inArray(el,tempAddresses)===-1){tempAddresses.push(el);dataAddressKeyFormats[i].fullAddress=fullAddresses[i];distinctAddress.push(dataAddressKeyFormats[i]);}});if(!bypassResultsModal){AVL.RESPONSIVEFORM.VALIDATION.DOM.BuildAddressResultsModal($parentForm.find(".txt-addressline1 .textbox").attr("id"),"multiple",addressString,distinctAddress);}
def.resolve(true);}}}},fail:function(data){$parentForm.find(".txt-city, .txt-state, .dd-states").find(".input-loading").hide();def.resolve(false);}});}
else{def.resolve(false);}}
break;case "opt-addressline2":var inputAddressLine2=$.trim($parentForm.find(".txt-addressline2 .textbox").val());if(/^[a-zA-Z0-9-#&. ]*$/.test(inputAddressLine2)===false){AVL.RESPONSIVEFORM.VALIDATION.HasInvalidTextWarning=true;def.resolve(true);}else{if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNonUSCountry($input)&&$("#bypassed-"+$input.attr("id")).length===0){var inAddressLine1=$.trim($parentForm.find(".txt-addressline1 .textbox").val()),inAddressLine2=$.trim($parentForm.find(".txt-addressline2 .textbox").val()),inCity=$.trim($parentForm.find(".txt-city .textbox").val()),useStateDD=$parentForm.find(".dd-states").css("display")!=="none",inState=useStateDD?$parentForm.find(".dd-states .dropdown").val():$.trim($parentForm.find(".txt-state .textbox").val()),inZip=$.trim($parentForm.find(".txt-zipcode .textbox").val());if(inAddressLine1!==""&&inCity!==""&&inState!==""&&inZip!==""){var addressXML="<address><addressline1>"+inAddressLine1+"</addressline1><addressline2>"+inAddressLine2+"</addressline2><city>"+inCity+"</city><state>"+inState+"</state><zip>"+inZip+"</zip></address>",$loadingImg=$input.parent().find(".input-loading"),isMissingApartment=false;AVL.RESPONSIVEFORM.VALIDATION.DOM.ShowLoadingImage($mask,$input,$loadingImg);$.ajax({type:"POST",url:"/SiteUtilities/AddressVerification.aspx",contentType:"text/xml",dataType:"text",data:addressXML,success:function(msg){$loadingImg.fadeOut(100,function(){var xmlDoc=$.parseXML(msg),$xml=$(xmlDoc),missingApt=$xml.find("ismissingaptnumber");if(missingApt!=null&&missingApt!==""){isMissingApartment=missingApt.text().toLowerCase()==="true";$parentForm.find(".txt-addressline2 label em").text(isMissingApartment?"(required)":"(if applicable)");if(isMissingApartment)
$parentForm.find(".txt-addressline2 input[type='text']").attr("data-validation","req-field");if(isMissingApartment){address2Flagged=true;}
def.resolve(isMissingApartment);}
else{def.resolve(false);}});},error:function(msg){$loadingImg.hide();def.resolve(false);}});}
else{def.resolve(false);}}
else{def.resolve(false);}
AVL.RESPONSIVEFORM.VALIDATION.HasInvalidTextWarning=false;}
break;case "req-zipcode":case "opt-zipcode":if(validationType==="opt-zipcode"&&!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){def.resolve(false);}
else if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||(/[\/\\\"?&.*:<>|@#%,]/g).test(value)){def.resolve(true);}
else{var countryCode=$parentForm.find(".dd-country .dropdown").val();if(countryCode==="US"){if(!isFormSubmit){$parentForm.find(".txt-city, .txt-state, .dd-states").find(".input-loading").show();}
var jsonData={testing:false,country:$parentForm.find(".dd-country .dropdown").val(),zipCode:value};if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(jsonData);}
$.ajax({url:"/MyAccount/CommonControls/ResponsiveForms/Handlers/UPSAddressValidationCityStateZIP.ashx",type:"POST",data:JSON.stringify(jsonData),contentType:"application/json; charset=utf-8",dataType:"json",success:function(data){if(data!=undefined&&data.Response!=undefined){var dataResponse=data.Response,dataAVResults=data.AddressValidationResults;if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(dataResponse);}
if(dataResponse.ResponseStatusDescription==="Failure"){if(!isFormSubmit){$parentForm.find(".txt-city, .txt-state, .dd-states").find(".input-loading").hide();}
if(dataResponse.ErrorCode==="101112"||dataResponse.ErrorCode==="20008"){AVL.RESPONSIVEFORM.VALIDATION.IsZipCodeValid=false;AVL.RESPONSIVEFORM.VALIDATION.IsZipCodeError=true;def.resolve(true);}
else{def.resolve(false);}}
else{if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){$.each(dataAVResults,function(index,value){console.log(dataAVResults[index]);});}
if(!isFormSubmit){$parentForm.find(".txt-state .input-loading, .dd-states .input-loading").fadeOut(100);$parentForm.find(".txt-city .input-loading").fadeOut(100,function(){if(dataAVResults.length>0){var upsState=dataAVResults[0].StateProvinceCode;AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".dd-states"),$parentForm.find(".dd-states .dropdown"),false,isFormSubmit);if(dataAVResults[0].City!==""){if(dataAVResults.length===1){$parentForm.find(".txt-city .textbox").val(AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAVResults[0].City));AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".txt-city"),$parentForm.find(".txt-city .textbox"),false,isFormSubmit);$parentForm.find(".txt-city .textbox").autocomplete({source:[]});}
else{var cities=new Array(),cityAlreadyPresent=false;$.each(dataAVResults,function(index,value){cities[index]=AVL.RESPONSIVEFORM.CORE.UTILITIES.CapitalizeFirstLetter(dataAVResults[index].City);if(dataAVResults[index].City.toLowerCase()===$.trim($parentForm.find(".txt-city .textbox").val()).toLowerCase()){cityAlreadyPresent=true;}});if(!cityAlreadyPresent){$parentForm.find(".txt-city .textbox").val("");$parentForm.find(".txt-city").find("label").removeClass("inputted");}
$parentForm.find(".txt-city .textbox").autocomplete({position:{my:"left top",at:"left bottom-1",of:$parentForm.find(".txt-city")},delay:0,source:cities,minLength:0,select:function(event,ui){var $this=$parentForm.find(".txt-city .textbox");$this.parent().find("label").addClass("inputted");AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".txt-city"),$parentForm.find(".txt-city .textbox"),false,isFormSubmit);},close:function(event,ui){$parentForm.find(".txt-city .textbox").trigger("change");}}).on("focus",function(){if($(this).hasClass("ui-autocomplete-input")){$(this).autocomplete("search","");}});}}
if($parentForm.find(".txt-state").length>0&&$parentForm.find(".txt-state").css("display")!=="none"){$parentForm.find(".txt-state .textbox").val(upsState);AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".txt-state"),$parentForm.find(".txt-state .textbox"),false,isFormSubmit);}
else{$parentForm.find(".dd-states select").val(upsState).trigger("change");AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($parentForm.find(".dd-states"),$parentForm.find(".dd-states .dropdown"),false,isFormSubmit);}
AVL.RESPONSIVEFORM.CORE.INIT.InitFormLabels($("#address-container"));def.resolve(false);}
else{def.resolve(true);}});}
else{def.resolve(false);}}}
else{if(AVL.RESPONSIVEFORM.VALIDATION.ShowJSONAddressData){console.log(data);}
if(!isFormSubmit){$parentForm.find(".txt-city, .txt-state, .dd-states").find(".input-loading").hide();}
def.resolve(false);}},fail:function(data){$parentForm.find(".txt-city, .txt-state, .dd-states").find(".input-loading").hide();def.resolve(false);}});}
else{def.resolve(false);}}
break;case "req-cvv":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||value.length<3||value.length>4);break;case "req-cvv2":var isAmex=!($("#amex").hasClass(AVL.RESPONSIVEFORM.VALIDATION.UnselectedCardType)),isVisa=!($("#visa").hasClass(AVL.RESPONSIVEFORM.VALIDATION.UnselectedCardType)),isMC=!($("#mastercard").hasClass(AVL.RESPONSIVEFORM.VALIDATION.UnselectedCardType)),isDiscover=!($("#discover").hasClass(AVL.RESPONSIVEFORM.VALIDATION.UnselectedCardType));if(isAmex){def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||value.length!==4);if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value)){$mask.attr("title","Please enter a valid cvv number.");}}else{if(isVisa||isMC||isDiscover){def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||value.length!==3);if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value)){$mask.attr("title","Please enter a valid cvv number.");}}}
break;case "req-cvv3":var cardType=$("#ccPaymentMode").val();var requiredCVVLength=cardType=="AMEX"?"4":"3";def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value)||!(requiredCVVLength==value.length));break;case "req-creditcard":value=value.replace(/ /g,"");def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsLuhnPass(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value));if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotZero(value)){$mask.attr("title","Please enter a valid credit card number.");}
break;case "req-email":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsEmailAddress(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "opt-multi-email":if(value===""){def.resolve(false);break;}
var isFail=false,emailList=value.split(","),n;if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(emailList)){for(n in emailList){var validEmail=AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsEmailAddress(emailList[n]);if(!validEmail){isFail=true;}
break;}}
def.resolve(isFail);break;case "req-email-newaccount":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsEmailAddress(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-ssn":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsSSN(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-url":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsURL(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "opt-date-mm-dd-yy":if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)&&!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Publish Date in this format (MM/DD/YYYY).");def.resolve(true);}
else if(new Date().setHours(0,0,0,0)>Date.parse(value)){$mask.attr("title","Publish date must be today's date or a date in the future.");def.resolve(true);}
else
def.resolve(false);break;case "req-date":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsDate(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-date-mm-dd-yy":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value));break;case "req-pod-availabledate-mm-dd-yy":if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Available Date in this format (MM/DD/YYYY).");def.resolve(true);}
else if(new Date(new Date().setDate(new Date().getDate()+56)).setHours(0,0,0,0)>Date.parse(value)){$mask.attr("title","We require that you make your book release date at least 8 weeks after you upload your book file to BookBaby.com.");def.resolve(true);}
else{def.resolve(false);}
break;case "req-available-date-mm-dd-yy":if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Available Date in this format (MM/DD/YYYY).");def.resolve(true);}
else if(new Date().setHours(0,0,0,0)>Date.parse(value)){$mask.attr("title","Available date must be today's date or a date in the future.");def.resolve(true);}
else{def.resolve(false);}
break;case "req-CouponEndDate-mm-dd-yy":var startDate=$("#coupon-modal [id$='txtStartDate'] ").val();var endDate=value;if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Expiration Date in this format (MM/DD/YYYY).");def.resolve(true);}
else if((new Date().setHours(0,0,0,0)>Date.parse(endDate))||(Date.parse(startDate)>Date.parse(endDate))){$mask.attr("title","Expiration date must be after the Start Date.");def.resolve(true);}
else{def.resolve(false);}
break;case "req-CouponStartDate-mm-dd-yy":var endDate=$("#coupon-modal [id$='txtEndDate'] ").val();var startDate=value;if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Start Date in this format (MM/DD/YYYY).");def.resolve(true);}
else if(new Date().setHours(0,0,0,0)>Date.parse(startDate)){$mask.attr("title","Start date should be today's date or a date in the future.");def.resolve(true);}
else if(Date.parse(startDate)>Date.parse(endDate)){$mask.attr("title","Expiration date must be after the Start Date.");def.resolve(true);}else{def.resolve(false);}
break;case "req-StartDateAddSeven-mm-dd-yy":if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsValidDate(value)){$mask.attr("title","Please enter the Start Date in this format (MM/DD/YYYY).");def.resolve(true);}
else{var allowedDate=new Date();allowedDate.setDate(new Date().getDate()+7);allowedDate.setHours(0,0,0);if(Date.parse(allowedDate)>Date.parse(value)){$mask.attr("title","Start date must be at least 7 days from today’s date.");def.resolve(true);}
else
def.resolve(false);}
break;case "req-expmonth":var $expYear=$parentForm.find("select[data-validation=req-expyear]"),hasMonth=AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value);if(hasMonth&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty($expYear.val())){AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($expYear);}
def.resolve(!hasMonth);break;case "req-expyear":var now=new Date(),nowMonth=now.getMonth()+1,nowYear=now.getFullYear(),expMonthString=$($parentForm.find("select[data-validation=req-expmonth]")[0]).val()||"12",expMonth=0,expYear=parseInt(value)||0;expMonth=(expMonthString[0]==="0")?parseInt(expMonthString[1]):parseInt(expMonthString);def.resolve((expYear<nowYear)||(expYear===nowYear&&expMonth<nowMonth));break;case "req-dateddl-gt":var gtDate=new Date(),gtDateparts=value.split("/"),ltDate=new Date(),ltDateparts=$parentForm.find("select[data-validation=req-dateddl-lt]").val().split("/");gtDate.setDate(parseInt(gtDateparts[0]));gtDate.setMonth((parseInt(gtDateparts[1])-1));gtDate.setYear(parseInt(gtDateparts[2]));ltDate.setDate(parseInt(ltDateparts[0]));ltDate.setMonth((parseInt(ltDateparts[1])-1));ltDate.setYear(parseInt(ltDateparts[2]));def.resolve(gtDate.getTime()<ltDate.getTime());break;case "req-password":case "req-password1":if(value.length===0){$mask.attr("title","Please enter a password.");}else if(value.length<8){$mask.attr("title","Your password must be at least 8 characters.");}else if(value.length>20){$mask.attr("title","Your password must be 20 characters or less.");}
var $passwordConfirmationField=$parentForm.find("input[data-validation=req-password2]");var passwordConfirmationValue=$passwordConfirmationField.val();if(passwordConfirmationValue!==""){AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateInput($passwordConfirmationField);}
def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||value.length<8||value.length>20);break;case "req-password2":var password1Val=$parentForm.find("input[data-validation=req-password1]").val();if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){def.resolve(true);}
else if(value!==password1Val){$mask.attr("title","The password and confirmation don't match.");def.resolve(true);}
else if(value.length<8){$mask.attr("title","Your confirming password must be at least 8 characters.");def.resolve(true);}
else if(value.length>20){$mask.attr("title","Your confirming password must be 20 characters or less.");def.resolve(true);}
else{def.resolve(false);}
break;case "req-coupon":var value=$input.val();var couponType=$("#coupon-modal [id$='rbCouponType'] input:checked").val();if(couponType==="1"){def.resolve(false);}else{if(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsAlphNumeric(value)&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){var couponTextRegex=/The coupon code you entered has already been used. Please enter a different code/i;$("[id$='btnValidateCoupon']").show();var warningDv=$input.attr("id")+"_warning";if(couponTextRegex.test($("#"+warningDv).html())){$mask.attr("title","The coupon code you entered has already been used. Please enter a different code.");(/./i.test($("#"+warningDv).html()))?def.resolve(false):def.resolve(true);}else{def.resolve(false);}}else{value!==""?$mask.attr("title","Special characters are not allowed."):$mask.attr("title","Please enter coupon code.");$("[id$='lblCouponCodeAvailable']").hide();def.resolve(true);}}
break;case "req-coupon-discount":var discountType=$("#coupon-modal [id$='rbDiscountType'] input:checked").val();var discountedInput=(discountType==="1")?$input.val().replace(/[$]/g,""):$input.val().replace(/[%]/g,"");isValid=true;if($.isNumeric(discountedInput)){var price=parseFloat($("#coupon-modal [id$='hfModalBookPrice']").val());var bookType=$("#coupon-modal [id$='hfModalBookType']").val();def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ValidateCoupondiscount(discountType,bookType,discountedInput,price,$mask));}else{$mask.attr("title",discountType===undefined?"Please select the discount type first.":"Please enter a valid discount amount.");def.resolve(true);}
break;case "req-budget":var enteredBudget=value.replace(/[^.0-9]/g,""),enteredWeek=$('[id$="txtNumWeeks"]').val().replace(/[^.0-9]/g,""),$budgetLabel=$('[id$="spEnteredBudget"]');var isInvalidBudget=!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(enteredBudget)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(enteredBudget)||enteredBudget<100;var budgetRoundDown=AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.GetRoundDownBudget(enteredBudget),allowedWeek=budgetRoundDown/100;if(isInvalidBudget){$mask.attr("title",budgetRoundDown===0?"The budget you have entered does not meet the minimum of $100 per week.":"Please enter an integer that meets the minimum budget.");$budgetLabel.text(enteredBudget!==""?"The budget you have entered does not meet the minimum of $100 per week.":"");def.resolve(true);}
else{$('[id$="txtBudget"]').val("$"+enteredBudget);var $mask=$('[id$="txtNumWeeks"]').parent("p"),$warningMessageCtrl=$('[id$="txtNumWeeks_warning"]');if(enteredWeek!==""&&(enteredWeek>allowedWeek||enteredWeek==="0")){var errorMessage=allowedWeek===1?"Please enter 1 week":"Please enter number of weeks between 1 – "+allowedWeek;errorMessage+=" or increase your budget.";$mask.attr("title",errorMessage);if(!$mask.find("i.input-warning").length){$mask.append("<i class='input-status input-warning icon-attention' title='"+
errorMessage+
"' onclick='ShowValidationMessage(event, $(this));'></i>");}
else
$mask.find("i.input-warning").attr("title",errorMessage);$mask.addClass("failed-validation");$warningMessageCtrl.text(errorMessage);}
else if(enteredWeek!==""){$mask.attr("title","");$mask.removeClass("failed-validation");if($warningMessageCtrl.length>0)
$warningMessageCtrl.text("");}
AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.ShowBudgetLabel(budgetRoundDown,allowedWeek,allowedWeek,$budgetLabel);def.resolve(false);}
break;case "req-budget-per-week":var enteredWeek=value.replace(/[^.0-9]/g,""),enteredBudget=$('[id$="txtBudget"]').val().replace(/[^.0-9]/g,""),isValidBudget=false,errorMessage="",budgetRoundDown=AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.GetRoundDownBudget(enteredBudget),isValidWeekAndBudget=$.isNumeric(enteredWeek)&&$.isNumeric(enteredBudget)&&budgetRoundDown!=="0",allowedMaxWeek=budgetRoundDown/100;if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsWholeNumber(enteredWeek)){errorMessage="Please enter a valid integer.";$mask.attr("title",errorMessage);$('[id$="input-warning"]').attr("title",errorMessage);isValidWeekAndBudget=false;def.resolve(true);break;}
$("[id$='txtNumWeeks']").val(enteredWeek);if((enteredWeek!==""&&enteredWeek!=="0")&&enteredBudget===""||budgetRoundDown===0){def.resolve(false);break;}
if(isValidWeekAndBudget){isValidBudget=parseInt(enteredWeek)>=1?(budgetRoundDown/enteredWeek)>=100:false;if(!isValidBudget){errorMessage=allowedMaxWeek===1?"Please enter 1 week":"Please enter number of weeks between 1 – "+budgetRoundDown/100;errorMessage+=" or increase your budget.";$mask.attr("title",errorMessage);$('[id$="input-warning"]').attr("title",errorMessage);}
else{$mask.attr("title","");}}
else
$mask.attr("title","Please enter the week in the correct format.");def.resolve(!isValidWeekAndBudget||!isValidBudget);break;case "req-albumname":case "req-artistname":case "req-volumename":case "req-tracktitle":case "req-urlpage":case "req-cdtext":var illegalChars=validationType==="req-volumename"||validationType==="req-urlpage"?/[\[\]\/\\\"~'&^$!}{\;()?.*+=:<>| @#%,]/g:/[\/\\\*:<>|@#%]/g;value=$input.val().replace(/[^\x00-\x7F]/g,"");value=value.replace(illegalChars,"");$input.val(value);$input.closest("fieldset").sisyphus().saveAllData();if(isFormSubmit){def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value.trim()));}else{def.resolve(false);}
break;case "opt-isrc":if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)){def.resolve(false);break;}
case "req-isrc":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!/^[a-zA-Z]{2}(-?)[0-9a-zA-Z]{3}(-?)\d{2}(-?)\d{5}$/.test(value));break;case "req-search":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||value.trim().toLowerCase()==="search");break;case "req-youtubelink":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!(/^(http(s?)\:\/\/)?(www\.)?((youtube\.com\/watch\?v=)|(youtu.be\/))([a-zA-Z0-9\-_]){11}/).test(value.toLowerCase()));break;case "req-youtubechannel":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!(/((http|https):\/\/|)(www\.|)youtube\.com\/(channel\/|user\/|c\/)[a-zA-Z0-9_\-]{1,}$/).test(value.toLowerCase()));break;case "req-partnerlink":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "req-fullname":def.resolve(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!value.trim().includes(' '));break;default:def.resolve(false);break;}
return def.promise();},CheckCertifiedAddressMatch:function(jsonCurrentAddress){if(!AVL.RESPONSIVEFORM.VALIDATION.AddressCertified||AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.addressline1!==$.trim(jsonCurrentAddress.addressline1)||AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.city!==$.trim(jsonCurrentAddress.city)||AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.zipCode!==$.trim(jsonCurrentAddress.zipCode)||AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.state!==$.trim(jsonCurrentAddress.state)||AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.country!==$.trim(jsonCurrentAddress.country)){AVL.RESPONSIVEFORM.VALIDATION.AddressCertified=false;$("#address-results").find("#addressCertified").val("false");AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.addressline1=$.trim(jsonCurrentAddress.addressline1);AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.city=$.trim(jsonCurrentAddress.city);AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.zipCode=$.trim(jsonCurrentAddress.zipCode);AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.state=$.trim(jsonCurrentAddress.state);AVL.RESPONSIVEFORM.VALIDATION.JsonCertifiedAddress.country=$.trim(jsonCurrentAddress.country);return false;}
return true;},ValidateInput:function($input){var $mask=$input.closest("p, div.radio-mask, div.textbox-mask"),value=$.trim($input.val()),validationType=$input.attr("data-validation")||$input.parent().attr("data-validation"),def=new $.Deferred();$.when(AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.CheckInputValue($mask,$input,value,validationType,def,false)).done(function(isFail){AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($mask,$input,isFail,false);if(AVL.RESPONSIVEFORM.VALIDATION.InstantValidationDebug){console.log("input: "+$input.attr("id")+"\r\n"+"value: '"+value+"'\r\n"+"fail: "+isFail);}});},GetProjectedProceed:function(price,input,bookType,discountType){var projectedValue;var discount=(discountType==="1")?input:(input*price)/100;var minCut=(bookType==="Print")?(50*price)/100:(15*price)/100;projectedValue=price-discount;projectedValue=projectedValue-minCut;return projectedValue>0?projectedValue.toFixed(2):(0).toFixed(2);},ValidateCoupondiscount:function(discountType,bookType,discountedInput,price,$mask){var isValid=true;$mask.attr("title","");if($.isNumeric(discountedInput)){$("#coupon-modal [id$='projected-amount']").text("");switch(discountType){case "1":if(bookType==="eBook"){if(discountedInput>(price*85)/100&&discountedInput!=price){$mask.attr("title","The maximum allowable discount for an eBook is up to 85% or 100% of the book price [$"+price+"].");isValid=false;}}else{if(discountedInput>price/2){$mask.attr("title","The maximum allowable discount for a print book is half of the book price [$"+price+"].");isValid=false;}}
break;case "2":if(bookType==="eBook"){if(parseFloat(discountedInput)!==100){if(parseFloat(discountedInput)>85){$mask.attr("title","The maximum allowable discount for an eBook is up to 85% or 100% of the book price [$"+price+"].");isValid=false;}}}else{if((price*discountedInput)/100>price/2){$mask.attr("title","The maximum allowable discount for a print book is 50% of the price [$"+price+"].");isValid=false;}}
break;case undefined:$mask.attr("title","Please select the discount type first.");isValid=false;break;}
$("#coupon-modal [id$='projected-amount']").text(isValid?"Projected Proceeds: $"+AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.GetProjectedProceed(price,discountedInput,bookType,discountType):"");}else{$mask.attr("title","Please enter a valid discount amount.");isValid=false;}
if(!isValid){AVL.RESPONSIVEFORM.VALIDATION.DOM.SetIconWarningMessage($mask);}
return isValid;},ShowBudgetLabel:function(budget,week,allowedBudget,spanEnteredBudget){var isValidBudget=(budget/week)>=100;spanEnteredBudget.text(isValidBudget?"The budget you have entered will allow for 1 "+
(allowedBudget===1?"week":"- "+allowedBudget+" weeks")+
" of advertising":"");},GetRoundDownBudget:function(budget){var budgetRoundDown=(budget%100)!==0?budget-(budget%100):budget;return budgetRoundDown;}},POSTBACKS:{ValidateInputs:function(e,$formContainers,passToFunction){var callingButton=e.target||e.srcElement,$callingButton=$(callingButton),deferreds=[],returnValue=true,submitText=($callingButton.attr("data-submit-text")==undefined)?"Submitting...":$callingButton.attr("data-submit-text"),scrollForm=($callingButton.attr("data-submit-scrollform")==undefined)?true:$callingButton.attr("data-submit-scrollform");if($callingButton.data("validated")==="true"){return true;}
if($callingButton.data("original")==undefined){$callingButton.data("original",$callingButton.val());}
$callingButton.val(submitText).prop("disabled",true);$formContainers.addClass("invalid-form");$formContainers.each(function(){var currentContainer=$(this);AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.RemoveHazardousStrings($formContainers);$(currentContainer).find("input.textbox:visible, textarea.textarea:visible, select.dropdown:visible, input.checkbox:visible, .checkbox input:visible, .radiobutton:visible").each(function(){var $input=$(this),$mask=$input.closest("p, div.radio-mask, div.textbox-mask"),value=$.trim($input.val()),validationType=$input.attr("data-validation")||$input.parent().attr("data-validation"),def=new $.Deferred();deferreds.push(def);$.when(AVL.RESPONSIVEFORM.VALIDATION.FUNCTIONS.CheckInputValue($mask,$input,value,validationType,def,true)).done(function(isFail){if(isFail){returnValue=false;}
AVL.RESPONSIVEFORM.VALIDATION.DOM.DisplayValidationResult($mask,$input,isFail,true);if(AVL.RESPONSIVEFORM.VALIDATION.SubmitValidationDebug){console.log($input.attr("id").split("_").pop()+"("+$input.val()+") - fail: "+isFail);}});});});$.when.apply(null,deferreds).done(function(){$callingButton.val($callingButton.data("original")).prop("disabled",false);if(!returnValue){if(scrollForm===true)
AVL.RESPONSIVEFORM.VALIDATION.DOM.MoveToFirstFailedInput();}
else if(passToFunction!=null){AVL.RESPONSIVEFORM.CORE.UTILITIES.ReleaseLocalStorage($(".responsive-form"));localStorage.removeItem("focus");passToFunction.apply($callingButton[0]);}
else{$callingButton.val(submitText).data("validated","true");AVL.RESPONSIVEFORM.CORE.UTILITIES.ReleaseLocalStorage($(".responsive-form"));localStorage.removeItem("focus");callingButton.onclick=null;setTimeout(function(){$callingButton.trigger("click");if($callingButton.attr("data-submit-disable")=="true")
$callingButton.prop("disabled",true);},1);}
if(AVL.RESPONSIVEFORM.VALIDATION.SubmitValidationDebug){console.log("Form sumbit validated: "+returnValue);}});return false;}},UTILITIES:{FormatUSPhoneNumber:function($input,value,bypass){value=value.replace(/["'()-]/g,"");value=value.replace(/ /g,"");value=value.replace(/(\d{3})(\d{3})(\d{4})/,"($1) $2-$3");if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNonUSCountry($input)||bypass){$input.val(value);}},GetCountryCode:function($input){var returnValue="",countryDd=$input.closest(".responsive-form").find(".dd-country select:visible");if(countryDd.length>0&&countryDd.val()){returnValue=countryDd.val().toLowerCase();}
return returnValue;},ValidateRange:function($mask,value,minValue,maxValue,decimalLimit,errorField){var isNumber=AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNumber(value),enteredInputValue=value.replace(/[^.0-9]/g,""),inputValue=parseFloat(enteredInputValue),match=(""+value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/),decimalPlace,returnValue=false;decimalPlace=Math.max(0,(match[1]?match[1].length:0)
-(match[2]?+match[2]:0));if(value===""||(!isNumber||inputValue<=0)){returnValue=true;$mask.attr("data-warning-override","Please enter a valid "+errorField+".");}
else if((inputValue<minValue)||inputValue>maxValue){returnValue=true;$mask.attr("data-warning-override","Please enter a valid "+errorField+".");}else{if(decimalPlace>decimalLimit){returnValue=true;$mask.attr("data-warning-override","Please enter a "+errorField+" of up to "+decimalLimit+" decimal places.");}}
return returnValue;},RemoveHazardousStrings:function($formContainers){$formContainers.find("input.textbox, textarea.textarea").each(function(){$(this).val(AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.SanitizeValue($(this).val()));});},SanitizeValue:function(value){return value.replace(/\< /g,"\<").replace(/\</g,"< ").replace(/\&\#/g,"& #");},IsAlphNumeric:function(value){return!(/[^A-Za-z0-9]/.test(value));},IsNoSelection:function(value){return value!=="0"&&AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value);},IsNotZero:function(value){return value>0;},IsNotEmpty:function(value){return value!=="";},IsNotAvailable:function(value){return value!=="N/A";},IsNumber:function(value){return!isNaN(value);},IsWholeNumber:function(value){return /^\d+$/.test(value);},IsPrice:function(value){return /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},IsISBN:function(value){return(/^(979|978)\d{10}$/i.test(value));},IsPhoneNumber:function(value){return /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/i.test(value);},IsUSPhoneNumber:function(value){var phoneNumber=value.replace(/["'()-]/g,"");phoneNumber=phoneNumber.replace(/ /g,"");return(/^[0-9]{1,11}$/.test(+phoneNumber)&&(phoneNumber.length===10||phoneNumber.length===11));},IsPhoneNumberByCountry:function(value,countryCode){var returnValue=false;switch(countryCode){case "us":returnValue=(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsUSPhoneNumber(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value));break;case "ca":case "ant":case "bar":case "bah":case "angu":case "brv":case "cay":case "ber":case "gren":case "tc":case "mons":case "guam":case "stm":case "stl":case "domi":case "stv":case "pr":case "do":case "tri":case "stk":case "jam":returnValue=!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsPhoneNumber(value);break;default:returnValue=!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsInternationalPhoneNumber(value);break;}
return returnValue;},IsInternationalPhoneNumber:function(value){return /^(\+)?[0-9\-().\s]{7,15}$/i.test(value);},IsNonUSCountry:function($input){var countryCode=AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.GetCountryCode($input);return(countryCode!=="us");},IsEmailAddress:function(value){return /^[^@\s]{1,}@[^@\s]{1,}\.[^@\s]{1,}$/i.test(value);},IsLuhnPass:function(value){var passLuhn=true;if(/[^0-9-]+/.test(value)){passLuhn=false;}
else{var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9;}}
nCheck+=nDigit;bEven=!bEven;}
return((nCheck%10)===0)?true:false;}},IsSSN:function(value){return /^(?!000)([0-9]\d{2}|7([0-9]\d|7[012]))([ -]?)(?!00)\d\d\3(?!0000)\d{4}$/i.test(value);},IsURL:function(value){return /^(https?):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},IsDate:function(value){return!/Invalid|NaN/.test(new Date(value));},IsValidDate:function(value){if(!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsNotEmpty(value)||!AVL.RESPONSIVEFORM.VALIDATION.UTILITIES.IsDateMMDDYY(value))
return false;var dateArray=value.split("/"),year=parseInt(dateArray[2],10),month=parseInt(dateArray[0],10)-1,day=parseInt(dateArray[1],10),date=new Date(year,month,day);return date.getFullYear()===year&&date.getMonth()===month&&date.getDate()===day;},IsDateMMDDYY:function(value){return /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$/i.test(value);}}};;/*!
* jquery.customSelect() - v0.4.1
* http://adam.co/lab/jquery/customselect/
* 2013-05-13
*
* Copyright 2013 Adam Coulombe
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @license http://www.gnu.org/licenses/gpl.html GPL2 License
*/(function($){'use strict';$.fn.extend({customSelect:function(options){if(typeof document.body.style.maxHeight==='undefined'){return this;}
var defaults={customClass:'customSelect',mapClass:true,mapStyle:true},options=$.extend(defaults,options),prefix=options.customClass,changed=function($select,customSelectSpan){var currentSelected=$select.find(':selected'),customSelectSpanInner=customSelectSpan.children(':first'),html=currentSelected.html()||'&nbsp;';customSelectSpanInner.html(html);if(currentSelected.attr('disabled')){customSelectSpan.addClass(getClass('DisabledOption'));}else{customSelectSpan.removeClass(getClass('DisabledOption'));}
setTimeout(function(){customSelectSpan.removeClass(getClass('Open'));$(document).off('mouseup.'+getClass('Open'));},60);},getClass=function(suffix){return prefix+suffix;};return this.each(function(){var $select=$(this),customSelectInnerSpan=$('<span />').addClass(getClass('Inner')),customSelectSpan=$('<span />');if(!$select.hasClass('hasCustomSelect')){$select.after(customSelectSpan.append(customSelectInnerSpan));customSelectSpan.addClass(prefix);if(options.mapClass){customSelectSpan.addClass($select.attr('class'));}
if(options.mapStyle){customSelectSpan.attr('style',$select.attr('style'));}
$select.addClass('hasCustomSelect').on('update',function(){changed($select,customSelectSpan);var selectBoxWidth=parseInt($select.outerWidth(),10)-
(parseInt(customSelectSpan.outerWidth(),10)-
parseInt(customSelectSpan.width(),10));customSelectSpan.css({display:'inline-block'});var selectBoxHeight=customSelectSpan.outerHeight();if($select.attr('disabled')){customSelectSpan.addClass(getClass('Disabled'));}else{customSelectSpan.removeClass(getClass('Disabled'));}
customSelectInnerSpan.css({'padding-right':'30px',display:'inline-block'});$select.css({'-webkit-appearance':'menulist-button',width:"100%",position:'absolute',opacity:0,zIndex:"3",height:$select.closest("p").height()===0?"25px":$select.closest("p").height(),fontSize:customSelectSpan.css('font-size')});}).on('change',function(){customSelectSpan.addClass(getClass('Changed'));changed($select,customSelectSpan);}).on('keyup',function(e){if(!customSelectSpan.hasClass(getClass('Open'))){$select.trigger("blur");$select.trigger("focus");}else{if(e.which==13||e.which==27){changed($select,customSelectSpan);}}}).on('mousedown',function(e){customSelectSpan.removeClass(getClass('Changed'));}).on('mouseup',function(e){if(!customSelectSpan.hasClass(getClass('Open'))){if($('.'+getClass('Open')).not(customSelectSpan).length>0&&typeof InstallTrigger!=='undefined'){$select.trigger("focus");}else{customSelectSpan.addClass(getClass('Open'));e.stopPropagation();$(document).one('mouseup.'+getClass('Open'),function(e){if(e.target!=$select.get(0)&&$.inArray(e.target,$select.find('*').get())<0){$select.trigger("blur");}else{changed($select,customSelectSpan);}});}}}).on("focus",function(){customSelectSpan.removeClass(getClass('Changed')).addClass(getClass('Focus'));}).on("blur",function(){customSelectSpan.removeClass(getClass('Focus')+' '+getClass('Open'));}).on("mouseenter",function(){customSelectSpan.addClass(getClass('Hover'));}).on("mouseleave",function(){customSelectSpan.removeClass(getClass('Hover'));}).trigger('update');}});}});})(jQuery);;(function(w){var heatmapFactory=(function(){var store=function store(hmap){var _={data:[],heatmap:hmap};this.max=1;this.get=function(key){return _[key];};this.set=function(key,value){_[key]=value;};}
store.prototype={addDataPoint:function(x,y){if(x<0||y<0)
return;var me=this,heatmap=me.get("heatmap"),data=me.get("data");if(!data[x])
data[x]=[];if(!data[x][y])
data[x][y]=0;data[x][y]+=(arguments.length<3)?1:arguments[2];me.set("data",data);if(me.max<data[x][y]){heatmap.get("actx").clearRect(0,0,heatmap.get("width"),heatmap.get("height"));me.setDataSet({max:data[x][y],data:data},true);return;}
heatmap.drawAlpha(x,y,data[x][y],true);},setDataSet:function(obj,internal){var me=this,heatmap=me.get("heatmap"),data=[],d=obj.data,dlen=d.length;heatmap.clear();this.max=obj.max;heatmap.get("legend")&&heatmap.get("legend").update(obj.max);if(internal!=null&&internal){for(var one in d){if(one===undefined)
continue;for(var two in d[one]){if(two===undefined)
continue;heatmap.drawAlpha(one,two,d[one][two],false);}}}else{while(dlen--){var point=d[dlen];heatmap.drawAlpha(point.x,point.y,point.count,false);if(!data[point.x])
data[point.x]=[];if(!data[point.x][point.y])
data[point.x][point.y]=0;data[point.x][point.y]=point.count;}}
heatmap.colorize();this.set("data",d);},exportDataSet:function(){var me=this,data=me.get("data"),exportData=[];for(var one in data){if(one===undefined)
continue;for(var two in data[one]){if(two===undefined)
continue;exportData.push({x:parseInt(one,10),y:parseInt(two,10),count:data[one][two]});}}
return{max:me.max,data:exportData};},generateRandomDataSet:function(points){var heatmap=this.get("heatmap"),w=heatmap.get("width"),h=heatmap.get("height");var randomset={},max=Math.floor(Math.random()*1000+1);randomset.max=max;var data=[];while(points--){data.push({x:Math.floor(Math.random()*w+1),y:Math.floor(Math.random()*h+1),count:Math.floor(Math.random()*max+1)});}
randomset.data=data;this.setDataSet(randomset);}};var legend=function legend(config){this.config=config;var _={element:null,labelsEl:null,gradientCfg:null,ctx:null};this.get=function(key){return _[key];};this.set=function(key,value){_[key]=value;};this.init();};legend.prototype={init:function(){var me=this,config=me.config,title=config.title||"Legend",position=config.position,offset=config.offset||10,gconfig=config.gradient,labelsEl=document.createElement("ul"),labelsHtml="",grad,element,gradient,positionCss="";me.processGradientObject();if(position.indexOf('t')>-1){positionCss+='top:'+offset+'px;';}else{positionCss+='bottom:'+offset+'px;';}
if(position.indexOf('l')>-1){positionCss+='left:'+offset+'px;';}else{positionCss+='right:'+offset+'px;';}
element=document.createElement("div");element.style.cssText="border-radius:5px;position:absolute;"+positionCss+"font-family:Helvetica; width:256px;z-index:10000000000; background:rgba(255,255,255,1);padding:10px;border:1px solid black;margin:0;";element.innerHTML="<h3 style='padding:0;margin:0;text-align:center;font-size:16px;'>"+title+"</h3>";labelsEl.style.cssText="position:relative;font-size:12px;display:block;list-style:none;list-style-type:none;margin:0;height:15px;";gradient=document.createElement("div");gradient.style.cssText=["position:relative;display:block;width:256px;height:15px;border-bottom:1px solid black; background-image:url(",me.createGradientImage(),");"].join("");element.appendChild(labelsEl);element.appendChild(gradient);me.set("element",element);me.set("labelsEl",labelsEl);me.update(1);},processGradientObject:function(){var me=this,gradientConfig=this.config.gradient,gradientArr=[];for(var key in gradientConfig){if(gradientConfig.hasOwnProperty(key)){gradientArr.push({stop:key,value:gradientConfig[key]});}}
gradientArr.sort(function(a,b){return(a.stop-b.stop);});gradientArr.unshift({stop:0,value:'rgba(0,0,0,0)'});me.set("gradientArr",gradientArr);},createGradientImage:function(){var me=this,gradArr=me.get("gradientArr"),length=gradArr.length,canvas=document.createElement("canvas"),ctx=canvas.getContext("2d"),grad;canvas.width="256";canvas.height="15";grad=ctx.createLinearGradient(0,5,256,10);for(var i=0;i<length;i++){grad.addColorStop(1/(length-1)*i,gradArr[i].value);}
ctx.fillStyle=grad;ctx.fillRect(0,5,256,10);ctx.strokeStyle="black";ctx.beginPath();for(var i=0;i<length;i++){ctx.moveTo(((1/(length-1)*i*256)>>0)+.5,0);ctx.lineTo(((1/(length-1)*i*256)>>0)+.5,(i==0)?15:5);}
ctx.moveTo(255.5,0);ctx.lineTo(255.5,15);ctx.moveTo(255.5,4.5);ctx.lineTo(0,4.5);ctx.stroke();me.set("ctx",ctx);return canvas.toDataURL();},getElement:function(){return this.get("element");},update:function(max){var me=this,gradient=me.get("gradientArr"),ctx=me.get("ctx"),labels=me.get("labelsEl"),labelText,labelsHtml="",offset;for(var i=0;i<gradient.length;i++){labelText=max*gradient[i].stop>>0;offset=(ctx.measureText(labelText).width/2)>>0;if(i==0){offset=0;}
if(i==gradient.length-1){offset*=2;}
labelsHtml+='<li style="position:absolute;left:'+(((((1/(gradient.length-1)*i*256)||0))>>0)-offset+.5)+'px">'+labelText+'</li>';}
labels.innerHTML=labelsHtml;}};var heatmap=function heatmap(config){var _={radius:40,element:{},canvas:{},acanvas:{},ctx:{},actx:{},legend:null,visible:true,width:0,height:0,max:false,gradient:false,opacity:180,premultiplyAlpha:false,bounds:{l:1000,r:0,t:1000,b:0},debug:false};this.store=new store(this);this.get=function(key){return _[key];};this.set=function(key,value){_[key]=value;};this.configure(config);this.init();};heatmap.prototype={configure:function(config){var me=this,rout,rin;me.set("radius",config["radius"]||40);me.set("element",(config.element instanceof Object)?config.element:document.getElementById(config.element));me.set("visible",(config.visible!=null)?config.visible:true);me.set("max",config.max||false);me.set("gradient",config.gradient||{0.45:"rgb(0,0,255)",0.55:"rgb(0,255,255)",0.65:"rgb(0,255,0)",0.95:"yellow",1.0:"rgb(255,0,0)"});me.set("opacity",parseInt(255/(100/config.opacity),10)||180);me.set("width",config.width||0);me.set("height",config.height||0);me.set("debug",config.debug);if(config.legend){var legendCfg=config.legend;legendCfg.gradient=me.get("gradient");me.set("legend",new legend(legendCfg));}},resize:function(){var me=this,element=me.get("element"),canvas=me.get("canvas"),acanvas=me.get("acanvas");canvas.width=acanvas.width=me.get("width")||element.style.width.replace(/px/,"")||me.getWidth(element);this.set("width",canvas.width);canvas.height=acanvas.height=me.get("height")||element.style.height.replace(/px/,"")||me.getHeight(element);this.set("height",canvas.height);},init:function(){var me=this,canvas=document.createElement("canvas"),acanvas=document.createElement("canvas"),ctx=canvas.getContext("2d"),actx=acanvas.getContext("2d"),element=me.get("element");me.initColorPalette();me.set("canvas",canvas);me.set("ctx",ctx);me.set("acanvas",acanvas);me.set("actx",actx);me.resize();canvas.style.cssText=acanvas.style.cssText="position:absolute;top:0;left:0;z-index:10000000;";canvas.setAttribute("id","heatmap-canvas");if(!me.get("visible"))
canvas.style.display="none";element.appendChild(canvas);if(me.get("legend")){element.appendChild(me.get("legend").getElement());}
if(me.get("debug"))
document.body.appendChild(acanvas);actx.shadowOffsetX=15000;actx.shadowOffsetY=15000;actx.shadowBlur=15;},initColorPalette:function(){var me=this,canvas=document.createElement("canvas"),gradient=me.get("gradient"),ctx,grad,testData;canvas.width="1";canvas.height="256";ctx=canvas.getContext("2d");grad=ctx.createLinearGradient(0,0,1,256);testData=ctx.getImageData(0,0,1,1);testData.data[0]=testData.data[3]=64;testData.data[1]=testData.data[2]=0;ctx.putImageData(testData,0,0);testData=ctx.getImageData(0,0,1,1);me.set("premultiplyAlpha",(testData.data[0]<60||testData.data[0]>70));for(var x in gradient){grad.addColorStop(x,gradient[x]);}
ctx.fillStyle=grad;ctx.fillRect(0,0,1,256);me.set("gradient",ctx.getImageData(0,0,1,256).data);},getWidth:function(element){var width=element.offsetWidth;if(element.style.paddingLeft){width+=element.style.paddingLeft;}
if(element.style.paddingRight){width+=element.style.paddingRight;}
return width;},getHeight:function(element){var height=element.offsetHeight;if(element.style.paddingTop){height+=element.style.paddingTop;}
if(element.style.paddingBottom){height+=element.style.paddingBottom;}
return height;},colorize:function(x,y){var me=this,width=me.get("width"),radius=me.get("radius"),height=me.get("height"),actx=me.get("actx"),ctx=me.get("ctx"),x2=radius*3,premultiplyAlpha=me.get("premultiplyAlpha"),palette=me.get("gradient"),opacity=me.get("opacity"),bounds=me.get("bounds"),left,top,bottom,right,image,imageData,length,alpha,offset,finalAlpha;if(x!=null&&y!=null){if(x+x2>width){x=width-x2;}
if(x<0){x=0;}
if(y<0){y=0;}
if(y+x2>height){y=height-x2;}
left=x;top=y;right=x+x2;bottom=y+x2;}else{if(bounds['l']<0){left=0;}else{left=bounds['l'];}
if(bounds['r']>width){right=width;}else{right=bounds['r'];}
if(bounds['t']<0){top=0;}else{top=bounds['t'];}
if(bounds['b']>height){bottom=height;}else{bottom=bounds['b'];}}
image=actx.getImageData(left,top,right-left,bottom-top);imageData=image.data;length=imageData.length;for(var i=3;i<length;i+=4){alpha=imageData[i],offset=alpha*4;if(!offset)
continue;finalAlpha=(alpha<opacity)?alpha:opacity;imageData[i-3]=palette[offset];imageData[i-2]=palette[offset+1];imageData[i-1]=palette[offset+2];if(premultiplyAlpha){imageData[i-3]/=255/finalAlpha;imageData[i-2]/=255/finalAlpha;imageData[i-1]/=255/finalAlpha;}
imageData[i]=finalAlpha;}
image.data=imageData;ctx.putImageData(image,left,top);},drawAlpha:function(x,y,count,colorize){var me=this,radius=me.get("radius"),ctx=me.get("actx"),max=me.get("max"),bounds=me.get("bounds"),xb=x-(1.5*radius)>>0,yb=y-(1.5*radius)>>0,xc=x+(1.5*radius)>>0,yc=y+(1.5*radius)>>0;ctx.shadowColor=('rgba(0,0,0,'+((count)?(count/me.store.max):'0.1')+')');ctx.shadowOffsetX=15000;ctx.shadowOffsetY=15000;ctx.shadowBlur=15;ctx.beginPath();ctx.arc(x-15000,y-15000,radius,0,Math.PI*2,true);ctx.closePath();ctx.fill();if(colorize){me.colorize(xb,yb);}else{if(xb<bounds["l"]){bounds["l"]=xb;}
if(yb<bounds["t"]){bounds["t"]=yb;}
if(xc>bounds['r']){bounds['r']=xc;}
if(yc>bounds['b']){bounds['b']=yc;}}},toggleDisplay:function(){var me=this,visible=me.get("visible"),canvas=me.get("canvas");if(!visible)
canvas.style.display="block";else
canvas.style.display="none";me.set("visible",!visible);},getImageData:function(){return this.get("canvas").toDataURL();},clear:function(){var me=this,w=me.get("width"),h=me.get("height");me.store.set("data",[]);me.get("ctx").clearRect(0,0,w,h);me.get("actx").clearRect(0,0,w,h);},cleanup:function(){var me=this;me.get("element").removeChild(me.get("canvas"));}};return{create:function(config){return new heatmap(config);},util:{mousePosition:function(ev){var x,y;if(ev.layerX){x=ev.layerX;y=ev.layerY;}else if(ev.offsetX){x=ev.offsetX;y=ev.offsetY;}
if(typeof(x)=='undefined')
return;return[x,y];}}};})();w.h337=w.heatmapFactory=heatmapFactory;})(window);;var jss=(function(){var adjSelAttrRegex=/((?:\.|#)[^\.\s#]+)((?:\.|#)[^\.\s#]+)/g;var doubleColonPseudoElRegex=/(::)(before|after|first-line|first-letter|selection)/;var singleColonPseudoElRegex=/([^:])(:)(before|after|first-line|first-letter|selection)/;var singleColonForPseudoElements;function getSelectorsAndRules(sheet){var rules=sheet.cssRules||sheet.rules||[];var results={};for(var i=0;i<rules.length;i++){var selectorText=toDoubleColonPseudoElements(rules[i].selectorText);if(!results[selectorText]){results[selectorText]=[];}
results[selectorText].push({sheet:sheet,index:i,style:rules[i].style});}
return results;}
function getRules(sheet,selector){var rules=sheet.cssRules||sheet.rules||[];var results=[];selector=selector.toLowerCase();for(var i=0;i<rules.length;i++){var selectorText=rules[i].selectorText;if(selectorText&&(selectorText==selector||selectorText==swapAdjSelAttr(selector)||selectorText==swapPseudoElSyntax(selector))){results.push({sheet:sheet,index:i,style:rules[i].style});}}
return results;}
function addRule(sheet,selector){var rules=sheet.cssRules||sheet.rules||[];var index=rules.length;var pseudoElementRule=addPseudoElementRule(sheet,selector,rules,index);if(!pseudoElementRule){addRuleToSheet(sheet,selector,index);}
return{sheet:sheet,index:index,style:rules[index].style};};function addRuleToSheet(sheet,selector,index){if(sheet.insertRule){sheet.insertRule(selector+' { }',index);}else{sheet.addRule(selector,null,index);}}
function addPseudoElementRule(sheet,selector,rules,index){var doubleColonSelector;var singleColonSelector;if(doubleColonPseudoElRegex.exec(selector)){doubleColonSelector=selector;singleColonSelector=toSingleColonPseudoElements(selector);}else if(singleColonPseudoElRegex.exec(selector)){doubleColonSelector=toDoubleColonPseudoElements(selector);singleColonSelector=selector;}else{return false;}
if(!singleColonForPseudoElements){addRuleToSheet(sheet,doubleColonSelector,index);if(rules.length<=index){singleColonForPseudoElements=true;}}
if(singleColonForPseudoElements){addRuleToSheet(sheet,singleColonSelector,index);}
return true;}
function toDoubleColonPseudoElements(selector){return selector.replace(singleColonPseudoElRegex,function(match,submatch1,submatch2,submatch3){return submatch1+'::'+submatch3;});}
function toSingleColonPseudoElements(selector){return selector.replace(doubleColonPseudoElRegex,function(match,submatch1,submatch2){return ':'+submatch2;})}
function removeRule(rule){var sheet=rule.sheet;if(sheet.deleteRule){sheet.deleteRule(rule.index);}else if(sheet.removeRule){sheet.removeRule(rule.index);}}
function extend(dest,src){for(var key in src){if(!src.hasOwnProperty(key))
continue;dest[key]=src[key];}
return dest;}
function aggregateStyles(rules){var aggregate={};for(var i=0;i<rules.length;i++){extend(aggregate,declaredProperties(rules[i].style));}
return aggregate;}
function declaredProperties(style){var declared={};for(var i=0;i<style.length;i++){declared[style[i]]=style[toCamelCase(style[i])];}
return declared;}
function swapAdjSelAttr(selector){var swap='';var lastIndex=0;while((match=adjSelAttrRegex.exec(selector))!=null){if(match[0]==='')
break;swap+=selector.substring(lastIndex,match.index);swap+=selector.substr(match.index+match[1].length,match[2].length);swap+=selector.substr(match.index,match[1].length);lastIndex=match.index+match[0].length;}
swap+=selector.substr(lastIndex);return swap;};function swapPseudoElSyntax(selector){if(doubleColonPseudoElRegex.exec(selector)){return toSingleColonPseudoElements(selector);}
return selector;}
function setStyleProperties(rule,properties){for(var key in properties){var value=properties[key];var importantIndex=value.indexOf(' !important');rule.style.removeProperty(key);if(importantIndex>0){rule.style.setProperty(key,value.substr(0,importantIndex),'important');}else{rule.style.setProperty(key,value);}}}
function toCamelCase(str){return str.replace(/-([a-z])/g,function(match,submatch){return submatch.toUpperCase();});}
function transformCamelCasedPropertyNames(oldProps){var newProps={};for(var key in oldProps){newProps[unCamelCase(key)]=oldProps[key];}
return newProps;}
function unCamelCase(str){return str.replace(/([A-Z])/g,function(match,submatch){return '-'+submatch.toLowerCase();});}
var Jss=function(doc){this.doc=doc;this.head=this.doc.head||this.doc.getElementsByTagName('head')[0];this.sheets=this.doc.styleSheets||[];};Jss.prototype={get:function(selector){if(!this.defaultSheet){return{};}
if(selector){return aggregateStyles(getRules(this.defaultSheet,selector));}
var rules=getSelectorsAndRules(this.defaultSheet);for(selector in rules){rules[selector]=aggregateStyles(rules[selector]);}
return rules;},getAll:function(selector){var properties={};for(var i=0;i<this.sheets.length;i++){extend(properties,aggregateStyles(getRules(this.sheets[i],selector)));}
return properties;},set:function(selector,properties){if(!this.defaultSheet){this.defaultSheet=this._createSheet();}
properties=transformCamelCasedPropertyNames(properties);var rules=getRules(this.defaultSheet,selector);if(!rules.length){rules=[addRule(this.defaultSheet,selector)];}
for(var i=0;i<rules.length;i++){setStyleProperties(rules[i],properties);}},remove:function(selector){if(!this.defaultSheet)
return;if(!selector){this._removeSheet(this.defaultSheet);delete this.defaultSheet;return;}
var rules=getRules(this.defaultSheet,selector);for(var i=0;i<rules.length;i++){removeRule(rules[i]);}
return rules.length;},_createSheet:function(){var styleNode=this.doc.createElement('style');styleNode.type='text/css';styleNode.rel='stylesheet';this.head.appendChild(styleNode);return styleNode.sheet;},_removeSheet:function(sheet){var node=sheet.ownerNode;node.parentNode.removeChild(node);}};var exports=new Jss(document);exports.forDocument=function(doc){return new Jss(doc);};return exports;})();typeof module!=='undefined'&&module.exports&&(module.exports=jss);var EventRecorder=(function($,document,window){var recording=new Object(),recordingStart=null,recordingID=-1,isRecording=false,blockedIPs=[],maxIntValue=2147483647,inactivityPeriod=3000;var config={record:true,debug:false,escPlayback:false};var init=function(record,debug,escPlayback){var playbackMode=parent&&parent.EVENTPLAYBACK&&parent.EVENTPLAYBACK.playback;if(typeof record==="boolean"){config.record=record;}
if(typeof debug==="boolean"){config.debug=debug;}
if(typeof escPlayback==="boolean"){config.escPlayback=escPlayback;}
if(config.record&&!playbackMode){initRecordingObject();}};var startRecording=function(){if(config.record){recordingStart=Date.now(),recordEvent(null,null,null,null,null,null,null,null,null,getEventTime(recordingStart),null,null,null);log("recording started at "+recordingStart);isRecording=true;bindEvents();}};var stopRecording=function(){var recordingEnd=Date.now();log("recording stopped");isRecording=false;recordEvent(null,null,null,null,null,null,null,null,null,getEventTime(recordingEnd),null,null,null);recording.Filesize=AVL.UTILITIES.FUNCTIONS.GetPhysicalSize(getRecording());if(recording.Inactivity==null||recording.Inactivity<0){recording.Inactivity=0;}
var recDuration=recordingEnd-recordingStart;recording.Duration=recDuration>maxIntValue?maxIntValue:recDuration;recording.Engagement=recording.Duration-recording.Inactivity;saveRecording();};var saveRecording=function(){recording.Active=false;if(config.record&&recording.Unloadable){closeDBRecord();}};var getRecording=function(){return JSON.stringify(recording);};var push=function(pushArray){if(pushArray.length>0){switch(pushArray[0]){case "tagRecording":if(typeof recording.Tags=="undefined"){recording.Tags="";}
switch(typeof pushArray[1]){case "object":$.each(pushArray[1],function(key,value){var thisValue=(value==null||value=="")?"":":"+value,keyValue=key+thisValue,separator=(recording.Tags=="")?"":",";recording.Tags+=separator+keyValue;});break;case "string":recording.Tags+=","+pushArray[1];break;}
log(recording.Tags);break;default:break;}}};var bindEvents=function(){if(config.record){window.onload=function(){wgxpath.install();};if(recording.Unloadable){window.addEventListener("beforeunload",function(event){onPageUnload(event);});window.addEventListener("pagehide",function(event){onPageUnload(event);});window.addEventListener("unload",function(event){onPageUnload(event);});log("Window unload events bound.");}
else{recording.Active=false;log("Window unload events not bound!");}
$(window).on("resize",function(event){event.timeStamp=Date.now();captureEvent(event);});$(document).on("resize mousedown mouseup mousemove dblclick keydown keyup scroll change touchstart touchmove touchend touchcancel",function(event){if(isRecordable(event)){event.timeStamp=Date.now();switch(event.type){case "mousedown":case "mouseup":if(event.which==1){captureEvent(event);}
break;default:captureEvent(event);break;}}});var $scrollBindingElement=($("#slideout-content").length==0)?$(document):$("#slideout-content");$scrollBindingElement.on("scroll",function(event){event.timeStamp=Date.now();captureEvent(event);});}};var captureEvent=function(event){if(isRecording&&config.record){switch(event.type){case "mousemove":case "mousedown":case "mouseup":case "dblclick":if(recording.Events.length==0||event.type!="mousemove"||event.type=="mousemove"&&recording.Events[recording.Events.length-1].Mx!=event.pageX&&recording.Events[recording.Events.length-1].My!=event.pageY){verifyScrollElement($(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)));if(event.type=="mouseup"){recordEvent(event.type,null,event.pageX,event.pageY,$(window).scrollLeft(),$(window).scrollTop(),null,$(window).width(),$(window).height(),getEventTime(Date.now()),getDataTag($(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event))),AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),null);event.type="click";if(recording.Clicks==null){recording.Clicks=1;}
else{recording.Clicks++;}}
recordEvent(event.type,null,event.pageX,event.pageY,$(window).scrollLeft(),$(window).scrollTop(),null,$(window).width(),$(window).height(),getEventTime(Date.now()),null,AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),null);}
break;case "keydown":case "keyup":if(typeof window.overrideERMV!=="undefined"&&window.overrideERMV===true)
break;var keyCode=event.which?event.which:event.keyCode;recordEvent(event.type,keyCode,null,null,$(window).scrollLeft(),$(window).scrollTop(),null,$(window).width(),$(window).height(),getEventTime(Date.now()),null,AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),$(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)).val());break;case "change":recordEvent(event.type,null,null,null,$(window).scrollLeft(),$(window).scrollTop(),null,$(window).width(),$(window).height(),getEventTime(Date.now()),getDataTag($(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event))),AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),$(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)).val());break;case "resize":getScrollReach();recordEvent(event.type,null,null,null,$(window).scrollLeft(),$(window).scrollTop(),null,$(window).width(),$(window).height(),getEventTime(Date.now()),null,AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),null);break;case "scroll":getScrollReach();recordEvent(event.type,event.pageX,event.pageY,null,$(window).scrollLeft(),$(window).scrollTop(),"window",$(window).width(),$(window).height(),getEventTime(Date.now()),null,AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),null);break;}}}
var recordEvent=function(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13){var capturedEvent={Et:v1,Kc:v2,Mx:v3,My:v4,Sx:v5,Sy:v6,St:v7,Ww:v8,Wh:v9,Ts:v10,Tg:v11,Tr:v12,Vl:v13};recordInactivity(v10,inactivityPeriod);recording.Events.push(capturedEvent);log(capturedEvent);}
var log=function(message){if(config.debug)console.log(message);}
var onPageUnload=function(event){if(onPageUnload._hasUnloaded){return;}
onPageUnload._hasUnloaded=true;stopRecording();log(event.type+" event triggered stopRecording().");};var initRecordingObject=function(){recording={Active:true,Application:"",Belowfold:0,Brand:0,Browsername:"",Browserversion:"",Clicks:0,Colordepth:"",Cookiesenabled:false,Country:"",Countrycode:"",Customerid:"",Date:getCurrentDateTime(),Devicetype:"",Documentheight:0,Duration:0,Engagement:0,Error:0,Events:"",Filesize:"",Inactivity:0,Ip:"",Isp:"",Javaenabled:false,Language:"",Lastmodified:getCurrentDateTime(),Lastvisit:getCurrentDateTime(),Latitude:"",Loadtime:0,Longitude:"",Osname:"",Osversion:"",Page:"",Pagetitle:"",Referrer:"",Region:"",Regioncode:"",Screenheight:0,Screenres:"",Screenwidth:0,Scrollreach:0,Servertime:0,Sessionid:"",Sourcecode:"",Tags:"",Timezone:"",Unscrolled:0,Url:"",Useragent:"",Utmcampaign:"",Utmsource:"",Utmmedium:"",Utmcontent:"",Viewportheight:"",Viewportwidth:"",Visitortype:"",Browserfeatures:{Applicationcache:"",Audio:"",Backgroundsize:"",Borderimage:"",Canvas:"",Canvastext:"",Cssanimations:"",Csscolumns:"",Cssgradients:"",Cssreflections:"",Csstransforms:"",Csstransforms3d:"",Csstransitions:"",Borderradius:"",Boxshadow:"",Draganddrop:"",Flexbox:"",Fontface:"",Geolocation:"",Generatedcontent:"",Hashchange:"",History:"",Hsla:"",Indexeddb:"",Inlinesvg:"",Localstorage:"",Multiplebgs:"",Opacity:"",Postmessage:"",Rgba:"",Sessionstorage:"",Smil:"",Svg:"",Svgclippaths:"",Textshadow:"",Touch:"",Unloadable:0,Video:"",Webgl:"",Websockets:"",websqldatabase:"",webworkers:""}}
handleCookies();getGeneralInfo();openDBRecord();log(recording);startRecording();};var openDBRecord=function(){var preServerTime=new Date().getTime();if(true){$.ajax({type:"POST",async:true,cache:false,url:getWebServiceUrl()+'/AddRecording',contentType:"application/json; charset=utf-8",data:JSON.stringify({jsonRequest:getRecording()}),dataType:"json",success:ws_success,error:ws_fail});}
function ws_success(data,status){recordingID=parseInt(data.d);recording.Servertime=new Date().getTime()-preServerTime;log(recording.Servertime);}
function ws_fail(xmlRequest){recording.Servertime=new Date().getTime()-preServerTime;log("failed save!");}};var closeDBRecord=function(){var wsUrl=getWebServiceUrl()+((recordingID==-1)?'/AddRecording':'/UpdateRecording');var jsonData=(recordingID==-1)?JSON.stringify({jsonRequest:getRecording()}):JSON.stringify({id:recordingID,jsonRequest:getRecording()});if(true){$.ajax({type:"POST",async:true,cache:false,url:wsUrl,contentType:"application/json; charset=utf-8",data:jsonData,dataType:"json",success:ws_success,error:ws_fail});}
function ws_success(data,status){log(data);}
function ws_fail(xmlRequest){log(xmlRequest.status+' \n\r '+xmlRequest.statusText+'\n\r'+xmlRequest.responseText);}};var handleCookies=function(){var newBrowserSession=true;var brandPastVisitCookieName="ER_PV_"+getCookieBrandPrefix(),sessionIdCookieName="ER_RSID",sessionLastVisitCookieName="ER_RLV",sessionVisitorTypeCookieName="ER_RVT";var rsidCookie=AVL.UTILITIES.FUNCTIONS.GetCookie(sessionIdCookieName);if(rsidCookie==undefined||rsidCookie==null||rsidCookie==""){recording.Sessionid=generateUUID();AVL.UTILITIES.FUNCTIONS.SetSessionCookie(sessionIdCookieName,recording.Sessionid);}
else{recording.Sessionid=rsidCookie;newBrowserSession=false;}
var pvvCookie=AVL.UTILITIES.FUNCTIONS.GetCookie(sessionLastVisitCookieName);var vtvCookie=AVL.UTILITIES.FUNCTIONS.GetCookie(sessionVisitorTypeCookieName);if(newBrowserSession||(!isValidDateTime(pvvCookie))||(vtvCookie==undefined||vtvCookie==null||vtvCookie=="")){var pastVisitorCookie=AVL.UTILITIES.FUNCTIONS.GetCookie(brandPastVisitCookieName);if(!isValidDateTime(pastVisitorCookie)){recording.Visitortype="new";recording.Lastvisit=getMinimumDateTime();AVL.UTILITIES.FUNCTIONS.SetSessionCookie(sessionLastVisitCookieName,getMinimumDateTime());}
else{recording.Visitortype="returning";recording.Lastvisit=pastVisitorCookie;AVL.UTILITIES.FUNCTIONS.SetSessionCookie(sessionLastVisitCookieName,pastVisitorCookie);}
AVL.UTILITIES.FUNCTIONS.SetSessionCookie(sessionVisitorTypeCookieName,recording.Visitortype);}
else{recording.Lastvisit=pvvCookie;recording.Visitortype=vtvCookie;}
if(!isValidDateTime(recording.Lastvisit))
recording.Lastvisit=getMinimumDateTime();AVL.UTILITIES.FUNCTIONS.SetCookie(brandPastVisitCookieName,getCurrentDateTime(),360);}
var verifyScrollElement=function($element){var $scrollableParent=$element.scrollParent(),isScrollableElement=$element.hasScroll(),isScrollableParent=!($scrollableParent.is(document))&&$scrollableParent.hasScroll();if(!(isScrollableElement||isScrollableParent)){return;}
var $bindElement=isScrollableElement?$element:$element.scrollParent();if(!$bindElement.hasClass("scrollable-record")){$bindElement.addClass("scrollable-record");$bindElement.on("scroll",function(event){if(isRecording){recordEvent(event.type,null,null,null,$bindElement.scrollLeft(),$bindElement.scrollTop(),"element",$(window).width(),$(window).height(),getEventTime(Date.now()),null,AVL.UTILITIES.FUNCTIONS.GetElementXPath(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event)),null);}});}};var getScrollReach=function(){var viewportHeight=$(window).height(),documentHeight=($("#slideout-content").length==0)?$(document).height():$("#slideout-content")[0].scrollHeight,scrollTop=($("#slideout-content").length==0)?$(window).scrollTop():$("#slideout-content").scrollTop(),belowFold=documentHeight-viewportHeight,unscrolledHeight=Math.ceil(belowFold-scrollTop),scrollPercent=100;if(belowFold>0)
scrollPercent=parseInt(((scrollTop/belowFold)*100).toFixed(0));var scrollReach={percent:scrollPercent,unscrolled:unscrolledHeight};if(recording.Scrollreach==null||recording.Scrollreach<scrollReach.percent)
recording.Scrollreach=scrollReach.percent;if(recording.Unscrolled==null||recording.Unscrolled>scrollReach.unscrolled)
recording.Unscrolled=Math.ceil(scrollReach.unscrolled);log(recording.Unscrolled+"/"+scrollReach.unscrolled+"px - "+recording.Scrollreach+"/"+scrollReach.percent+"%");return scrollReach;};var getUnloadableStatus=function(){return("onbeforeunload"in window||"onunload"in window||"onpagehide"in window);};var getCurrentDateTime=function(){return AVL.UTILITIES.FUNCTIONS.FormatDate(new Date());};var getGeneralInfo=function(){var unknown='-';var screenWidth=screen.width||0,screenHeight=screen.height||0,screenSize=screenWidth+" x "+screenHeight;var nVer=navigator.appVersion||"";var nAgt=navigator.userAgent||"";var browser=navigator.appName||"";var version=''+parseFloat(navigator.appVersion);var majorVersion=parseInt(navigator.appVersion,10);var nameOffset,verOffset,ix;if((verOffset=nAgt.indexOf('Opera'))!=-1){browser='Opera';version=nAgt.substring(verOffset+6);if((verOffset=nAgt.indexOf('Version'))!=-1){version=nAgt.substring(verOffset+8);}}
else if((verOffset=nAgt.indexOf('MSIE'))!=-1){browser='Internet Explorer';version=nAgt.substring(verOffset+5);}
else if((verOffset=nAgt.indexOf('Chrome'))!=-1){browser='Chrome';version=nAgt.substring(verOffset+7);}
else if((verOffset=nAgt.indexOf('Safari'))!=-1){browser='Safari';version=nAgt.substring(verOffset+7);if((verOffset=nAgt.indexOf('Version'))!=-1){version=nAgt.substring(verOffset+8);}}
else if((verOffset=nAgt.indexOf('Firefox'))!=-1){browser='Firefox';version=nAgt.substring(verOffset+8);}
else if(nAgt.indexOf('Trident/')!=-1){browser='Internet Explorer';version=nAgt.substring(nAgt.indexOf('rv:')+3);}
else if((nameOffset=nAgt.lastIndexOf(' ')+1)<(verOffset=nAgt.lastIndexOf('/'))){browser=nAgt.substring(nameOffset,verOffset);version=nAgt.substring(verOffset+1);if(browser.toLowerCase()==browser.toUpperCase()){browser=navigator.appName||"";}}
if((ix=version.indexOf(';'))!=-1)version=version.substring(0,ix);if((ix=version.indexOf(' '))!=-1)version=version.substring(0,ix);if((ix=version.indexOf(')'))!=-1)version=version.substring(0,ix);majorVersion=parseInt(''+version,10);if(isNaN(majorVersion)){version=''+parseFloat(navigator.appVersion);majorVersion=parseInt(navigator.appVersion,10);}
if(typeof navigator.cookieEnabled=='undefined'&&!cookieEnabled){document.cookie='testcookie';cookieEnabled=(document.cookie.indexOf('testcookie')!=-1)?true:false;}
var os=unknown;var clientStrings=[{s:'Windows 3.11',r:/Win16/},{s:'Windows 95',r:/(Windows 95|Win95|Windows_95)/},{s:'Windows ME',r:/(Win 9x 4.90|Windows ME)/},{s:'Windows 98',r:/(Windows 98|Win98)/},{s:'Windows CE',r:/Windows CE/},{s:'Windows 2000',r:/(Windows NT 5.0|Windows 2000)/},{s:'Windows XP',r:/(Windows NT 5.1|Windows XP)/},{s:'Windows Server 2003',r:/Windows NT 5.2/},{s:'Windows Vista',r:/Windows NT 6.0/},{s:'Windows 7',r:/(Windows 7|Windows NT 6.1)/},{s:'Windows 8.1',r:/(Windows 8.1|Windows NT 6.3)/},{s:'Windows 8',r:/(Windows 8|Windows NT 6.2)/},{s:'Windows NT 4.0',r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:'Windows ME',r:/Windows ME/},{s:'Android',r:/Android/},{s:'Open BSD',r:/OpenBSD/},{s:'Sun OS',r:/SunOS/},{s:'Linux',r:/(Linux|X11)/},{s:'iOS',r:/(iPhone|iPad|iPod)/},{s:'Mac OS X',r:/Mac OS X/},{s:'Mac OS',r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:'QNX',r:/QNX/},{s:'UNIX',r:/UNIX/},{s:'BeOS',r:/BeOS/},{s:'OS/2',r:/OS\/2/},{s:'Search Bot',r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for(var id in clientStrings){var cs=clientStrings[id];if(cs.r.test(nAgt)){os=cs.s;break;}}
var osVersion=unknown;if(/Windows/.test(os)){osVersion=/Windows (.*)/.exec(os)[1];os='Windows';}
switch(os){case 'Mac OS X':osVersion=/Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];break;case 'Android':osVersion=/Android ([\.\_\d]+)/.exec(nAgt)[1];break;case 'iOS':osVersion=/OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);osVersion=osVersion[1]+'.'+osVersion[2]+'.'+(osVersion[3]|0);break;}
if(typeof recording.Tags=="undefined"){recording.Tags="";}
recording.Customerid=$("#avlCT").val()||"";recording.Devicetype=AVL.UTILITIES.FUNCTIONS.GetDeviceType();recording.Application=AVL.UTILITIES.FUNCTIONS.GetApplication();recording.Date=getCurrentDateTime();recording.Brand=AVL.UTILITIES.FUNCTIONS.GetAvlBrand();recording.Lastmodified=document.lastModified||"";recording.Loadtime=(new Date()).getTime()-ERMV.ls;recording.Url=document.URL||"";recording.Page=AVL.UTILITIES.FUNCTIONS.GetFileNameNoParams(document.URL);recording.Pagetitle=AVL.UTILITIES.FUNCTIONS.GetPageTitle();recording.Error=AVL.UTILITIES.FUNCTIONS.IsErrorPage(document.URL);recording.Duration=0;recording.Language=navigator.language||"";recording.Useragent=navigator.userAgent||"";recording.Browsername=browser||"";recording.Browserversion=version||"";recording.Osname=os||"";recording.Osversion=osVersion||"";recording.Cookiesenabled=AVL.UTILITIES.FUNCTIONS.IsCookiesEnabled();recording.Javaenabled=navigator.javaEnabled()||false;recording.Belowfold=$(document).height()-$(window).height();recording.Documentheight=$(document).height();recording.Scrollreach=getScrollReach().percent;recording.Unscrolled=getScrollReach().unscrolled;recording.Viewportheight=$(window).height();recording.Viewportwidth=$(window).width();recording.Unloadable=getUnloadableStatus();recording.Screenres=screenSize;recording.Screenwidth=screenWidth;recording.Screenheight=screenHeight;recording.Colordepth=screen.colorDepth+" bit";recording.Sourcecode=AVL.UTILITIES.FUNCTIONS.GetCookie(getCookieBrandPrefix()+"SourceCode","")||"";recording.Utmcampaign=AVL.UTILITIES.FUNCTIONS.GetQuerystringParamByName(document.URL,"utm_campaign");recording.Utmsource=AVL.UTILITIES.FUNCTIONS.GetQuerystringParamByName(document.URL,"utm_source");recording.Utmmedium=AVL.UTILITIES.FUNCTIONS.GetQuerystringParamByName(document.URL,"utm_medium");recording.Utmcontent=AVL.UTILITIES.FUNCTIONS.GetQuerystringParamByName(document.URL,"utm_content");recording.Referrer=document.referrer||"";recording.Events=[];recording.Browserfeatures=AVL.UTILITIES.FUNCTIONS.GetBrowserFeatures();};var isValidDateTime=function(dt){return!(dt==undefined||dt==null||dt==""||!(XDate(dt).valid()))};var getMinimumDateTime=function(){return AVL.UTILITIES.FUNCTIONS.FormatDate(new Date(1970,0,1,12));};var getEventTime=function(timestamp){return timestamp-recordingStart;};var getDataTag=function(elem){var tag=elem.attr("data-tagEvent"),returnValue=null;if(typeof tag!=='undefined'&&tag!==false){returnValue=tag;}
return returnValue;};var recordInactivity=function(thisTime,idleTime){if(recording.Events.length>0){var timesstampGap=thisTime-recording.Events[recording.Events.length-1].Ts;if(timesstampGap>idleTime){if(recording.Inactivity==null||recording.Inactivity<0){recording.Inactivity=0;}
recording.Inactivity+=timesstampGap;if(recording.Inactivity>maxIntValue)recording.Inactivity=maxIntValue;log(thisTime+" / "+recording.Inactivity);}}};var isRecordable=function(event){var $this=$(AVL.UTILITIES.FUNCTIONS.GetEventTarget(event));return $this.attr("data-recordingignore")!="true"&&$this.closest("[data-recordingignore='true']").length==0;};var generateUUID=function(){var d=Date.now();var uuid='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){var r=(d+Math.random()*16)%16|0;d=Math.floor(d/16);return(c=='x'?r:(r&0x7|0x8)).toString(16);});return uuid;};var getCookieBrandPrefix=function(){var brandPrefix="";switch(AVL.UTILITIES.FUNCTIONS.GetAvlBrand()){case "0":brandPrefix="DM";break;case "4":brandPrefix="OAS";break;case "5":brandPrefix="CDB";break;case "12":brandPrefix="TC";break;case "14":brandPrefix="BB";break;case "16":brandPrefix="BS";break;}
return brandPrefix;}
var getWebServiceUrl=function(){return "/EventRecorderWebService/EventRecorder.asmx";};return{init:init,push:push,getRecording:getRecording};})(jQuery,document,window);var EventPlayer=(function($,document,window){var recording=null,userevents=[],previousEvent=null,isPlaying=false,isPaused=false,heatmap=null,previousTriggerEvent=null,mouseEnterElements=[],repaintRate=0,lastLoop=new Date,timer=null,isIframe=parent&&parent.EVENTPLAYBACK&&parent.EVENTPLAYBACK.playback;var config={autoplay:false,debug:false,showprogress:false,playbackSpeed:isIframe?parent.PAGE.PlaybackSpeed:1};var init=function(data,autoplay,showprogress,debug){if(typeof data==="string"){recording=JSON.parse(data);}
else if(data===Object(data)){recording=data;}
else{log("invalid recording...");}
if(typeof autoplay==="boolean")config.autoplay=autoplay;if(typeof showprogress==="boolean")config.showprogress=showprogress;if(typeof debug==="boolean")config.debug=debug;frameLoop();bindStyleSheetHoverEventsTojQueryClasses();userevents=_.clone(recording.Events);createVirtualCursor();if(config.debug)createPlaybackControls();if(config.showprogress)parent.AVL.UTILITIES.MODULES.ProgressBar.init({duration:recording.Duration,debug:false});if(config.autoplay)play();};var play=function(){log("play recording...");updatePlayerMode(true,false);$("#virtual-cursor").show();playEvent();};var replay=function(){clearTimeout(timer);userevents=_.clone(recording.Events);if(isIframe&&userevents!=null&&userevents[1]!=null)parent.PAGE.UTILITIES.ResizeIframe(null,userevents[1].Ww,userevents[1].Wh);play();if(config.showprogress)parent.AVL.UTILITIES.MODULES.ProgressBar.replay();};var pause=function(){log("pause recording...");updatePlayerMode(false,true);if(config.showprogress)parent.AVL.UTILITIES.MODULES.ProgressBar.pause();};var stop=function(){log("stop recording...");clearTimeout(timer);updatePlayerMode(false,false);userevents=_.clone(recording.Events);if(config.showprogress)parent.AVL.UTILITIES.MODULES.ProgressBar.pause();};var complete=function(){log("stop recording...");clearTimeout(timer);updatePlayerMode(false,false);};var updateSpeed=function(speed){config.playbackSpeed=speed;};var clickHeatmap=function(){var events=recording.Events;if(events.length>0){var config={element:document.getElementsByTagName("body")[0],radius:20,opacity:50};var heatmap=h337.create(config);for(var i=0;i<events.length;i++){if(events[i].Et=="click"){heatmap.store.addDataPoint(events[i].Mx,events[i].My);}}}};var movementHeatmap=function(){var events=recording.Events;if(events.length>0){var config={element:document.getElementsByTagName("body")[0],radius:10,opacity:50};heatmap=h337.create(config);for(var i=0;i<events.length;i++){if(events[i].Et=="mousemove"){heatmap.store.addDataPoint(events[i].Mx,events[i].My);}}}};var log=function(message){if(config.debug)console.log(message);}
var getRecording=function(){return recording;};var updatePlayerMode=function(play,pause){isPlaying=play;isPaused=pause;};var playEvent=function(){if(userevents.length>0){if(isPlaying){var currentEventStart=userevents[0].Ts;var delay=currentEventStart;if(previousEvent!=null)delay-=previousEvent.Ts;if(delay<repaintRate)delay=repaintRate;if(isIframe&&parent.PAGE.SkipInactivity&&delay>1000)delay=1000;timer=setTimeout(function(){playEvent()},delay/config.playbackSpeed);if(config.showprogress&&isIframe&&previousEvent)parent.AVL.UTILITIES.MODULES.ProgressBar.play(previousEvent.Ts);triggerEvent(userevents[0]);previousEvent=userevents[0];userevents.shift();}}
else{complete();}};var triggerEvent=function(event){switch(event.Et){case "dblclick":$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("dblclick");break;case "click":var $thisClickSpot=$("<div class='pulse_holder' style='top:"+event.My+"px; left:"+event.Mx+"px;'><div class='pulse_marker'><div class='pulse_rays'></div></div></div>");$("body").append($thisClickSpot);setTimeout(function(){$thisClickSpot.fadeOut()},1000);$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("click");break;case "mousedown":$("#virtual-cursor").addClass("mousedown");$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("mousedown");break;case "mouseup":$("#virtual-cursor").removeClass("mousedown");$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("mouseup");break;case "mousemove":var mousemoveEvents=false,previousTriggerEventTarget=(previousTriggerEvent!=null)?previousTriggerEvent.Tr:"";showCorrectCursor($(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).closest("a"));if(isNewElement(previousTriggerEventTarget,event.Tr)){var uniqueElements=$.unique(mouseEnterElements);$.each(uniqueElements,function(index,value){$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(value)).trigger("mouseleave");if(mousemoveEvents){log("MouseLeave ... "+index+" "+value);}});if(mousemoveEvents){log($.unique(mouseEnterElements).length+" element(s) triggered mouseenter/mouseleave...");}
mouseEnterElements=[];$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("mouseenter");mouseEnterElements.push(event.Tr);if(mousemoveEvents){log("\r\nMouseEnter (new) ... "+event.Tr);}}
else if(event.Tr!=previousTriggerEventTarget){mouseEnterElements.push(event.Tr);$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("mouseenter");if(mousemoveEvents){log("MouseEnter (sibling) ... "+event.Tr);}}
previousTriggerEvent=event;$("#virtual-cursor").css({left:event.Mx+"px",top:event.My+"px"});break;case "scroll":var $scrollElement=(event.St=="window")?$(window):$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr));$scrollElement.scrollLeft(event.Sx);$scrollElement.scrollTop(event.Sy);$("#virtual-cursor").css({left:event.Mx,top:event.My});break;case "keydown":case "keyup":$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).val(event.Vl);var e=jQuery.Event(event.Et);e.which=event.Kc;e.keyCode=event.Kc;$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger("focus").trigger(e);break;case "change":$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).val(event.Vl);break;case "touchstart":case "touchmove":case "touchend":case "touchcancel":$(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(event.Tr)).trigger(event.Et);break;case "resize":if(isIframe)parent.PAGE.UTILITIES.ResizeIframe(null,event.Ww,event.Wh);break;}};var frameLoop=function(){var thisLoop=new Date;repaintRate=thisLoop-lastLoop;lastLoop=thisLoop;requestAnimationFrame(frameLoop);};var bindStyleSheetHoverEventsTojQueryClasses=function(){var externalStyleSheets=document.styleSheets;if(externalStyleSheets&&externalStyleSheets.length>0){var i,j,sel=/:hover/,hoverCSS="";for(i=0;i<externalStyleSheets.length;++i){var externalStyleSheet=externalStyleSheets[i],styleSheetRules=AVL.UTILITIES.FUNCTIONS.GetStylesheetRules(externalStyleSheet);if(styleSheetRules){$.each(styleSheetRules,function(index,value){if(sel.test(value.selectorText)){var cssLine=new Object(),elems=value.selectorText.toLowerCase().replace(/:hover/g,""),elemStyles=(value.style)?value.style.cssText:value.cssText,elemClass="tempHoverClass"+i+index;hoverCSS+="."+elemClass+"{"+makeImportant(elemStyles)+"}";$(elems).on({mouseenter:function(e){$(this).addClass("tempHoverClass "+elemClass)},mouseleave:function(e){$(this).removeClass("tempHoverClass "+elemClass)}});}});}}
AVL.UTILITIES.FUNCTIONS.AddCSSToPage(hoverCSS);}};var makeImportant=function(cssText){return cssText.replace(/!important/g,"").replace(/;/," !important;");};var isNewElement=function(prevTarget,currTarget){var returnValue=false;if(prevTarget==null||prevTarget!=currTarget&&!siblingsOfHoverParent(prevTarget,currTarget)){returnValue=true;}
return returnValue;};var siblingsOfHoverParent=function(prevTarget,currTarget){return $(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(prevTarget)).closest(".tempHoverClass").is($(AVL.UTILITIES.FUNCTIONS.GetElementByXPath(currTarget)).closest(".tempHoverClass"));};var showCorrectCursor=function($linkParent){if($linkParent.length>0&&!$("#virtual-cursor").hasClass("showhand")){$("#virtual-cursor").addClass("showhand");}
else if($linkParent.length==0){$("#virtual-cursor").removeClass("showhand");}};var createVirtualCursor=function(){if($("#virtual-cursor").length==0){$("body").append("<div id='virtual-cursor'></div>");$("#virtual-cursor").append("<div id='cursor-highlight'></div>");$("#virtual-cursor").append("<img id='cursor-pointer' src='/commoncontrols/eventrecorder/img/cursor.png''>");$("#virtual-cursor").append("<img id='cursor-hand' src='/commoncontrols/eventrecorder/img/hand.png''>");}};var createPlaybackControls=function(){if($("#playback").length==0){$("body").append("<div id='playback'></div>");$("#playback").append("<a href='#view' onclick='$(\"#heatmap-canvas\").remove(); console.log(EventPlayer.getRecording()); return false;'>view object</a>").append("<a href='#clickmap' id='clickmap' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.clickHeatmap(); return false;'>click map</a>").append("<a href='#movemap' id='movemap' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.movementHeatmap(); return false;'>move map</a>").append("<a href='#play' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.play(); return false;'>play</a>").append("<a href='#pause' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.pause(); return false;'>pause</a>").append("<a href='#stop' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.stop(); return false;'>stop</a>").append("<a href='#replay' onclick='$(\"#heatmap-canvas\").remove(); EventPlayer.replay(); return false;'>replay</a>");}
if($("#playback-progress").length==0){$("body").append("<div id='playback-progress'><div class='bar'></div><div class='spinner'><div class='spinner-icon'></div></div></div>");}};return{init:init,play:play,replay:replay,pause:pause,stop:stop,updateSpeed:updateSpeed,getRecording:getRecording,clickHeatmap:clickHeatmap,movementHeatmap:movementHeatmap};})(jQuery,document,window);$(document).ready(function(){if(typeof ERMV!=="undefined"&&ERMV.on)
EventRecorder.init(true,null,false);});;jQuery.cookie=function(key,value,options){if(arguments.length>1&&String(value)!=="[object Object]"){options=jQuery.extend({},options);if(value===null||value===undefined){options.expires=-1;}
if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days);}
value=String(value);return(document.cookie=[encodeURIComponent(key),'=',options.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));}
options=value||{};var result,decode=options.raw?function(s){return s;}:decodeURIComponent;return(result=new RegExp('(?:^|; )'+encodeURIComponent(key)+'=([^;]*)').exec(document.cookie))?decode(result[1]):null;};;var AVL=AVL||{};AVL.BOOKBABYMARKETING={Init:function(){$(".focus-input").focus();AVL.BOOKBABYMARKETING.BIND.BindTableEvents();AVL.BOOKBABYMARKETING.BIND.BindFilterEvents();AVL.BOOKBABYMARKETING.BIND.BindCCBoxes();AVL.BOOKBABYMARKETING.BIND.BindPricePointDDs();AVL.BOOKBABYMARKETING.FUNCTIONS.StyleCustomInputs();AVL.BOOKBABYMARKETING.BIND.BindAnnouncementText();AVL.BOOKBABYMARKETING.BIND.BindAnnouncementLink();AVL.BOOKBABYMARKETING.BIND.BindLinkSwitcher();},BIND:{BindAnnouncementLink:function(){$(".annoucement-bar-message").on("click",function(){AVL.UTILITIES.ANALYTICS.TriggerEventPush("Click","IAC","global-header-message");window.open('https://www.indieauthorcon.com/ ','_blank');});},BindAnnouncementText:function(){if($('.annoucement-bar-message').length>0){$(".annoucement-bar-message").append("<u>RSVP before May 11th and save $150</u>.");}},BindPricePointDDs:function(){$('.book-tier-free').fadeOut(0);$('.book-tier-99').fadeOut(0);$('.book-tier-1299').fadeOut(0);var price=$('.book-tier-dd').val();if(price==00){$('.book-tier-free').fadeIn(200);}
else if(price<1.99){$('.book-tier-99').fadeIn(200);}
else if(price>12.99){$('.book-tier-1299').fadeIn(200);}
$('.book-tier-dd').change(function(){$('.book-tier-free').fadeOut(0);$('.book-tier-99').fadeOut(0);$('.book-tier-1299').fadeOut(0);var price=$('.book-tier-dd').val();if(price==00){$('.book-tier-free').fadeIn(200);}
else if(price<1.99){$('.book-tier-99').fadeIn(200);}
else if(price>12.99){$('.book-tier-1299').fadeIn(200);}});},BindLinkSwitcher:function(){$("#switch-views").on("click",function(){if($(this).text()==="view sales by partner"){$("#author-container").fadeOut("300",function(){$("#partner-container").fadeIn("300",function(){$("#switch-views").text("view sales by author");$("#switch-views").parent().find("span").eq(0).text("Sales by Partner");});});}else{$("#partner-container").fadeOut("300",function(){$("#author-container").fadeIn("300",function(){$("#switch-views").text("view sales by partner");$("#switch-views").parent().find("span").eq(0).text("Sales by Author");});});}});},BindTableEvents:function(){$(".data-table tbody tr").not("#total-row, .no-hover, .paid-book, .partners, .deposit-row").on("mouseenter",function(){if($(this).find(".warning-image").length>0){$(this).addClass("highlighted-error-row");}else{$(this).addClass("highlighted-row");}}).on("mouseleave",function(){if($(this).find(".warning-image").length>0){$(this).removeClass("highlighted-error-row");}else{$(this).removeClass("highlighted-row");}});$(".data-table tbody tr.paid-book",".data-table tbody tr.partners").on("mouseenter",function(){$(this).addClass("highlighted-row");$(this).prev().addClass("highlighted-row");}).on("mouseleave",function(){$(this).removeClass("highlighted-row");$(this).prev().removeClass("highlighted-row");});},BindFilterEvents:function(){$('.filter-by').on("click",function(){if($(".datefilter").css("display")=="block"){$(".datefilter").slideUp("300",function(){});$(".filter-by").removeClass("filter-by-clicked");$(".filter-by").text("filter by date");$(".datefilter .input-error").css("display","none");}else{$(".datefilter").slideDown("300",function(){});$(".filter-by").addClass("filter-by-clicked");$(".filter-by").text("cancel");}
return false;});$('.cancel-filter').on("click",function(){$(".datefilter").slideUp("300",function(){$(".filter-by").removeClass("filter-by-clicked");});return false;});$("#from").change(function(){$(".txtFilterStart").val($(this).val());});$("#to").change(function(){$(".txtFilterEnd").val($(this).val());});},BindCCBoxes:function(){$('.card-boxes input').change(function(){if($(".card-boxes input:checked").length>0){$(".card-boxes input:checked").not(this).prop("checked",false);}else{}});},},FUNCTIONS:{StyleCustomInputs:function(){$(".checkbox, .checkbox input, .radio, .radio input, .radio-button-list input").each(function(i){if($(this).is('[type=checkbox],[type=radio]')){var inputElement=$(this);var label=$("label[for='"+inputElement.attr('id')+"']");var inputType=(inputElement.is('[type=checkbox]'))?'checkbox':'radio';$('<div class="custom-'+inputType+'"></div>').insertBefore(inputElement).append(inputElement,label);var allInputs=$("input[name='"+inputElement.attr('name')+"']");label.on("mouseenter",function(){$(this).addClass("hover");if(inputType=="checkbox"&&inputElement.is(":checked")){$(this).addClass("checkedHover");}}).on("mouseleave",function(){$(this).removeClass("hover checkedHover");});inputElement.on("updateState",function(){if(inputElement.is(':checked')){if(inputElement.is(':radio')){allInputs.each(function(){$('label[for='+$(this).attr('id')+']').removeClass('checked');});};label.addClass('checked');}
else{label.removeClass('checked checkedHover checkedFocus');}}).trigger('updateState').on("click",function(){$(this).trigger("updateState");}).on("focus",function(){label.addClass("focus");if(inputType==="checkbox"&&inputElement.is(":checked")){$(this).addClass("checkedFocus");}}).on("blur",function(){label.removeClass("focus checkedFocus");});inputElement.animate({opacity:0},1000,function(){$(this).fadeIn(500);});}});},GetCookie:function(c_name){var i,x,y,ARRcookies=document.cookie.split(";");for(i=0;i<ARRcookies.length;i++){x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);x=x.replace(/^\s+|\s+$/g,"");if(x==c_name){return unescape(y);}}},SetCookie:function(c_name,value,exdays){var exdate=new Date();exdate.setDate(exdate.getDate()+exdays);var c_value=escape(value)+((exdays==null)?"":"; expires="+exdate.toUTCString());document.cookie=c_name+"="+c_value;},DeleteCookie:function(c_name){document.cookie=c_name+'=; expires=Thu, 01-Jan-70 00:00:01 GMT;';},WasContactClosed:function(){var ContactClosed=AVL.BOOKBABYMARKETING.FUNCTIONS.GetCookie("ContactClosed");return(ContactClosed!=null&&ContactClosed!="")?true:false;},OpenPageTab:function(){AVL.BOOKBABYMARKETING.FUNCTIONS.DeleteCookie("ContactClosed");$("#contact-tab #open-page-tab").hide();$("#contact-tab #contact-link").show();$("#contact-tab").animate({right:"0px"},500,"easeOutBack");return false;},ClosePageTab:function(){AVL.BOOKBABYMARKETING.FUNCTIONS.SetCookie("ContactClosed","true",1);$("#contact-tab #open-page-tab").show();$("#contact-tab").animate({right:"-205px"},500,"easeInBack",function(){$("#contact-tab").animate({right:"-153px"},500,"easeOutBack");});return false;},ShowOpenTab:function(){AVL.BOOKBABYMARKETING.FUNCTIONS.OpenPageTab();},ShowClosedTab:function(){AVL.BOOKBABYMARKETING.FUNCTIONS.ClosePageTab();}}}
$(document).ready(function(){AVL.BOOKBABYMARKETING.Init();if(!AVL.BOOKBABYMARKETING.FUNCTIONS.WasContactClosed())
window.setTimeout(function(){AVL.BOOKBABYMARKETING.FUNCTIONS.ShowOpenTab();},3000);else
AVL.BOOKBABYMARKETING.FUNCTIONS.ShowClosedTab();});;