/* 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.18 */ (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,Q){var N=e.length;!E&&1=k?J[k-1]:[],h=d.validator,d=d.cardinality;e.push({fn:h?"string"==typeof h?RegExp(h):new function(){this.test=h}:/./,cardinality:d?d:1,optionality:c,newBlockMarker:!0==c?l:!1,offset:0,casing:j.casing,def:j.definitionSymbol|a});!0==c&&(l=!1)}e.push({fn:j.validator?"string"==typeof j.validator?RegExp(j.validator): new function(){this.test=j.validator}:/./,cardinality:j.cardinality,optionality:c,newBlockMarker:l,offset:0,casing:j.casing,def:j.definitionSymbol|a})}else e.push({fn:null,cardinality:0,optionality:c,newBlockMarker:l,offset:0,casing:null,def:a}),f=!1;l=!1;return e}})}function X(){function a(a){var c=a.length;for(i=0;ih;g--)k+=B(f,e-(g-1));c&&(k+=c);return null!=d.tests[e].fn?d.tests[e].fn.test(k,f,a,l,b):!1}if(l||p){p=j(a,t());if(!1!==p){!0===p&&(p={pos:a});var J=t(),g=p.pos||a;if(void 0==J.lastValidPosition||J.lastValidPosition=K(f,e))&&0<=e&&e=c))return o=f,y(void 0,a,!1,!0,!1,a.join(""),l),!1})}function z(a){a=C(a);a=G()[a];return void 0!=a?a.fn:!1}function C(a){return a%G().length}function F(a){return b.placeholder.charAt(a%b.placeholder.length)}function s(a){return b.getMaskLength(h(),t().greedy,t().repeat,a,b)}function u(a,c){var b=s(a);if(c>=b)return b;for(var e=c;++e=b)return 0;for(;0<--b&&!z(b););return b}function M(a,c,b,e,h){e&&(c=Y(a,c,h));e=G()[C(c)];h=b;if(void 0!=h)switch(e.casing){case "upper":h=b.toUpperCase();break;case "lower":h=b.toLowerCase()}a[c]=h}function B(a,c,b){b&&(c=Y(a,c));return a[c]}function Y(a,c,b){if(b)for(;0>c&&a.lengthh().length){l=V(c.join(""),j).split("");k=l.length;for(m=0;m=f&&m.lastValidPosition==j){for(var l=!0,g=0;g<=j;g++){var k=z(g),d=C(g);if(k&&(void 0==a[g]||a[g]==F(g))||!k&&a[g]!=h()[d]){l=!1;break}}if(b=b||l)return!1}f=m.lastValidPosition});o=m;return b}function $(a){function c(a){a=e._data(a).events;e.each(a,function(a,b){e.each(b,function(a,b){if("inputmask"==b.namespace){var d=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return d.apply(this,arguments)}}})})}function f(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=e(this),b=e(this).data("inputmask"),d=b.masksets,c=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=d[c]._buffer.join("")?this._valueGet():""},set:function(a){this._valueSet(a);e(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=e(this),b=e(this).data("inputmask"),d=b.masksets,c=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=d[c]._buffer.join("")?this._valueGet():""}),a.__defineSetter__("value",function(a){this._valueSet(a);e(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return this.value},a._valueSet=function(a){this.value= a}),!0!=e.fn.val.inputmaskpatch)e.fn.val=function(){if(arguments.length==0){var a=e(this);if(a.data("inputmask")){if(a.data("inputmask").opts.autoUnmask)return a.inputmask("unmaskedvalue");var a=e.inputmask.val.apply(a),b=e(this).data("inputmask");return a!=b.masksets[b.activeMasksetIndex]._buffer.join("")?a:""}return e.inputmask.val.apply(a)}var d=arguments;return this.each(function(){var a=e(this),b=e.inputmask.val.apply(a,d);a.data("inputmask")&&a.triggerHandler("setvalue.inputmask");return b})}, e.extend(e.fn.val,{inputmaskpatch:!0})}function l(a,d){if(b.numericInput&&""!=b.radixPoint){var e=a._valueGet().indexOf(b.radixPoint);q=d.begin<=e||d.end<=e||-1==e}}function x(a,b,e){for(;!z(a)&&0<=a-1;)a--;for(var c=a;cL?(n-=1,b.numericInput&&""!=b.radixPoint&&d[n]== b.radixPoint?(n=p(L,d.length-1==n?n:n-1,F(n),!0),n++):q?(n=p(L,n,F(n),!0),n=d[n+1]==b.radixPoint?n+1:u(d,n)):n=x(n,j),T(d,n,o,q),t().lastValidPosition=n,D(c,d,n)):0=g;)j=0==j?-1:K(d,j);j>=g?p(g,d.length,h):f=!1}else M(d,g,h,!0,q);f&&(h=u(d,g),D(this,d,h),setTimeout(function(){R(d)&&c.trigger("complete")},0))}W&&m(this,Q,N);b.showTooltip&&c.prop("title",t().mask);a.preventDefault()}}function g(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=h().slice(),D(this,d),q||m(this,0),E=this._valueGet())}var k=e(a);if(k.is(":input")){b.showTooltip&& k.prop("title",t().mask);var d=h().slice();t().greedy=t().greedy?t().greedy:0==t().repeat;var w=k.prop("maxLength");s(d)>w&&-1A&&(H(c,d[c],d,true,q)!==false||!z(c))?c:A):m(a,c=parseInt(RegExp(/[0-9]+/).exec(fa))}var r,o=0;if("string"==typeof w)switch(w){case "mask":return I(b.alias, E),r=X(),this.each(function(){$(this)});case "unmaskedvalue":return r=this.data("inputmask").masksets,o=this.data("inputmask").activeMasksetIndex,b=this.data("inputmask").opts,ba(this);case "remove":return this.each(function(){var a=e(this),c=this;setTimeout(function(){if(a.data("inputmask")){r=a.data("inputmask").masksets;o=a.data("inputmask").activeMasksetIndex;b=a.data("inputmask").opts;c._valueSet(ba(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")?(r=this.data("inputmask").masksets,o=this.data("inputmask").activeMasksetIndex,r[o]._buffer.join("")): "";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return r=this.data("inputmask").masksets,o=this.data("inputmask").activeMasksetIndex,b=this.data("inputmask").opts,R(this[0]._valueGet().split(""));default:return I(w,E)||(b.mask=w),r=X(),this.each(function(){$(this)})}else{if("object"==typeof w)return b=e.extend(!0,{},e.inputmask.defaults,w),I(b.alias,w),r=X(),this.each(function(){$(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);