/*
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.9
*/
(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,D,P){var M=e.length;!D&&1
=n?l[n-1]:[],k=d.validator,d=d.cardinality;e.push({fn:k?"string"==typeof k?RegExp(k):new function(){this.test=k}:/./,cardinality:d?d:1,optionality:c,newBlockMarker:!0==c?j:!1,offset:0,casing:g.casing,def:g.definitionSymbol|a});!0==c&&(j=!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:j,offset:0,casing:g.casing,def:g.definitionSymbol|a})}else e.push({fn:null,cardinality:0,optionality:c,newBlockMarker:j,offset:0,casing:null,def:a}),f=!1;j=!1;return e}})}function W(){function a(a){var c=a.length;for(i=0;im;g--)h+=A(f,e-(g-1));c&&(h+=c);return null!=d.tests[e].fn?d.tests[e].fn.test(h,f,a,j,b):!1}if(j)return k(a,y());var g=[],l=!1,h=p;e.each(t,function(e){p=e;var d=a;if(h!=p&&!z(a)){if(c==this._buffer[d]||c==b.skipOptionalPartCharacter)return g[e]={refresh:!0},this.lastValidPosition=d,!1;d=m?J(f,a):v(f,a)}if((void 0==this.lastValidPosition&&d==(m?J(f,r(f)):v(f,-1))||m||b.numericInput?this.lastValidPosition<=
b.numericInput?r(f):v(f,d):this.lastValidPosition>=J(f,d))&&0<=d&&d=c)return p=f,B(void 0,a,!1,!1,a.join(""),
j),!1})}function z(a){a=G(a);a=F()[a];return void 0!=a?a.fn:!1}function G(a){return a%F().length}function E(a){return b.placeholder.charAt(a%b.placeholder.length)}function r(a){return b.getMaskLength(k(),y().greedy,y().repeat,a,b)}function v(a,c){var b=r(a);if(c>=b)return b;for(var e=c;++e=b)return 0;for(;0<--b&&!z(b););return b}function K(a,c,b){var e=F()[G(c)],m=b;if(void 0!=m)switch(e.casing){case "upper":m=b.toUpperCase();break;case "lower":m=
b.toLowerCase()}a[c]=m}function A(a,c,b){b&&(c=X(a,c));return a[c]}function X(a,c,b){if(b)for(;0>c&&a.length=f&&j.lastValidPosition==g-1){for(var l=!0,h=0;hl?(o-=1,b.numericInput&&""!=b.radixPoint&&d[o]==b.radixPoint?(o=x(l,d.length-1==o?o:o-1,E(o),!0),o++):s?(o=x(l,o,E(o),!0),o=d[o+1]==b.radixPoint?o+1:v(d,o)):o=m(o,g),S(d,o,p,s),C(c,d,o)):0=g;)j=0==j?-1:J(d,j);j>=g?x(g,d.length,h):f=!1}else K(d,g,h);f&&(h=v(d,g),C(this,d,h),setTimeout(function(){Q(d)&&c.trigger("complete")},0))}V&&q(this,P,M);b.showTooltip&&c.prop("title",y().mask);a.preventDefault()}}function h(a){var c=e(this),f=a.keyCode;b.onKeyUp.call(this,a,d,b);f==b.keyCode.TAB&&(c.hasClass("focus.inputmask")&&0==this._valueGet().length&&b.showMaskOnFocus)&&(d=k().slice(),
C(this,d),s||q(this,0),D=this._valueGet())}var n=e(a);if(n.is(":input")){b.showTooltip&&n.prop("title",y().mask);var d=k().slice();y().greedy=y().greedy?y().greedy:0==y().repeat;var w=n.prop("maxLength");r(d)>w&&-1L&&(H(c,d[c],d,true,s)!==false||!z(c))?c:L):q(a,c=parseInt(RegExp(/[0-9]+/).exec(ea))}var t,
p=0;if("string"==typeof w)switch(w){case "mask":return I(b.alias,D),t=W(),this.each(function(){Z(this)});case "unmaskedvalue":return t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,b=this.data("inputmask").opts,aa(this);case "remove":return this.each(function(){var a=e(this),c=this;setTimeout(function(){if(a.data("inputmask")){t=a.data("inputmask").masksets;p=a.data("inputmask").activeMasksetIndex;b=a.data("inputmask").opts;c._valueSet(aa(a,!0));a.removeData("inputmask");
a.unbind(".inputmask");a.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,b=this.data("inputmask").opts,Q(this[0]._valueGet().split(""));default:return I(w,D)||(b.mask=w),t=W(),this.each(function(){Z(this)})}else{if("object"==typeof w)return b=e.extend(!0,{},e.inputmask.defaults,w),I(b.alias,w),t=W(),this.each(function(){Z(this)});
if(void 0==w)return this.each(function(){var a=e(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),c=e.parseJSON("{"+a+"}");b=e.extend(!0,{},e.inputmask.defaults,c);I(b.alias,c);b.alias=void 0;e(this).inputmask(b)}catch(f){}})}return this})})(jQuery);