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