jquery.inputmask.js 24 KB

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