jquery.inputmask.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. Input Mask plugin for jquery
  3. http://github.com/RobinHerbots/jquery.inputmask
  4. Copyright (c) 2010 - 2013 Robin Herbots
  5. Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. Version: 2.2.31
  7. */
  8. (function(d){void 0==d.fn.inputmask&&(d.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:d.noop,onincomplete:d.noop,oncleared:d.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:d.noop,onKeyDown:d.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:d.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,radixPoint:"",skipRadixDance:!1,rightAlignNumerics:!0,
  9. 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,
  10. 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(d,F,P){var M=d.length;!F&&1<P&&(M+=d.length*(P-1));return M}},val:d.fn.val,escapeRegex:function(d){return d.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")}},d.fn.inputmask=function(D,F){var P,M;function I(c,e){var p=b.aliases[c];return p?(p.alias&&I(p.alias),d.extend(!0,b,p),d.extend(!0,
  11. b,e),!0):!1}function N(c){var e=!1,p=0,a=b.greedy,h=b.repeat;1==c.length&&!1==a&&(b.placeholder="");for(var c=d.map(c.split(""),function(c){var a=[];if(c==b.escapeChar)e=true;else if(c!=b.optionalmarker.start&&c!=b.optionalmarker.end||e){var d=b.definitions[c];if(d&&!e)for(c=0;c<d.cardinality;c++)a.push(C(p+c));else{a.push(c);e=false}p=p+a.length;return a}}),v=c.slice(),l=1;l<h&&a;l++)v=v.concat(c.slice());return{mask:v,repeat:h,greedy:a}}function S(c){var e=!1,a=!1,n=!1;return d.map(c.split(""),
  12. function(c){var d=[];if(c==b.escapeChar)a=!0;else if(c==b.optionalmarker.start&&!a)n=e=!0;else if(c==b.optionalmarker.end&&!a)e=!1,n=!0;else{var l=b.definitions[c];if(l&&!a){for(var j=l.prevalidator,s=j?j.length:0,k=1;k<l.cardinality;k++){var f=s>=k?j[k-1]:[],o=f.validator,f=f.cardinality;d.push({fn:o?"string"==typeof o?RegExp(o):new function(){this.test=o}:/./,cardinality:f?f:1,optionality:e,newBlockMarker:!0==e?n:!1,offset:0,casing:l.casing,def:l.definitionSymbol|c});!0==e&&(n=!1)}d.push({fn:l.validator?
  13. "string"==typeof l.validator?RegExp(l.validator):new function(){this.test=l.validator}:/./,cardinality:l.cardinality,optionality:e,newBlockMarker:n,offset:0,casing:l.casing,def:l.definitionSymbol|c})}else d.push({fn:null,cardinality:0,optionality:e,newBlockMarker:n,offset:0,casing:null,def:c}),a=!1;n=!1;return d}})}function V(){function c(c){var a=c.length;for(i=0;i<a&&c.charAt(i)!=b.optionalmarker.start;i++);var e=[c.substring(0,i)];i<a&&e.push(c.substring(i+1,a));return e}function e(h,j){var l=
  14. 0,f=0,s=j.length;for(i=0;i<s&&!(j.charAt(i)==b.optionalmarker.start&&l++,j.charAt(i)==b.optionalmarker.end&&f++,0<l&&l==f);i++);l=[j.substring(0,i)];i<s&&l.push(j.substring(i+1,s));var k=c(l[0]);if(1<k.length){if(s=h+k[0]+(b.optionalmarker.start+k[1]+b.optionalmarker.end)+(1<l.length?l[1]:""),-1==d.inArray(s,n)&&(n.push(s),f=N(s),a.push({mask:s,_buffer:f.mask,buffer:f.mask.slice(),tests:S(s),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat})),s=h+k[0]+(1<l.length?l[1]:""),-1==d.inArray(s,
  15. n)&&(n.push(s),f=N(s),a.push({mask:s,_buffer:f.mask,buffer:f.mask.slice(),tests:S(s),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat})),1<c(k[1]).length&&e(h+k[0],k[1]+l[1]),1<l.length&&1<c(l[1]).length)e(h+k[0]+(b.optionalmarker.start+k[1]+b.optionalmarker.end),l[1]),e(h+k[0],l[1])}else s=h+l,-1==d.inArray(s,n)&&(n.push(s),f=N(s),a.push({mask:s,_buffer:f.mask,buffer:f.mask.slice(),tests:S(s),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat}))}var a=[],n=[];d.isArray(b.mask)?d.each(b.mask,
  16. function(c,b){e("",b.toString())}):e("",b.mask.toString());return a}function a(){return y[f]}function E(){return a().tests}function r(){return a()._buffer}function o(){return a().buffer}function G(c,e,p,n){function h(c,a){for(var d=z(c),n=e?1:0,h="",f=a.buffer,j=a.tests[d].cardinality;j>n;j--)h+=H(f,d-(j-1));e&&(h+=e);return null!=a.tests[d].fn?a.tests[d].fn.test(h,f,c,p,b):!1}if(p=!0===p){var v=h(c,a());!0===v&&(v={pos:c});return v}var l=[],v=!1,r=f;d.each(y,function(a){f=a;if(r!=f&&!A(c)){if(e==
  17. this._buffer[c]||e==b.skipOptionalPartCharacter)return l.push({activeMasksetIndex:a,result:{refresh:!0}}),this.lastValidPosition=c,!1;this.lastValidPosition=n?j()+1:-1}if((void 0==this.lastValidPosition&&c==(n?B(j()):u(-1))||n||b.numericInput?this.lastValidPosition<=b.numericInput?j():u(c):this.lastValidPosition>=B(c))&&0<=c&&c<j()){v=h(c,this);if(!1!==v){!0===v&&(v={pos:c});var d=v.pos||c;if(void 0==this.lastValidPosition||(n?b.greedy?this.lastValidPosition>d:d==o().length-1:this.lastValidPosition<
  18. d))this.lastValidPosition=d}else this.lastValidPosition=n?c==j()?void 0:u(c):0==c?void 0:B(c);l.push({activeMasksetIndex:a,result:v})}});f=r;return l}function W(c){var e=f,p={activeMasksetIndex:0,lastValidPosition:c?j()+1:-1};d.each(y,function(a){if(void 0!=this.lastValidPosition&&(c||b.numericInput?this.lastValidPosition<p.lastValidPosition:this.lastValidPosition>p.lastValidPosition))p.activeMasksetIndex=a,p.lastValidPosition=this.lastValidPosition});f=p.activeMasksetIndex;e!=f&&(c?Q(o(),0,B(p.lastValidPosition)):
  19. Q(o(),u(p.lastValidPosition),j()),a().writeOutBuffer=!0)}function A(c){c=z(c);c=E()[c];return void 0!=c?c.fn:!1}function z(c){return c%E().length}function C(c){return b.placeholder.charAt(c%b.placeholder.length)}function j(){return b.getMaskLength(r(),a().greedy,a().repeat,o(),b)}function u(c){var a=j();if(c>=a)return a;for(;++c<a&&!A(c););return c}function B(c){if(0>=c)return 0;for(;0<--c&&!A(c););return c}function L(c,a,b,d,h){d&&(a=X(c,a,h));d=E()[z(a)];h=b;if(void 0!=h)switch(d.casing){case "upper":h=
  20. b.toUpperCase();break;case "lower":h=b.toLowerCase()}c[a]=h}function H(c,a,b){b&&(a=X(c,a));return c[a]}function X(c,a,b){if(b)for(;0>a&&c.length<j();){b=r().length-1;for(a=r().length;void 0!==r()[b];)c.unshift(r()[b--])}else for(;void 0==c[a]&&c.length<j();)for(b=0;void 0!==r()[b];)c.push(r()[b++]);return a}function K(c,a,b){c._valueSet(a.join(""));void 0!=b&&x(c,b)}function Q(c,a,b){for(var d=j();a<b&&a<d;a++)L(c,a,H(r().slice(),a,!0))}function T(c,a){var b=z(a);L(c,a,H(r(),b))}function O(c,e,p,
  21. n){var h=d(c).data("inputmask").isRTL,n=void 0!=n?n.slice():Y(c._valueGet(),h).split("");d.each(y,function(c,a){a.buffer=a._buffer.slice();a.lastValidPosition=void 0;a.p=h?j():0});!0!==p&&(f=0);h&&!b.numericInput&&(n=n.reverse());var o=j();d.each(n,function(a,f){if(!0!==p||A(h?b.numericInput?B(o):o-a-1:a)){var n=h?b.numericInput?o:o-a-1:a;d(c).trigger("keypress",[!0,f.charCodeAt(0),e,p,n])}});!0===p&&(a().lastValidPosition=h?u(a().p):B(a().p))}function aa(c){return d.inputmask.escapeRegex.call(this,
  22. c)}function Y(c,a){return a?c.replace(RegExp("^("+aa(r().join(""))+")*"),""):c.replace(RegExp("("+aa(r().join(""))+")*$"),"")}function Z(c){var a=o(),b=a.slice(),f,h;if(d(c).data("inputmask").isRTL)for(h=0;h<=b.length-1;h++)if(f=z(h),E()[f].optionality)if(!A(h)||!G(h,a[h],!0))b.splice(0,1);else break;else break;else for(h=b.length-1;0<=h;h--)if(f=z(h),E()[f].optionality)if(!A(h)||!G(h,a[h],!0))b.pop();else break;else break;K(c,b)}function ba(a,b){var f=a[0];return E()&&(!0===b||!a.hasClass("hasDatepicker"))?
  23. (O(f,!1,!0),d.map(o(),function(a,c){return A(c)&&G(c,a,!0)?a:null}).join("")):f._valueGet()}function x(a,e,f){var j=a.jquery&&0<a.length?a[0]:a;if("number"==typeof e)d(a).is(":visible")&&(f="number"==typeof f?f:e,!1==b.insertMode&&e==f&&f++,j.setSelectionRange?U?(setTimeout(function(){j.selectionStart=e;j.selectionEnd=U?e:f},10),P=e,M=f):(j.selectionStart=e,j.selectionEnd=f):j.createTextRange&&(a=j.createTextRange(),a.collapse(!0),a.moveEnd("character",f),a.moveStart("character",e),a.select()));else{if(!d(a).is(":visible"))return{begin:0,
  24. end:0};j.setSelectionRange?(e=j.selectionStart,f=j.selectionEnd):document.selection&&document.selection.createRange&&(a=document.selection.createRange(),e=0-a.duplicate().moveStart("character",-1E5),f=e+a.text.length);return{begin:e,end:f}}}function R(a){var b=!1,o=0,n=f;d.each(y,function(d,n){f=d;var l=B(j());if(void 0!=n.lastValidPosition&&n.lastValidPosition>=o&&n.lastValidPosition==l){for(var u=!0,s=0;s<=l;s++){var k=A(s),x=z(s);if(k&&(void 0==a[s]||a[s]==C(s))||!k&&a[s]!=r()[x]){u=!1;break}}if(b=
  25. b||u)return!1}o=n.lastValidPosition});f=n;return b}function $(c){function e(a){a=d._data(a).events;d.each(a,function(a,b){d.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 p(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=
  26. d(this),b=d(this).data("inputmask"),c=b.masksets,f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=c[f]._buffer.join("")?this._valueGet():""},set:function(a){this._valueSet(a);d(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=d(this),b=d(this).data("inputmask"),
  27. c=b.masksets,f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):this._valueGet()!=c[f]._buffer.join("")?this._valueGet():""}),a.__defineSetter__("value",function(a){this._valueSet(a);d(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return this.value},a._valueSet=function(a){this.value=a}),!0!=d.fn.val.inputmaskpatch)d.fn.val=function(){if(arguments.length==0){var a=d(this);if(a.data("inputmask")){if(a.data("inputmask").opts.autoUnmask)return a.inputmask("unmaskedvalue");
  28. var a=d.inputmask.val.apply(a),b=d(this).data("inputmask");return a!=b.masksets[b.activeMasksetIndex]._buffer.join("")?a:""}return d.inputmask.val.apply(a)}var c=arguments;return this.each(function(){var a=d(this),b=d.inputmask.val.apply(a,c);a.data("inputmask")&&a.triggerHandler("setvalue.inputmask");return b})},d.extend(d.fn.val,{inputmaskpatch:!0})}function n(a,c){if(b.numericInput&&""!=b.radixPoint&&!1===b.skipRadixDance){var d=a._valueGet().indexOf(b.radixPoint);q=c.begin<=d||c.end<=d||-1==d}}
  29. function h(b,c,d){for(var f=o();!A(b)&&0<=b-1;)b--;for(var g=b;g<c&&g<j();g++)if(A(g)){T(f,g);var e=u(g),h=H(f,e);if(h!=C(e))if(e<j()&&!1!==G(g,h,!0,q)&&E()[z(g)].def==E()[z(e)].def)L(f,g,H(f,e),!0,q),e<c&&T(f,e);else if(A(g))break}else T(f,g);void 0!=d&&L(f,q?c:B(c),d);if(!1==a().greedy){c=Y(f.join(""),q).split("");f.length=c.length;g=0;for(d=f.length;g<d;g++)f[g]=c[g];0==f.length&&(a().buffer=r().slice())}return b}function v(b,c,d,f){for(var g=o();b<=c&&b<j();b++)if(A(b)){var e=H(g,b);L(g,b,d,!0,
  30. q);if(e!=C(b))if(d=u(b),d<j())if(!1!==G(d,e,!0,q)&&E()[z(b)].def==E()[z(d)].def)d=e;else if(A(d))break;else d=e;else break;else if(d=e,!0!==f)break}else T(g,b);f=g.length;if(!1==a().greedy){d=Y(g.join(""),q).split("");g.length=d.length;b=0;for(e=g.length;b<e;b++)g[b]=d[b];0==g.length&&(a().buffer=r().slice())}return c-(f-g.length)}function l(c){F=!1;var e=this,m=c.keyCode,t=x(e);n(e,t);if(m==b.keyCode.BACKSPACE||m==b.keyCode.DELETE||da&&127==m||c.ctrlKey&&88==m){c.preventDefault();var g=t.begin;if(0==
  31. t.begin&&t.end==j())Q(o(),t.begin,t.end),d.each(y,function(a,b){b.buffer=b._buffer.slice();b.lastValidPosition=void 0;b.p=q?j():0});else if(1<t.end-t.begin||1==t.end-t.begin&&b.insertMode){Q(o(),t.begin,t.end);var l=j();if(!1==b.greedy)q?v(0,t.end-1,C(t.end),!0):h(t.begin,l);else for(var p=t.begin;p<t.end;p++)A(p)&&(q?v(0,t.end-1,C(t.end),!0):h(t.begin,l));O(e,!1,!0,o())}else d.each(y,function(c){f=c;g=ca?t.end:t.begin;var c=o(),d=q?B(j()+1):u(-1),e=j();if(m==b.keyCode.DELETE){if(q?g>d:g<d)g=d;if(g<
  32. e&&(b.numericInput&&""!=b.radixPoint&&c[g]==b.radixPoint?(g=c.length-1==g?g:u(g),g=h(g,e)):q?(g=v(0,g,C(g),!0),g=u(g)):g=h(g,e),void 0!=a().lastValidPosition))-1!=a().lastValidPosition&&o()[a().lastValidPosition]==r()[a().lastValidPosition]&&(a().lastValidPosition=q?u(a().lastValidPosition):0==a().lastValidPosition?-1:B(a().lastValidPosition)),(q?a().lastValidPosition>d:a().lastValidPosition<d)?(a().lastValidPosition=void 0,a().p=d):(a().writeOutBuffer=!0,a().p=g)}else if(m==b.keyCode.BACKSPACE)if(q?
  33. g<=d:g>d){if(g-=1,b.numericInput&&""!=b.radixPoint&&c[g]==b.radixPoint?(g=v(0,c.length-1==g?g:g-1,C(g),!0),g++):q?(g=v(0,g,C(g),!0),g=c[g+1]==b.radixPoint?g+1:u(g)):g=h(g,e),void 0!=a().lastValidPosition)-1!=a().lastValidPosition&&o()[a().lastValidPosition]==r()[a().lastValidPosition]&&(a().lastValidPosition=q?u(a().lastValidPosition):0==a().lastValidPosition?-1:B(a().lastValidPosition)),(q?a().lastValidPosition>d:a().lastValidPosition<d)?(a().lastValidPosition=void 0,a().p=d):(a().writeOutBuffer=
  34. !0,a().p=g)}else 0<f&&(a().lastValidPosition=void 0,a().writeOutBuffer=!0,a().p=d,f=0,a().buffer=r().slice(),a().p=q?B(j()+1):u(-1),a().lastValidPosition=void 0)});W(q);K(e,o(),a().p);e._valueGet()==r().join("")&&d(e).trigger("cleared");b.showTooltip&&k.prop("title",a().mask)}else m==b.keyCode.END||m==b.keyCode.PAGE_DOWN?setTimeout(function(){var d=q?a().lastValidPosition:u(a().lastValidPosition);!b.insertMode&&(d==j()&&!c.shiftKey)&&d--;x(e,c.shiftKey?t.begin:d,d)},0):m==b.keyCode.HOME&&!c.shiftKey||
  35. m==b.keyCode.PAGE_UP?x(e,0,c.shiftKey?t.begin:0):m==b.keyCode.ESCAPE?(e._valueSet(a().undoBuffer),O(e,!0,!0)):m==b.keyCode.INSERT?(b.insertMode=!b.insertMode,x(e,!b.insertMode&&t.begin==j()?t.begin-1:t.begin)):!1==b.insertMode&&!c.shiftKey&&(m==b.keyCode.RIGHT?setTimeout(function(){var a=x(e);x(e,a.begin)},0):m==b.keyCode.LEFT&&setTimeout(function(){var a=x(e);x(e,a.begin-1)},0));b.onKeyDown.call(this,c,o(),b);I=-1!=d.inArray(m,b.ignorables)}function D(c,e,m,t,g,l){if(void 0==m&&F)return!1;F=!0;var n=
  36. d(this),c=c||window.event,m=m||c.which||c.charCode||c.keyCode,p=String.fromCharCode(m);if(b.numericInput&&p==b.radixPoint){var s=this._valueGet().indexOf(b.radixPoint);x(this,u(-1!=s?s:j()))}if((c.ctrlKey||c.metaKey||I)&&!0!==e)return!0;if(m){var k,r;e?(m=g?l:b.numericInput?u(a().p):a().p,k={begin:m,end:m}):k=x(this);m=f;d.each(y,function(c){f=c;a().undoBuffer=o().join("");if(k.end-k.begin>1||k.end-k.begin==1&&b.insertMode){c=k.end<j()?k.end:j();Q(o(),k.begin,c);var d=j();if(b.greedy==false)q?v(0,
  37. c-1,C(c),true):h(k.begin,d);else for(var e=k.begin;e<c;e++)A(e)&&(q?v(0,c-1,C(c),true):h(k.begin,d))}});f=m;if(q){var w=B(k.end),m=G(w,p,g,q);!0===g&&(m=[{activeMasksetIndex:f,result:m}]);d.each(m,function(c,d){f=d.activeMasksetIndex;a().writeOutBuffer=true;var e=d.result;if(e!==false){var g=false,m=o();if(e!==true){g=e.refresh;w=e.pos!=void 0?e.pos:w;p=e.c!=void 0?e.c:p}if(g!==true){var g=j(),l=u(-1),e=l;if(b.insertMode==true){if(a().greedy==true)for(var t=m.slice();H(t,e,true)!=C(e)&&e<=w;)e=e==
  38. g?g+1:u(e);if(e<=w&&(a().greedy||m.length<g||H(m,w)==C(w))){if(m[l]!=C(l)&&m.length<g){m=X(m,-1,q);k.end!=0&&(w=w+m)}h(e,w,p)}else a().writeOutBuffer=false}else L(m,w,p,true,q)}a().p=w}});!0!==g&&W(q);if(!1!==t&&(d.each(m,function(a,b){if(b.activeMasksetIndex==f){r=b;return false}}),void 0!=r))if(setTimeout(function(){b.onKeyValidation.call(this,r.result,b)},0),a().writeOutBuffer&&!1!==r.result){var z=o();K(this,z,e?void 0:b.numericInput?u(a().p):a().p);setTimeout(function(){R(z)&&n.trigger("complete")},
  39. 0)}else a().buffer=a().undoBuffer.split("")}else w=u(k.begin-1),m=G(w,p,g,q),!0===g&&(m=[{activeMasksetIndex:f,result:m}]),d.each(m,function(c,d){f=d.activeMasksetIndex;a().writeOutBuffer=true;var e=d.result;if(e!==false){var g=false,h=o();if(e!==true){g=e.refresh;w=e.pos!=void 0?e.pos:w;p=e.c!=void 0?e.c:p}if(g!==true)if(b.insertMode==true){e=j();for(g=h.slice();H(g,e,true)!=C(e)&&e>=w;)e=e==0?-1:B(e);e>=w?v(w,h.length,p):a().writeOutBuffer=false}else L(h,w,p,true,q);a().p=u(w)}}),!0!==g&&W(q),!1!==
  40. t&&(d.each(m,function(a,b){if(b.activeMasksetIndex==f){r=b;return false}}),void 0!=r&&(setTimeout(function(){b.onKeyValidation.call(this,r.result,b)},0),a().writeOutBuffer&&!1!==r.result?(w=a().p,z=o(),K(this,z,e?void 0:w),setTimeout(function(){R(z)&&n.trigger("complete")},0)):a().buffer=a().undoBuffer.split("")));U&&!0!==e&&x(this,P,M);b.showTooltip&&n.prop("title",a().mask);c.preventDefault()}}function s(c){var e=d(this),f=c.keyCode,h=o();b.onKeyUp.call(this,c,h,b);f==b.keyCode.TAB&&(e.hasClass("focus.inputmask")&&
  41. 0==this._valueGet().length&&b.showMaskOnFocus)&&(h=r().slice(),K(this,h),q||x(this,0),a().undoBuffer=this._valueGet())}var k=d(c);if(k.is(":input")){b.showTooltip&&k.prop("title",a().mask);a().greedy=a().greedy?a().greedy:0==a().repeat;var J=k.prop("maxLength");j()>J&&-1<J&&(J<r().length&&(r().length=J),!1==a().greedy&&(a().repeat=Math.round(J/r().length)),k.prop("maxLength",2*j()));k.data("inputmask",{masksets:y,activeMasksetIndex:f,opts:b,isRTL:!1});p(c);a().undoBuffer=c._valueGet();var F=!1,I=
  42. !1,q=!1;if("rtl"==c.dir||b.numericInput)("rtl"==c.dir||b.numericInput&&b.rightAlignNumerics)&&k.css("text-align","right"),c.dir="ltr",k.removeAttr("dir"),J=k.data("inputmask"),J.isRTL=!0,k.data("inputmask",J),q=!0;k.unbind(".inputmask");k.removeClass("focus.inputmask");k.bind("mouseenter.inputmask",function(){!d(this).hasClass("focus.inputmask")&&b.showMaskOnHover&&this._valueGet()!=o().join("")&&K(this,o())}).bind("blur.inputmask",function(){var c=d(this),e=this._valueGet(),h=o();c.removeClass("focus.inputmask");
  43. e!=a().undoBuffer&&c.change();b.clearMaskOnLostFocus&&e!=""&&(e==r().join("")?this._valueSet(""):Z(this));if(!R(h)){c.trigger("incomplete");if(b.clearIncomplete){d.each(y,function(a,c){c.buffer=c._buffer.slice();c.lastValidPosition=void 0;c.p=q?j():0});f=0;if(b.clearMaskOnLostFocus)this._valueSet("");else{h=r().slice();K(this,h)}}}}).bind("focus.inputmask",function(){var c=d(this),e=this._valueGet();b.showMaskOnFocus&&!c.hasClass("focus.inputmask")&&(!b.showMaskOnHover||b.showMaskOnHover&&e=="")&&
  44. this._valueGet()!=o().join("")&&K(this,o(),a().p);c.addClass("focus.inputmask");a().undoBuffer=this._valueGet()}).bind("mouseleave.inputmask",function(){var a=d(this);b.clearMaskOnLostFocus&&(a.hasClass("focus.inputmask")||(this._valueGet()==r().join("")||this._valueGet()==""?this._valueSet(""):Z(this)))}).bind("click.inputmask",function(){var c=this;setTimeout(function(){var e=x(c),f=o();if(e.begin==e.end){var h=e.begin,g=a().lastValidPosition;n(c,e);if(q){e=b.numericInput?b.skipRadixDance===false&&
  45. b.radixPoint!=""&&d.inArray(b.radixPoint,f)!=-1?d.inArray(b.radixPoint,f):j():B((g==void 0?j():g)+1);x(c,h>e&&(G(h,f[h],true,q)!==false||!A(h))?h:e)}else{e=u(g==void 0?-1:g);x(c,h<e&&(G(h,f[h],true,q)!==false||!A(h))?h:e)}}},0)}).bind("dblclick.inputmask",function(){var c=this;a().lastValidPosition!=void 0&&setTimeout(function(){q?x(c,B(a().lastValidPosition),j()):x(c,0,u(a().lastValidPosition))},0)}).bind("keydown.inputmask",l).bind("keypress.inputmask",D).bind("keyup.inputmask",s).bind(ea+".inputmask dragdrop.inputmask drop.inputmask",
  46. function(){var a=this,c=o();setTimeout(function(){x(a,O(a,true,false));R(c)&&k.trigger("complete")},0)}).bind("setvalue.inputmask",function(){a().undoBuffer=this._valueGet();O(this,true);this._valueGet()==r().join("")&&this._valueSet("")}).bind("complete.inputmask",b.oncomplete).bind("incomplete.inputmask",b.onincomplete).bind("cleared.inputmask",b.oncleared);O(c,!0,!1);var N;try{N=document.activeElement}catch(S){}N===c?(k.addClass("focus.inputmask"),x(c,a().lastValidPosition)):b.clearMaskOnLostFocus&&
  47. (o().join("")==r().join("")?c._valueSet(""):Z(c));e(c)}}var b=d.extend(!0,{},d.inputmask.defaults,F),ea=function(a){var b=document.createElement("input"),a="on"+a,d=a in b;d||(b.setAttribute(a,"return;"),d="function"==typeof b[a]);return d}("paste")?"paste":"input",da=null!=navigator.userAgent.match(/iphone/i),U=null!=navigator.userAgent.match(/android.*safari.*/i),ca;if(U){var fa=navigator.userAgent.match(/safari.*/i);ca=533>=parseInt(RegExp(/[0-9]+/).exec(fa))}var y,f=0;if("string"==typeof D)switch(D){case "mask":return I(b.alias,
  48. F),y=V(),this.each(function(){$(this)});case "unmaskedvalue":return y=this.data("inputmask").masksets,f=this.data("inputmask").activeMasksetIndex,b=this.data("inputmask").opts,ba(this);case "remove":return this.each(function(){var a=d(this),e=this;setTimeout(function(){if(a.data("inputmask")){y=a.data("inputmask").masksets;f=a.data("inputmask").activeMasksetIndex;b=a.data("inputmask").opts;e._valueSet(ba(a,!0));a.removeData("inputmask");a.unbind(".inputmask");a.removeClass("focus.inputmask");var d;
  49. Object.getOwnPropertyDescriptor&&(d=Object.getOwnPropertyDescriptor(e,"value"));d&&d.get?e._valueGet&&Object.defineProperty(e,"value",{get:e._valueGet,set:e._valueSet}):document.__lookupGetter__&&e.__lookupGetter__("value")&&e._valueGet&&(e.__defineGetter__("value",e._valueGet),e.__defineSetter__("value",e._valueSet));delete e._valueGet;delete e._valueSet}},0)});case "getemptymask":return this.data("inputmask")?(y=this.data("inputmask").masksets,f=this.data("inputmask").activeMasksetIndex,y[f]._buffer.join("")):
  50. "";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return y=this.data("inputmask").masksets,f=this.data("inputmask").activeMasksetIndex,b=this.data("inputmask").opts,R(this[0]._valueGet().split(""));default:return I(D,F)||(b.mask=D),y=V(),this.each(function(){$(this)})}else{if("object"==typeof D)return b=d.extend(!0,{},d.inputmask.defaults,D),I(b.alias,D),y=V(),this.each(function(){$(this)});if(void 0==D)return this.each(function(){var a=
  51. d(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),e=d.parseJSON("{"+a+"}");b=d.extend(!0,{},d.inputmask.defaults,e);I(b.alias,e);b.alias=void 0;d(this).inputmask(b)}catch(f){}})}return this})})(jQuery);