/* 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.3.17 */ (function(c){void 0==c.fn.inputmask&&(c.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:c.noop,onincomplete:c.noop,oncleared:c.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:c.noop,onKeyDown:c.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:c.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,isNumeric:!1,radixPoint:"",skipRadixDance:!1,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(c,w,z,F){var B=c.length;w||("*"==z?B=F.length+1:1=g?r[g-1]:[],u=n.validator,n=n.cardinality;j.push({fn:u?"string"==typeof u?RegExp(u):new function(){this.test=u}:/./,cardinality:n?n:1,optionality:f,newBlockMarker:!0==f?d:!1,offset:0,casing:e.casing,def:e.definitionSymbol|c}); !0==f&&(d=!1)}j.push({fn:e.validator?"string"==typeof e.validator?RegExp(e.validator):new function(){this.test=e.validator}:/./,cardinality:e.cardinality,optionality:f,newBlockMarker:d,offset:0,casing:e.casing,def:e.definitionSymbol|c})}else j.push({fn:null,cardinality:0,optionality:f,newBlockMarker:d,offset:0,casing:null,def:c}),a=!1;d=!1;return j}})}function K(){function e(a){var c=a.length;for(i=0;ie;h--)f+=z(C,p-(h-1)); E&&(f+=E);return null!=c.tests[p].fn?c.tests[p].fn.test(f,C,a,M,b):!1}if(M=!0===M){var C=j(p,a());!0===C&&(C={pos:p});return C}var N=[],C=!1,d=f;c.each(e,function(c,M){if("object"==typeof M){f=c;var g=p;if(d!=f&&!l(p)){if(E==h()[g]||E==b.skipOptionalPartCharacter)return N.push({activeMasksetIndex:c,result:{refresh:!0,c:h()[g]}}),a().lastValidPosition=g,!1;e[d].lastValidPosition>=g?a().lastValidPosition=-1:g=u(p)}if((void 0==a().lastValidPosition&&g==u(-1)||a().lastValidPosition>=t(g))&&0<=g&&gE.lastValidPosition)&&(E.activeMasksetIndex=a,E.lastValidPosition=this.lastValidPosition)});f=E.activeMasksetIndex;b!=f&&(I(j(),u(E.lastValidPosition), n()),a().writeOutBuffer=!0)}function l(a){a=g(a);a=d()[a];return void 0!=a?a.fn:!1}function g(a){return a%d().length}function n(){return b.getMaskLength(h(),a().greedy,a().repeat,j(),b)}function u(a){var c=n();if(a>=c)return c;for(;++a=a)return 0;for(;0<--a&&!l(a););return a}function D(a,c,b,e){e&&(c=A(a,c));var e=d()[g(c)],f=b;if(void 0!=f)switch(e.casing){case "upper":f=b.toUpperCase();break;case "lower":f=b.toLowerCase()}a[c]=f}function z(a,c,b){b&&(c=A(a, c));return a[c]}function A(a,c){for(var b;void 0==a[c]&&a.length=j&&e.lastValidPosition==d){for(var q=!0,o=0;o<=d;o++){var r=l(o),u=g(o);if(r&&(void 0==a[o]||a[o]==L(o))||!r&&a[o]!=h()[u]){q=!1;break}}if(b=b||q)return!1}j=e.lastValidPosition}});f=d;return b}function W(a,c){return H?1k){if(d-=1,b.isNumeric&&""!=b.radixPoint&&x[d]==b.radixPoint?(d=C(0,x.length-1==d?d:d-1,L(d),!0),d++):d=F(d,l),void 0!=a().lastValidPosition)-1!=a().lastValidPosition&&j()[a().lastValidPosition]==h()[a().lastValidPosition]&&(a().lastValidPosition=0==a().lastValidPosition?-1:t(a().lastValidPosition)),a().lastValidPositions.begin&&a().lastValidPosition=w;)d=d==0?-1:t(d);if(d>=w){C(w,h.length,p);h=a().lastValidPosition;d=u(h);d!=n()&&(h>=w&&z(j(),d)!=L(d))&&(a().lastValidPosition=d)}else a().writeOutBuffer=false}else D(h,w,p,true);a().p=u(w)}}); !0!==k&&r();if(!1!==v&&(c.each(m,function(a,b){if(b.activeMasksetIndex==f){A=b;return false}}),void 0!=A)){var K=this;setTimeout(function(){b.onKeyValidation.call(K,A.result,b)},0);if(a().writeOutBuffer&&!1!==A.result){var J=j();B(this,J,g?void 0:b.numericInput?t(a().p):a().p);!0!==g&&setTimeout(function(){P(J)&&o.trigger("complete")},0)}else h&&(a().buffer=a().undoBuffer.split(""))}b.showTooltip&&o.prop("title",a().mask);d.preventDefault()}}function S(e){var d=c(this),f=e.keyCode,g=j(),k=y(this); b.onKeyUp.call(this,e,g,b);y(this,k.begin,k.end);f==b.keyCode.TAB&&(d.hasClass("focus.inputmask")&&0==this._valueGet().length&&b.showMaskOnFocus)&&(g=h().slice(),B(this,g),y(this,0),a().undoBuffer=this._valueGet())}var o=c(p);if(o.is(":input")){o.data("_inputmask",{masksets:e,activeMasksetIndex:f,opts:b,isRTL:!1});b.showTooltip&&o.prop("title",a().mask);a().greedy=a().greedy?a().greedy:0==a().repeat;if(null!=o.attr("maxLength")){var J=o.prop("maxLength");-1J&&-1=parseInt(RegExp(/[0-9]+/).exec(I))}if("string"===typeof A)switch(A){case "mask":return z(b.alias,w),t=K(),this.each(function(){G(c.extend(!0,{},t),0).mask(this)});case "unmaskedvalue":return I=c(this),I.data("_inputmask")? (t=I.data("_inputmask").masksets,D=I.data("_inputmask").activeMasksetIndex,b=I.data("_inputmask").opts,G(t,D).unmaskedvalue(I)):I.val();case "remove":return this.each(function(){var e=c(this);if(e.data("_inputmask")){t=e.data("_inputmask").masksets;D=e.data("_inputmask").activeMasksetIndex;b=e.data("_inputmask").opts;this._valueSet(G(t,D).unmaskedvalue(e,!0));e.removeData("_inputmask");e.unbind(".inputmask");e.removeClass("focus.inputmask");var f;Object.getOwnPropertyDescriptor&&(f=Object.getOwnPropertyDescriptor(this, "value"));f&&f.get?this._valueGet&&Object.defineProperty(this,"value",{get:this._valueGet,set:this._valueSet}):document.__lookupGetter__&&this.__lookupGetter__("value")&&this._valueGet&&(this.__defineGetter__("value",this._valueGet),this.__defineSetter__("value",this._valueSet));try{delete this._valueGet,delete this._valueSet}catch(a){this._valueSet=this._valueGet=void 0}}});case "getemptymask":return this.data("_inputmask")?(t=this.data("_inputmask").masksets,D=this.data("_inputmask").activeMasksetIndex, t[D]._buffer.join("")):"";case "hasMaskedValue":return this.data("_inputmask")?!this.data("_inputmask").opts.autoUnmask:!1;case "isComplete":return t=this.data("_inputmask").masksets,D=this.data("_inputmask").activeMasksetIndex,b=this.data("_inputmask").opts,G(t,D).isComplete(this[0]._valueGet().split(""));default:return z(A,w)||(b.mask=A),t=K(),this.each(function(){G(c.extend(true,{},t),D).mask(this)})}else{if("object"==typeof A)return b=c.extend(!0,{},c.inputmask.defaults,A),z(b.alias,A),t=K(), this.each(function(){G(c.extend(!0,{},t),D).mask(this)});if(void 0==A)return this.each(function(){var e=c(this).attr("data-inputmask");if(e&&""!=e)try{var e=e.replace(RegExp("'","g"),'"'),f=c.parseJSON("{"+e+"}");c.extend(!0,f,w);b=c.extend(!0,{},c.inputmask.defaults,f);z(b.alias,f);b.alias=void 0;c(this).inputmask(b)}catch(a){}})}return this})})(jQuery);