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