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