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