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.27
  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,G,P){var M=d.length;!G&&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,G){var P,M;function I(c,e){var a=b.aliases[c];return a?(a.alias&&I(a.alias),d.extend(!0,b,a),d.extend(!0,
  11. b,e),!0):!1}function N(c){var e=!1,a=0,l=b.greedy,h=b.repeat;1==c.length&&!1==l&&(b.placeholder="");for(var c=d.map(c.split(""),function(c){var d=[];if(c==b.escapeChar)e=true;else if(c!=b.optionalmarker.start&&c!=b.optionalmarker.end||e){var h=b.definitions[c];if(h&&!e)for(c=0;c<h.cardinality;c++)d.push(C(a+c));else{d.push(c);e=false}a=a+d.length;return d}}),w=c.slice(),k=1;k<h&&l;k++)w=w.concat(c.slice());return{mask:w,repeat:h,greedy:l}}function R(c){var e=!1,a=!1,l=!1;return d.map(c.split(""),
  12. function(c){var d=[];if(c==b.escapeChar)a=!0;else if(c==b.optionalmarker.start&&!a)l=e=!0;else if(c==b.optionalmarker.end&&!a)e=!1,l=!0;else{var k=b.definitions[c];if(k&&!a){for(var j=k.prevalidator,m=j?j.length:0,r=1;r<k.cardinality;r++){var f=m>=r?j[r-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?l:!1,offset:0,casing:k.casing,def:k.definitionSymbol|c});!0==e&&(l=!1)}d.push({fn:k.validator?
  13. "string"==typeof k.validator?RegExp(k.validator):new function(){this.test=k.validator}:/./,cardinality:k.cardinality,optionality:e,newBlockMarker:l,offset:0,casing:k.casing,def:k.definitionSymbol|c})}else d.push({fn:null,cardinality:0,optionality:e,newBlockMarker:l,offset:0,casing:null,def:c}),a=!1;l=!1;return d}})}function U(){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 k=
  14. 0,f=0,m=j.length;for(i=0;i<m&&!(j.charAt(i)==b.optionalmarker.start&&k++,j.charAt(i)==b.optionalmarker.end&&f++,0<k&&k==f);i++);k=[j.substring(0,i)];i<m&&k.push(j.substring(i+1,m));var r=c(k[0]);if(1<r.length){if(m=h+r[0]+(b.optionalmarker.start+r[1]+b.optionalmarker.end)+(1<k.length?k[1]:""),-1==d.inArray(m,l)&&(l.push(m),f=N(m),a.push({mask:m,_buffer:f.mask,buffer:f.mask.slice(),tests:R(m),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat})),m=h+r[0]+(1<k.length?k[1]:""),-1==d.inArray(m,
  15. l)&&(l.push(m),f=N(m),a.push({mask:m,_buffer:f.mask,buffer:f.mask.slice(),tests:R(m),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat})),1<c(r[1]).length&&e(h+r[0],r[1]+k[1]),1<k.length&&1<c(k[1]).length)e(h+r[0]+(b.optionalmarker.start+r[1]+b.optionalmarker.end),k[1]),e(h+r[0],k[1])}else m=h+k,-1==d.inArray(m,l)&&(l.push(m),f=N(m),a.push({mask:m,_buffer:f.mask,buffer:f.mask.slice(),tests:R(m),lastValidPosition:void 0,greedy:f.greedy,repeat:f.repeat}))}var a=[],l=[];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 n(){return a()._buffer}function o(){return a().buffer}function H(c,e,v,l){function h(c,a){for(var d=z(c),l=e?1:0,h="",f=a.buffer,j=a.tests[d].cardinality;j>l;j--)h+=F(f,d-(j-1));e&&(h+=e);return null!=a.tests[d].fn?a.tests[d].fn.test(h,f,c,v,b):!1}if(v){var w=h(c,a());!0===w&&(w={pos:c});return w}var k=[],w=!1,n=f;d.each(y,function(a){f=a;if(n!=f&&!A(c)){if(e==this._buffer[c]||
  17. e==b.skipOptionalPartCharacter)return k.push({activeMasksetIndex:a,result:{refresh:!0}}),this.lastValidPosition=c,!1;this.lastValidPosition=l?j()+1:-1}if((void 0==this.lastValidPosition&&c==(l?B(j()):u(-1))||l||b.numericInput?this.lastValidPosition<=b.numericInput?j():u(c):this.lastValidPosition>=B(c))&&0<=c&&c<j()){w=h(c,this);if(!1!==w){!0===w&&(w={pos:c});var d=w.pos||c;if(void 0==this.lastValidPosition||(l?b.greedy?this.lastValidPosition>d:d==o().length-1:this.lastValidPosition<d))this.lastValidPosition=
  18. d}else this.lastValidPosition=l?c==j()?void 0:u(c):0==c?void 0:B(c);k.push({activeMasksetIndex:a,result:w})}});f=n;return k}function V(c){var e=f,v={activeMasksetIndex:0,lastValidPosition:c?j()+1:-1};d.each(y,function(a){if(void 0!=this.lastValidPosition&&(c||b.numericInput?this.lastValidPosition<v.lastValidPosition:this.lastValidPosition>v.lastValidPosition))v.activeMasksetIndex=a,v.lastValidPosition=this.lastValidPosition});f=v.activeMasksetIndex;e!=f&&(a().writeOutBuffer=!0)}function A(c){c=z(c);
  19. 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(n(),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=W(c,a,h));d=E()[z(a)];h=b;if(void 0!=h)switch(d.casing){case "upper":h=b.toUpperCase();break;case "lower":h=b.toLowerCase()}c[a]=h}function F(c,
  20. a,b){b&&(a=W(c,a));return c[a]}function W(c,a,b){if(b)for(;0>a&&c.length<j();){b=n().length-1;for(a=n().length;void 0!==n()[b];)c.unshift(n()[b--])}else for(;void 0==c[a]&&c.length<j();)for(b=0;void 0!==n()[b];)c.push(n()[b++]);return a}function K(c,a,b){c._valueSet(a.join(""));void 0!=b&&x(c,b)}function X(c,a,b){for(var d=j();a<b&&a<d;a++)L(c,a,F(n().slice(),a,!0))}function S(c,a){var b=z(a);L(c,a,F(n(),b))}function O(c,e,v,l){var h=d(c).data("inputmask").isRTL,l=void 0!=l?l.slice():Y(c._valueGet(),
  21. h).split("");d.each(y,function(c,a){a.buffer=a._buffer.slice();a.lastValidPosition=void 0;a.p=h?j():0});!0!==v&&(f=0);h&&!b.numericInput&&(l=l.reverse());var o=j();d.each(l,function(a,f){if(!0!==v||A(h?b.numericInput?B(o):o-a-1:a)){var l=h?b.numericInput?o:o-a-1:a;d(c).trigger("keypress",[!0,f.charCodeAt(0),e,v,l])}});!0===v&&(a().lastValidPosition=h?u(a().p):B(a().p))}function aa(c){return d.inputmask.escapeRegex.call(this,c)}function Y(c,a){return a?c.replace(RegExp("^("+aa(n().join(""))+")*"),
  22. ""):c.replace(RegExp("("+aa(n().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)||!H(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)||!H(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"))?(O(f,!1,!0),d.map(o(),function(a,c){return A(c)&&H(c,a,!0)?a:
  23. 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?T?(setTimeout(function(){j.selectionStart=e;j.selectionEnd=T?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,end:0};j.setSelectionRange?
  24. (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 Q(a){var b=!1,o=0,l=f;d.each(y,function(d,l){f=d;var k=B(j());if(void 0!=l.lastValidPosition&&l.lastValidPosition>=o&&l.lastValidPosition==k){for(var u=!0,m=0;m<=k;m++){var r=A(m),x=z(m);if(r&&(void 0==a[m]||a[m]==C(m))||!r&&a[m]!=n()[x]){u=!1;break}}if(b=b||u)return!1}o=l.lastValidPosition});
  25. f=l;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 v(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=d(this),b=d(this).data("inputmask"),
  26. 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"),c=b.masksets,f=b.activeMasksetIndex;
  27. 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 l(a,c){if(b.numericInput&&""!=b.radixPoint&&!1===b.skipRadixDance){var d=a._valueGet().indexOf(b.radixPoint);p=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)){S(f,g);var e=u(g),h=F(f,e);if(h!=C(e))if(e<j()&&!1!==H(g,h,!0,p)&&E()[z(g)].def==E()[z(e)].def)L(f,g,F(f,e),!0,p),e<c&&S(f,e);else if(A(g))break}else S(f,g);void 0!=d&&L(f,p?c:B(c),d);if(!1==a().greedy){c=Y(f.join(""),p).split("");f.length=c.length;g=0;for(d=f.length;g<d;g++)f[g]=c[g];0==f.length&&(a().buffer=n().slice())}return b}function w(b,c,d,f){for(var g=o();b<=c&&b<j();b++)if(A(b)){var e=F(g,b);L(g,b,d,!0,
  30. p);if(e!=C(b))if(d=u(b),d<j())if(!1!==H(d,e,!0,p)&&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 S(g,b);f=g.length;if(!1==a().greedy){d=Y(g.join(""),p).split("");g.length=d.length;b=0;for(e=g.length;b<e;b++)g[b]=d[b];0==g.length&&(a().buffer=n().slice())}return c-(f-g.length)}function k(c){G=!1;var e=this,q=c.keyCode,s=x(e);l(e,s);if(q==b.keyCode.BACKSPACE||q==b.keyCode.DELETE||da&&127==q||c.ctrlKey&&88==q){c.preventDefault();var g=s.begin;if(0==
  31. s.begin&&s.end==j())X(o(),s.begin,s.end),d.each(y,function(a,b){b.buffer=b._buffer.slice();b.lastValidPosition=void 0;b.p=p?j():0});else if(1<s.end-s.begin||1==s.end-s.begin&&b.insertMode){X(o(),s.begin,s.end);var k=j();if(!1==b.greedy)p?w(0,s.end-1,C(s.end),!0):h(s.begin,k);else for(var m=s.begin;m<s.end;m++)A(m)&&(p?w(0,s.end-1,C(s.end),!0):h(s.begin,k));O(e,!1,!0,o())}else d.each(y,function(c){f=c;g=ca?s.end:s.begin;var c=o(),d=p?B(j()+1):u(-1),e=j();if(q==b.keyCode.DELETE){if(p?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)):p?(g=w(0,g,C(g),!0),g=u(g)):g=h(g,e),void 0!=a().lastValidPosition))-1!=a().lastValidPosition&&o()[a().lastValidPosition]==n()[a().lastValidPosition]&&(a().lastValidPosition=p?u(a().lastValidPosition):0==a().lastValidPosition?-1:B(a().lastValidPosition)),(p?a().lastValidPosition>d:a().lastValidPosition<d)?(a().lastValidPosition=void 0,a().p=d):(a().writeOutBuffer=!0,a().p=g)}else if(q==b.keyCode.BACKSPACE)if(p?
  33. g<=d:g>d){if(g-=1,b.numericInput&&""!=b.radixPoint&&c[g]==b.radixPoint?(g=w(0,c.length-1==g?g:g-1,C(g),!0),g++):p?(g=w(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]==n()[a().lastValidPosition]&&(a().lastValidPosition=p?u(a().lastValidPosition):0==a().lastValidPosition?-1:B(a().lastValidPosition)),(p?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=n().slice(),a().p=p?B(j()+1):u(-1),a().lastValidPosition=void 0)});V(p);K(e,o(),a().p);e._valueGet()==n().join("")&&d(e).trigger("cleared");b.showTooltip&&r.prop("title",a().mask)}else q==b.keyCode.END||q==b.keyCode.PAGE_DOWN?setTimeout(function(){var d=p?a().lastValidPosition:u(a().lastValidPosition);!b.insertMode&&(d==j()&&!c.shiftKey)&&d--;x(e,c.shiftKey?s.begin:d,d)},0):q==b.keyCode.HOME&&!c.shiftKey||
  35. q==b.keyCode.PAGE_UP?x(e,0,c.shiftKey?s.begin:0):q==b.keyCode.ESCAPE?(e._valueSet(a().undoBuffer),O(e,!0,!0)):q==b.keyCode.INSERT?(b.insertMode=!b.insertMode,x(e,!b.insertMode&&s.begin==j()?s.begin-1:s.begin)):!1==b.insertMode&&!c.shiftKey&&(q==b.keyCode.RIGHT?setTimeout(function(){var a=x(e);x(e,a.begin)},0):q==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(q,b.ignorables)}function D(c,e,q,s,g,l){if(void 0==q&&G)return!1;G=!0;var k=
  36. d(this),c=c||window.event,q=q||c.which||c.charCode||c.keyCode,m=String.fromCharCode(q);if(b.numericInput&&m==b.radixPoint){var r=this._valueGet().indexOf(b.radixPoint);x(this,u(-1!=r?r:j()))}if((c.ctrlKey||c.metaKey||I)&&!0!==e)return!0;if(q){var n,v;e?(q=g?l:a().p,n={begin:q,end:q}):n=x(this);q=f;d.each(y,function(c){f=c;a().undoBuffer=o().join("");if(n.end-n.begin>1||n.end-n.begin==1&&b.insertMode){c=n.end<j()?n.end:j();X(o(),n.begin,c);var d=j();if(b.greedy==false)p?w(0,c-1,C(c),true):h(n.begin,
  37. d);else for(var e=n.begin;e<c;e++)A(e)&&(p?w(0,c-1,C(c),true):h(n.begin,d))}});f=q;if(p){var t=B(n.end),q=H(t==j()||F(o(),t)==b.radixPoint?B(t):t,m,g,p);!0===g&&(q=[{activeMasksetIndex:f,result:q}]);d.each(q,function(c,d){f=d.activeMasksetIndex;a().writeOutBuffer=true;var e=d.result;if(e!==false){var g=false,k=o();if(e!==true){g=e.refresh;t=e.pos!=void 0?e.pos:t;m=e.c!=void 0?e.c:m}if(g!==true){var g=j(),l=u(-1),e=l;if(b.insertMode==true){if(a().greedy==true)for(var q=k.slice();F(q,e,true)!=C(e)&&
  38. e<=t;)e=e==g?g+1:u(e);if(e<=t&&(a().greedy||k.length<g||F(k,t)==C(t))){if(k[l]!=C(l)&&k.length<g){k=W(k,-1,p);n.end!=0&&(t=t+k)}h(e,t,m)}else a().writeOutBuffer=false}else L(k,t,m,true,p)}a().p=t}});!0!==g&&V(p);if(!1!==s&&(d.each(q,function(a,b){if(b.activeMasksetIndex==f){v=b;return false}}),void 0!=v))if(setTimeout(function(){b.onKeyValidation.call(this,v.result,b)},0),a().writeOutBuffer&&!1!==v.result){var z=o();K(this,z,e?void 0:b.numericInput?u(a().p):a().p);setTimeout(function(){Q(z)&&k.trigger("complete")},
  39. 0)}else a().buffer=a().undoBuffer.split("")}else t=u(n.begin-1),q=H(t,m,g,p),!0===g&&(q=[{activeMasksetIndex:f,result:q}]),d.each(q,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;t=e.pos!=void 0?e.pos:t;m=e.c!=void 0?e.c:m}if(g!==true)if(b.insertMode==true){e=j();for(g=h.slice();F(g,e,true)!=C(e)&&e>=t;)e=e==0?-1:B(e);e>=t?w(t,h.length,m):a().writeOutBuffer=false}else L(h,t,m,true,p);a().p=u(t)}}),!0!==g&&V(p),!1!==
  40. s&&(d.each(q,function(a,b){if(b.activeMasksetIndex==f){v=b;return false}}),void 0!=v&&(setTimeout(function(){b.onKeyValidation.call(this,v.result,b)},0),a().writeOutBuffer&&!1!==v.result?(t=a().p,z=o(),K(this,z,e?void 0:t),setTimeout(function(){Q(z)&&k.trigger("complete")},0)):a().buffer=a().undoBuffer.split("")));T&&!0!==e&&x(this,P,M);b.showTooltip&&k.prop("title",a().mask);c.preventDefault()}}function m(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=n().slice(),K(this,h),p||x(this,0),a().undoBuffer=this._valueGet())}var r=d(c);if(r.is(":input")){b.showTooltip&&r.prop("title",a().mask);a().greedy=a().greedy?a().greedy:0==a().repeat;var J=r.prop("maxLength");j()>J&&-1<J&&(J<n().length&&(n().length=J),!1==a().greedy&&(a().repeat=Math.round(J/n().length)),r.prop("maxLength",2*j()));r.data("inputmask",{masksets:y,activeMasksetIndex:f,opts:b,isRTL:!1});v(c);a().undoBuffer=c._valueGet();var G=!1,I=
  42. !1,p=!1;if("rtl"==c.dir||b.numericInput)("rtl"==c.dir||b.numericInput&&b.rightAlignNumerics)&&r.css("text-align","right"),c.dir="ltr",r.removeAttr("dir"),J=r.data("inputmask"),J.isRTL=!0,r.data("inputmask",J),p=!0;r.unbind(".inputmask");r.removeClass("focus.inputmask");r.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==n().join("")?this._valueSet(""):Z(this));if(!Q(h)){c.trigger("incomplete");if(b.clearIncomplete){d.each(y,function(a,c){c.buffer=c._buffer.slice();c.lastValidPosition=void 0;c.p=p?j():0});f=0;if(b.clearMaskOnLostFocus)this._valueSet("");else{h=n().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()==n().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;l(c,e);if(p){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&&(H(h,f[h],true,p)!==false||!A(h))?h:e)}else{e=u(g==void 0?-1:g);x(c,h<e&&(H(h,f[h],true,p)!==false||!A(h))?h:e)}}},0)}).bind("dblclick.inputmask",function(){var c=this;a().lastValidPosition!=void 0&&setTimeout(function(){p?x(c,B(a().lastValidPosition),j()):x(c,0,u(a().lastValidPosition))},0)}).bind("keydown.inputmask",k).bind("keypress.inputmask",D).bind("keyup.inputmask",m).bind(ea+".inputmask dragdrop.inputmask drop.inputmask",
  46. function(){var a=this,c=o();setTimeout(function(){x(a,O(a,true,false));Q(c)&&r.trigger("complete")},0)}).bind("setvalue.inputmask",function(){a().undoBuffer=this._valueGet();O(this,true);this._valueGet()==n().join("")&&this._valueSet("")}).bind("complete.inputmask",b.oncomplete).bind("incomplete.inputmask",b.onincomplete).bind("cleared.inputmask",b.oncleared);O(c,!0);var N;try{N=document.activeElement}catch(R){}N===c?(r.addClass("focus.inputmask"),x(c,a().lastValidPosition)):b.clearMaskOnLostFocus&&
  47. (o().join("")==n().join("")?c._valueSet(""):Z(c));e(c)}}var b=d.extend(!0,{},d.inputmask.defaults,G),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),T=null!=navigator.userAgent.match(/android.*safari.*/i),ca;if(T){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. G),y=U(),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,Q(this[0]._valueGet().split(""));default:return I(D,G)||(b.mask=D),y=U(),this.each(function(){$(this)})}else{if("object"==typeof D)return b=d.extend(!0,{},d.inputmask.defaults,D),I(b.alias,D),y=U(),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);