/* Input Mask plugin for jquery http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - 2012 Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 1.3.43 */ (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,showMaskOnHover:!0,onKeyValidation:e.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]},val:e.fn.val,escapeRegex:function(e){return e.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")},getMaskLength:function(e,C,z){var D=e.length;!C&&1=h?j[h-1]:[],f=l.validator,l=l.cardinality;g.push({fn:f?"string"==typeof f?RegExp(f):new function(){this.test=f}:/./,cardinality:l?l:1,optionality:d,newBlockMarker:!0==d?c:!1,offset:0,casing:i.casing,def:e});!0==d&&(c=!1)}g.push({fn:i.validator?"string"==typeof i.validator?RegExp(i.validator):new function(){this.test=i.validator}:/./,cardinality:i.cardinality,optionality:d,newBlockMarker:c, offset:0,casing:i.casing,def:e})}else g.push({fn:null,cardinality:0,optionality:d,newBlockMarker:c,offset:0,casing:null,def:e}),b=!1;c=!1;return g}})}function G(d,b,c,e){var g=!1;if(0<=d&&dr;h--)k+=t(c,j-(h-1));b&&(k+=b);g=null!=i[j].fn?i[j].fn.test(k,c,d,e,a):!1}setTimeout(function(){a.onKeyValidation.call(this,g,a)},0);return g}function r(d){d=i[d%i.length];return void 0!=d?d.fn:!1}function A(d){return a.placeholder.charAt(d%a.placeholder.length)} function n(){return e.inputmask.getMaskLength(g,a.greedy,a.repeat)}function v(d,a){var c=n();if(a>=c)return c;for(var e=a;++e=c)return 0;for(;0<--c&&!r(c););return c}function F(d,a,c){var e=i[a%i.length],g=c;if(void 0!=g)switch(e.casing){case "upper":g=c.toUpperCase();break;case "lower":g=c.toLowerCase()}d[a]=g}function t(a,b,c){c&&(b=P(a,b));return a[b]}function P(a,b,c){if(c)for(;0>b&&a.length=H&&(a.numericInput&&(a.greedy&&d==a.keyCode.DELETE&&f[p]==a.radixPoint)&&(p=v(f,p),w=!1),w?(p=z(H,p,A(p),!0),p=a.numericInput&&a.greedy&&d==a.keyCode.BACKSPACE&&f[p+1]==a.radixPoint?p+1:v(f,p)):p=s(p,h),x(c,f,p))}c._valueGet()==g.join("")&&e(c).trigger("cleared"); b.preventDefault()}else d==a.keyCode.END||d==a.keyCode.PAGE_DOWN?setTimeout(function(){var d=m(c,f,!1,!0);!a.insertMode&&(d==n()&&!b.shiftKey)&&d--;j(c,b.shiftKey?i.begin:d,d)},0):d==a.keyCode.HOME||d==a.keyCode.PAGE_UP?j(c,0,b.shiftKey?i.begin:0):d==a.keyCode.ESCAPE?(c._valueSet(y),j(c,0,m(c,f))):d==a.keyCode.INSERT?(a.insertMode=!a.insertMode,j(c,!a.insertMode&&i.begin==n()?i.begin-1:i.begin)):b.ctrlKey&&88==d?setTimeout(function(){j(c,m(c,f,!0))},0):a.insertMode||(d==a.keyCode.RIGHT?(h=i.begin== i.end?i.end+1:i.end,h=h=h;)k=0==k?-1:L(f,k);k>=h?z(h,f.length,i):g=!1}else F(f,h,i);g&&(i=v(f,h),x(c,f,i),setTimeout(function(){N(c)&&d.trigger("complete")},0))}else J&&x(c,f,k.begin);b.preventDefault()}}function k(b){var c=e(this),d=b.keyCode;a.onKeyUp.call(this,b,a);d==a.keyCode.TAB&&(c.hasClass("focus.inputmask")&&0==this._valueGet().length)&& (f=g.slice(),x(this,f),w||j(this,0),y=this._valueGet())}var h=e(d);if(h.is(":input")){a.greedy=a.greedy?a.greedy:0==a.repeat;var l=h.prop("maxLength");n()>l&&-1u&&(!1!==G(b,f[b],f,!0)||!r(b))?b:u):j(a,b=parseInt(RegExp(/[0-9]+/).exec(W));if("string"==typeof s)switch(s){case "mask":z(a.alias,C);var g=D(),i=I();return this.each(function(){O(this)}); case "unmaskedvalue":return i=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,T(this);case "remove":return this.each(function(){var d=e(this),b=this;setTimeout(function(){if(d.data("inputmask")){i=d.data("inputmask").tests;g=d.data("inputmask")._buffer;a.greedy=d.data("inputmask").greedy;a.repeat=d.data("inputmask").repeat;a.definitions=d.data("inputmask").definitions; b._valueSet(T(d,!0));d.removeData("inputmask");d.unbind(".inputmask");d.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 i=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,N(this[0]);default:return z(s,C)||(a.mask=s),g=D(),i=I(),this.each(function(){O(this)})}else{if("object"==typeof s)return a=e.extend(!0,{},e.inputmask.defaults, s),z(a.alias,s),g=D(),i=I(),this.each(function(){O(this)});if(void 0==s)return this.each(function(){var d=e(this).attr("data-inputmask");if(d&&""!=d)try{var d=d.replace(RegExp("'","g"),'"'),b=e.parseJSON("{"+d+"}");a=e.extend(!0,{},e.inputmask.defaults,b);z(a.alias,b);a.alias=void 0;e(this).inputmask(a)}catch(c){}})}return this})})(jQuery);