/* Input Mask plugin for jquery http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - 2013 Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 2.2.5 */ (function(e){void 0==e.fn.inputmask&&(e.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:e.noop,onincomplete:e.noop,oncleared:e.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:e.noop,onKeyDown:e.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:e.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,radixPoint:"",rightAlignNumerics:!0,definitions:{9:{validator:"[0-9]", cardinality:1},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]",cardinality:1},"*":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32, TAB:9,UP:38,WINDOWS:91},ignorables:[9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],getMaskLength:function(e,E,P){var M=e.length;!E&&1=o?j[o-1]:[],l=d.validator,d=d.cardinality;e.push({fn:l?"string"==typeof l?RegExp(l):new function(){this.test=l}:/./,cardinality:d?d:1,optionality:c,newBlockMarker:!0==c?k:!1,offset:0,casing:g.casing,def:g.definitionSymbol|b});!0==c&&(k=!1)}e.push({fn:g.validator?"string"==typeof g.validator?RegExp(g.validator): new function(){this.test=g.validator}:/./,cardinality:g.cardinality,optionality:c,newBlockMarker:k,offset:0,casing:g.casing,def:g.definitionSymbol|b})}else e.push({fn:null,cardinality:0,optionality:c,newBlockMarker:k,offset:0,casing:null,def:b}),f=!1;k=!1;return e}})}function V(){function b(b){var c=b.length;for(i=0;ig;n--)h+=A(f,e-(n-1));c&&(h+=c);return null!=d.tests[e].fn?d.tests[e].fn.test(h,f,b,k,a):!1}if(k)return l(b,y());var g=[],j=!1,h=p;e.each(t,function(e){p=e;var d=b;if(h!=p&&!z(b)){if(c==this._buffer[d]||c==a.skipOptionalPartCharacter)return g[e]={refresh:!0},this.lastValidPosition=d,!1;d=n?K(f,b):w(f,b)}if(((void 0==this.lastValidPosition&&d==n?K(f,q(f)):w(f,-1))||n||a.numericInput?this.lastValidPosition<= a.numericInput?q(f):w(f,d):this.lastValidPosition>=K(f,d))&&0<=d&&d=c){p=e;if(p!=f){var e=q(b),s=l();if(k||a.numericInput)b.reverse(), s.reverse();for(var g=b.length=c;g=a)return a;for(var e=c;++e=a)return 0;for(;0<--a&&!z(a););return a}function I(b,c,a){var e=G()[B(c)], n=a;if(void 0!=n)switch(e.casing){case "upper":n=a.toUpperCase();break;case "lower":n=a.toLowerCase()}b[c]=n}function A(b,c,a){a&&(c=W(b,c));return b[c]}function W(b,c,a){if(a)for(;0>c&&b.length=f&&k.lastValidPosition==g-1){for(var j=!0,h=0;hj?(m-=1,a.numericInput&&""!=a.radixPoint&&d[m]==a.radixPoint?(m=s(j,d.length-1==m?m:m-1,F(m),!0),m++):v?(m=s(j,m,F(m),!0),m=d[m+1]==a.radixPoint?m+1:w(d,m)):m=n(m,g),S(d,m,p),C(c,d,m)):0=g;)k=0==k?-1:K(d,k);k>=g?s(g,d.length,h):f=!1}else I(d,g,h);f&&(h=w(d,g),C(this,d,h),setTimeout(function(){Q(d)&&c.trigger("complete")},0))}U&&r(this,P,M);a.showTooltip&&c.prop("title",y().mask);b.preventDefault()}}function h(b){var c=e(this),f=b.keyCode;a.onKeyUp.call(this,b,d,a);f==a.keyCode.TAB&&(c.hasClass("focus.inputmask")&& 0==this._valueGet().length&&a.showMaskOnFocus)&&(d=l().slice(),C(this,d),v||r(this,0),E=this._valueGet())}var o=e(b);if(o.is(":input")){a.showTooltip&&o.prop("title",y().mask);var d=l().slice();y().greedy=y().greedy?y().greedy:0==y().repeat;var x=o.prop("maxLength");q(d)>x&&-1L&&(H(c,d[c],d,true,v)!==false||!z(c))?c:L):r(a,c=parseInt(RegExp(/[0-9]+/).exec(ea))}var t,p=0;if("string"==typeof x)switch(x){case "mask":return J(a.alias,E),t=V(),this.each(function(){Z(this)});case "unmaskedvalue":return t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,a=this.data("inputmask").opts,aa(this);case "remove":return this.each(function(){var b=e(this),c=this;setTimeout(function(){if(b.data("inputmask")){t=b.data("inputmask").masksets;p=b.data("inputmask").activeMasksetIndex; a=b.data("inputmask").opts;c._valueSet(aa(b,!0));b.removeData("inputmask");b.unbind(".inputmask");b.removeClass("focus.inputmask");var e;Object.getOwnPropertyDescriptor&&(e=Object.getOwnPropertyDescriptor(c,"value"));e&&e.get?c._valueGet&&Object.defineProperty(c,"value",{get:c._valueGet,set:c._valueSet}):document.__lookupGetter__&&c.__lookupGetter__("value")&&c._valueGet&&(c.__defineGetter__("value",c._valueGet),c.__defineSetter__("value",c._valueSet));delete c._valueGet;delete c._valueSet}},0)}); case "getemptymask":return this.data("inputmask")?(t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,t[p]._buffer.join("")):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,a=this.data("inputmask").opts,Q(this[0]._valueGet().split(""));default:return J(x,E)||(a.mask=x),t=V(),this.each(function(){Z(this)})}else{if("object"== typeof x)return a=e.extend(!0,{},e.inputmask.defaults,x),J(a.alias,x),t=V(),this.each(function(){Z(this)});if(void 0==x)return this.each(function(){var b=e(this).attr("data-inputmask");if(b&&""!=b)try{var b=b.replace(RegExp("'","g"),'"'),c=e.parseJSON("{"+b+"}");a=e.extend(!0,{},e.inputmask.defaults,c);J(a.alias,c);a.alias=void 0;e(this).inputmask(a)}catch(f){}})}return this})})(jQuery);