/*
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.7
*/
(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
=m?l[m-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|b});!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|b})}else e.push({fn:null,cardinality:0,optionality:c,newBlockMarker:j,offset:0,casing:null,def:b}),f=!1;j=!1;return e}})}function W(){function b(b){var c=b.length;for(i=0;in;h--)g+=A(f,e-(h-1));c&&(g+=c);return null!=d.tests[e].fn?d.tests[e].fn.test(g,f,b,j,a):!1}if(j)return k(b,y());var g=[],l=!1,h=p;e.each(u,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),t=k();if(j||a.numericInput)b.reverse(),
t.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=X(b,c));return b[c]}function X(b,c,a){if(a)for(;0>c&&b.length=f&&j.lastValidPosition==g-1){for(var l=!0,h=0;hl?(o-=1,a.numericInput&&""!=a.radixPoint&&d[o]==a.radixPoint?(o=t(l,d.length-1==o?o:o-1,F(o),!0),o++):s?(o=t(l,o,F(o),!0),o=d[o+1]==a.radixPoint?o+1:w(d,o)):o=n(o,h),S(d,o,p),C(c,d,o)):0=h;)j=0==j?-1:K(d,j);j>=h?t(h,d.length,g):f=!1}else I(d,h,g);f&&(g=w(d,h),C(this,d,g),setTimeout(function(){Q(d)&&c.trigger("complete")},0))}V&&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=k().slice(),C(this,d),s||r(this,0),E=this._valueGet())}var m=e(b);if(m.is(":input")){a.showTooltip&&m.prop("title",y().mask);var d=k().slice();y().greedy=y().greedy?y().greedy:0==y().repeat;var x=m.prop("maxLength");q(d)>x&&-1L&&(H(c,d[c],d,true,s)!==false||!z(c))?c:L):r(a,c=parseInt(RegExp(/[0-9]+/).exec(ea))}var u,p=0;if("string"==typeof x)switch(x){case "mask":return J(a.alias,E),u=W(),this.each(function(){Z(this)});case "unmaskedvalue":return u=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")){u=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")?(u=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,u[p]._buffer.join("")):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return u=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),u=W(),this.each(function(){Z(this)})}else{if("object"==
typeof x)return a=e.extend(!0,{},e.inputmask.defaults,x),J(a.alias,x),u=W(),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);