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