jquery.inputmask.js 23 KB

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