jquery.inputmask.js 23 KB

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