/* 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: 1.3.21 */ (function(f){void 0==f.fn.inputmask&&(f.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:f.noop,onincomplete:f.noop,oncleared:f.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:f.noop,onKeyDown:f.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:f.noop,numericInput:!1,radixPoint:"",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(f,A,L){var I=f.length;!A&&1=n?h[n-1]:[],d=k.validator,k=k.cardinality;m.push({fn:d?"string"==typeof d?RegExp(d):new function(){this.test=d}:/./,cardinality:k?k:1,optionality:e,newBlockMarker:!0==e?c:!1,offset:0,casing:g.casing,def:f});!0==e&&(c=!1)}m.push({fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test=g.validator}:/./, cardinality:g.cardinality,optionality:e,newBlockMarker:c,offset:0,casing:g.casing,def:f})}else m.push({fn:null,cardinality:0,optionality:e,newBlockMarker:c,offset:0,casing:null,def:f}),b=!1;c=!1;return m}})}function B(e,b,c,f){var g=!1;if(0<=e&&es;n--)j+=v(c,l-(n-1));b&&(j+=b);g=null!=h[l].fn?h[l].fn.test(j,c,e,f,a):!1}setTimeout(function(){a.onKeyValidation.call(this,g,a)},0);return g}function s(e){e=h[e%h.length];return void 0!=e?e.fn: !1}function y(e){return a.placeholder.charAt(e%a.placeholder.length)}function p(e){return a.getMaskLength(g,a.greedy,a.repeat,e,a)}function w(e,a){var c=p(e);if(a>=c)return c;for(var f=a;++f=c)return 0;for(;0<--c&&!s(c););return c}function E(e,a,c){var f=h[a%h.length],g=c;if(void 0!=g)switch(f.casing){case "upper":g=c.toUpperCase();break;case "lower":g=c.toLowerCase()}e[a]=g}function v(a,b,c){c&&(b=S(a,b));return a[b]}function S(a,b,c){if(c)for(;0> b&&a.lengthC&&(i-=1,a.numericInput&&""!=a.radixPoint&&d[i]==a.radixPoint?(i=A(C,d.length-1==i?i:i-1,y(i),!0),i++):x?(i=A(C,i,y(i),!0),i=d[i+1]==a.radixPoint?i+1:w(d,i)):i=m(i,r),z(c,d,i))}c._valueGet()==g.join("")&&f(c).trigger("cleared");b.preventDefault()}else e==a.keyCode.END||e==a.keyCode.PAGE_DOWN?setTimeout(function(){var e=o(c,d,!1,!0);!a.insertMode&&(e==p(d)&&!b.shiftKey)&&e--;l(c,b.shiftKey?h.begin:e,e)},0):e== a.keyCode.HOME&&!b.shiftKey||e==a.keyCode.PAGE_UP?l(c,0,b.shiftKey?h.begin:0):e==a.keyCode.ESCAPE?(c._valueSet(N),l(c,0,o(c,d))):e==a.keyCode.INSERT?(a.insertMode=!a.insertMode,l(c,!a.insertMode&&h.begin==p(d)?h.begin-1:h.begin)):b.ctrlKey&&88==e?setTimeout(function(){l(c,o(c,d,!0))},0):a.insertMode||(e==a.keyCode.RIGHT?(r=h.begin==h.end?h.end+1:h.end,r=r=i;)k=0==k?-1:M(d,k);k>=i?A(i,d.length,h):g=!1}else E(d, i,h);g&&(h=w(d,i),z(b,d,h),setTimeout(function(){R(b)&&e.trigger("complete")},0))}Q&&l(b,L,I);c.preventDefault()}}function n(c){var b=f(this),e=c.keyCode;a.onKeyUp.call(this,c,d,a);e==a.keyCode.TAB&&(b.hasClass("focus.inputmask")&&0==this._valueGet().length&&a.showMaskOnFocus)&&(d=g.slice(),z(this,d),x||l(this,0),N=this._valueGet())}var k=f(e);if(k.is(":input")){var d=g.slice();a.greedy=a.greedy?a.greedy:0==a.repeat;var t=k.prop("maxLength");p(d)>t&&-1G&&(!1!==B(b,d[b],d,!0)||!s(b))?b:G):l(a,b=parseInt(RegExp(/[0-9]+/).exec(aa))}if("string"==typeof u)switch(u){case "mask":H(a.alias,A);var g=J(),h=O();return this.each(function(){V(this)});case "unmaskedvalue":return h=this.data("inputmask").tests,g=this.data("inputmask")._buffer,a.greedy=this.data("inputmask").greedy,a.repeat=this.data("inputmask").repeat,a.definitions=this.data("inputmask").definitions,X(this);case "remove":return this.each(function(){var e= f(this),b=this;setTimeout(function(){if(e.data("inputmask")){h=e.data("inputmask").tests;g=e.data("inputmask")._buffer;a.greedy=e.data("inputmask").greedy;a.repeat=e.data("inputmask").repeat;a.definitions=e.data("inputmask").definitions;b._valueSet(X(e,!0));e.removeData("inputmask");e.unbind(".inputmask");e.removeClass("focus.inputmask");var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(b,"value"));c&&c.get?b._valueGet&&Object.defineProperty(b,"value",{get:b._valueGet,set:b._valueSet}): document.__lookupGetter__&&b.__lookupGetter__("value")&&b._valueGet&&(b.__defineGetter__("value",b._valueGet),b.__defineSetter__("value",b._valueSet));delete b._valueGet;delete b._valueSet}},0)});case "getemptymask":return this.data("inputmask")?this.data("inputmask")._buffer.join(""):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").autoUnmask:!1;case "isComplete":return h=this.data("inputmask").tests,g=this.data("inputmask")._buffer,a.greedy=this.data("inputmask").greedy, a.repeat=this.data("inputmask").repeat,a.definitions=this.data("inputmask").definitions,R(this[0]);default:return H(u,A)||(a.mask=u),g=J(),h=O(),this.each(function(){V(this)})}else{if("object"==typeof u)return a=f.extend(!0,{},f.inputmask.defaults,u),H(a.alias,u),g=J(),h=O(),this.each(function(){V(this)});if(void 0==u)return this.each(function(){var e=f(this).attr("data-inputmask");if(e&&""!=e)try{var e=e.replace(RegExp("'","g"),'"'),b=f.parseJSON("{"+e+"}");a=f.extend(!0,{},f.inputmask.defaults, b);H(a.alias,b);a.alias=void 0;f(this).inputmask(a)}catch(c){}})}return this})})(jQuery);