jquery.inputmask.js 29 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. Input Mask plugin for jquery
  3. http://github.com/RobinHerbots/jquery.inputmask
  4. Copyright (c) 2010 - 2014 Robin Herbots
  5. Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
  6. Version: 3.0.12
  7. */
  8. (function(f){if(void 0===f.fn.inputmask){var T=function(c){var b=document.createElement("input");c="on"+c;var f=c in b;f||(b.setAttribute(c,"return;"),f="function"==typeof b[c]);return f},H=function(c,b,e){return(c=e.aliases[c])?(c.alias&&H(c.alias,void 0,e),f.extend(!0,e,c),f.extend(!0,e,b),!0):!1},I=function(c){function b(b){function f(b,c,d,k){this.matches=[];this.isGroup=b||!1;this.isOptional=c||!1;this.isQuantifier=d||!1;this.isAlternator=k||!1;this.quantifier={min:1,max:1}}function e(b,f,d){var k=
  9. c.definitions[f],m=0==b.matches.length;d=void 0!=d?d:b.matches.length;if(k&&!t){for(var p=k.prevalidator,h=p?p.length:0,l=1;l<k.cardinality;l++){var r=h>=l?p[l-1]:[],u=r.validator,r=r.cardinality;b.matches.splice(d++,0,{fn:u?"string"==typeof u?RegExp(u):new function(){this.test=u}:/./,cardinality:r?r:1,optionality:b.isOptional,newBlockMarker:m,casing:k.casing,def:k.definitionSymbol||f})}b.matches.splice(d++,0,{fn:k.validator?"string"==typeof k.validator?RegExp(k.validator):new function(){this.test=
  10. k.validator}:/./,cardinality:k.cardinality,optionality:b.isOptional,newBlockMarker:m,casing:k.casing,def:k.definitionSymbol||f})}else b.matches.splice(d++,0,{fn:null,cardinality:0,optionality:b.isOptional,newBlockMarker:m,casing:null,def:f}),t=!1}for(var h=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g,t=!1,s=new f,d,k=[],p=[];d=h.exec(b);)switch(d=d[0],d.charAt(0)){case c.optionalmarker.end:case c.groupmarker.end:var l=k.pop();0<k.length?k[k.length-1].matches.push(l):s.matches.push(l);
  11. break;case c.optionalmarker.start:k.push(new f(!1,!0));break;case c.groupmarker.start:k.push(new f(!0));break;case c.quantifiermarker.start:l=new f(!1,!1,!0);d=d.replace(/[{}]/g,"");var u=d.split(",");d=isNaN(u[0])?u[0]:parseInt(u[0]);u=1==u.length?d:isNaN(u[1])?u[1]:parseInt(u[1]);if("*"==u||"+"==u)d="*"==d?0:1,c.greedy=!1;l.quantifier={min:d,max:u};if(0<k.length){u=k[k.length-1].matches;d=u.pop();if(!d.isGroup){var n=new f(!0);n.matches.push(d);d=n}u.push(d);u.push(l)}else d=s.matches.pop(),d.isGroup||
  12. (n=new f(!0),n.matches.push(d),d=n),s.matches.push(d),s.matches.push(l);break;case c.escapeChar:t=!0;break;case c.alternatormarker:break;default:0<k.length?e(k[k.length-1],d):(0<s.matches.length&&(l=s.matches[s.matches.length-1],l.isGroup&&(l.isGroup=!1,e(l,c.groupmarker.start,0),e(l,c.groupmarker.end))),e(s,d))}0<s.matches.length&&p.push(s);return p}function e(e,h){c.numericInput&&(e=e.split("").reverse().join(""));if(void 0!=e&&""!=e){if(0<c.repeat||"*"==c.repeat||"+"==c.repeat)e=c.groupmarker.start+
  13. e+c.groupmarker.end+c.quantifiermarker.start+("*"==c.repeat?0:"+"==c.repeat?1:c.repeat)+","+c.repeat+c.quantifiermarker.end;void 0==f.inputmask.masksCache[e]&&(f.inputmask.masksCache[e]={mask:e,maskToken:b(e),validPositions:{},_buffer:void 0,buffer:void 0,tests:{},metadata:h});return f.extend(!0,{},f.inputmask.masksCache[e])}}var h=[];f.isFunction(c.mask)&&(c.mask=c.mask.call(this,c));f.isArray(c.mask)?f.each(c.mask,function(b,f){void 0!=f.mask?h.push(e(f.mask.toString(),f)):h.push(e(f.toString()))}):
  14. (1==c.mask.length&&!1==c.greedy&&0!=c.repeat&&(c.placeholder=""),h=void 0!=c.mask.mask?e(c.mask.mask.toString(),c.mask):e(c.mask.toString()));return h},ea="function"===typeof ScriptEngineMajorVersion?ScriptEngineMajorVersion():10<=(new Function("/*@cc_on return @_jscript_version; @*/"))(),x=navigator.userAgent,fa=null!==x.match(/iphone/i),ga=null!==x.match(/android.*safari.*/i),ha=null!==x.match(/android.*chrome.*/i),Z=null!==x.match(/android.*firefox.*/i),$=/Kindle/i.test(x)||/Silk/i.test(x)||/KFTT/i.test(x)||
  15. /KFOT/i.test(x)||/KFJWA/i.test(x)||/KFJWI/i.test(x)||/KFSOWI/i.test(x)||/KFTHWA/i.test(x)||/KFTHWI/i.test(x)||/KFAPWA/i.test(x)||/KFAPWI/i.test(x),U=T("paste")?"paste":T("input")?"input":"propertychange",F=function(c,b,e){function h(a,g,f){g=g||0;var d=[],k,w=0,e;do{if(!0===a&&c.validPositions[w]){var p=c.validPositions[w];e=p.match;k=p.locator.slice();d.push(null==e.fn?e.def:!0===f?p.input:b.placeholder.charAt(w%b.placeholder.length))}else k=g>w?s(w,k,w-1)[0]:O(w,k,w-1),e=k.match,k=k.locator.slice(),
  16. d.push(null==e.fn?e.def:b.placeholder.charAt(w%b.placeholder.length));w++}while((void 0==J||w-1<J)&&null!=e.fn||null==e.fn&&""!=e.def||g>=w);d.pop();return d}function m(a){var g=c;g.buffer=void 0;g.tests={};!0!==a&&(g._buffer=void 0,g.validPositions={},g.p=-1)}function r(a){a=-1;var g=c.validPositions,b;for(b in g)g=parseInt(b),g>a&&(a=g);return a}function C(a,g,G){if(b.insertMode&&void 0!=c.validPositions[a]&&void 0==G){G=f.extend(!0,{},c.validPositions);var k=r(),d;for(d=a;d<=k;d++)delete c.validPositions[d];
  17. c.validPositions[a]=g;g=!0;for(d=a;d<=k;){a=A(d);d==a&&(g=!1);d=G[d];if(void 0!=d){var w=t(a);if(null==w.fn&&""==w.def)g=!1;else if(null==d.match.fn||d.match.def==w.def)g=g&&!1!==u(a,d.input,!0,!0)}if(!g)break;d=a}if(!g)return c.validPositions=f.extend(!0,{},G),!1}else c.validPositions[a]=g;return!0}function O(a,g,f){a=s(a,g,f);var c,d;for(d in a)if(c=a[d],b.greedy||(!1===c.match.optionality||!1===c.match.newBlockMarker)&&!0!==c.match.optionalQuantifier)break;return c}function t(a){return c.validPositions[a]?
  18. c.validPositions[a].match:s(a)[0].match}function s(a,g,b){function f(g,b,c,d){function G(c,d,y){if(k==a&&void 0==c.matches)return e.push({match:c,locator:d.reverse()}),!0;if(void 0!=c.matches)if(c.isGroup&&!0!==y){if(c=G(g.matches[h+1],d))return!0}else if(c.isOptional){var l=c;if(c=f(c,b,d,y))c=e[e.length-1].match,(c=0==l.matches.indexOf(c))&&(p=!0),k=a}else{if(!c.isAlternator)if(c.isQuantifier&&!0!==y)for(l=c,y=0<b.length&&!0!==y?b.shift():0;y<(isNaN(l.quantifier.max)?y+1:l.quantifier.max)&&k<=a;y++){var m=
  19. g.matches[g.matches.indexOf(l)-1];if(c=G(m,[y].concat(d),!0))if(c=e[e.length-1].match,c.optionalQuantifier=y>l.quantifier.min-1,c=0==m.matches.indexOf(c))if(y>l.quantifier.min-1){p=!0;k=a;break}else return!0;else return!0}else if(c=f(c,b,d,y))return!0}else k++}for(var h=0<b.length?b.shift():0;h<g.matches.length;h++)if(!0!==g.matches[h].isQuantifier){var y=G(g.matches[h],[h].concat(c),d);if(y&&k==a)return y;if(k>a)break}}var d=c.maskToken,k=g?b:0;b=g||[0];var e=[],p=!1;if(void 0==g){g=a-1;for(var h;void 0==
  20. (h=c.validPositions[g])&&-1<g;)g--;if(void 0!=h&&-1<g)k=g,b=h.locator.slice();else{for(g=a-1;void 0==(h=c.tests[g])&&-1<g;)g--;void 0!=h&&-1<g&&(k=g,b=h[0].locator.slice())}}for(g=b.shift();g<d.length&&!(f(d[g],b,[g])&&k==a||k>a);g++);(0==e.length||p)&&e.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return c.tests[a]=e}function d(){void 0==c._buffer&&(c._buffer=h(!1,1));return c._buffer}function k(){void 0==c.buffer&&(c.buffer=h(!0,r(),!0));return c.buffer}function p(a,
  21. g){for(var c=k().slice(),f=a;f<g;f++)c[f]!=R(f)&&c[f]!=b.skipOptionalPartCharacter&&u(f,c[f],!0,!0)}function l(a,g){switch(g.casing){case "upper":a=a.toUpperCase();break;case "lower":a=a.toLowerCase()}return a}function u(a,g,d,e){function y(a,g,d,G){var e=!1;f.each(s(a),function(w,P){for(var h=P.match,y=g?1:0,D="",v=k(),u=h.cardinality;u>y;u--)D+=void 0==c.validPositions[a-(u-1)]?R(a-(u-1)):c.validPositions[a-(u-1)].input;g&&(D+=g);e=null!=h.fn?h.fn.test(D,v,a,d,b):g!=h.def&&g!=b.skipOptionalPartCharacter||
  22. ""==h.def?!1:{c:h.def,pos:a};if(!1!==e){y=void 0!=e.c?e.c:g;y=y==b.skipOptionalPartCharacter&&null===h.fn?h.def:y;D=a;if(e.refreshFromBuffer){D=e.refreshFromBuffer;d=!0;!0===D?(c.validPositions={},c.tests={},p(0,k().length)):p(D.start,D.end);if(void 0==e.pos&&void 0==e.c)return e.pos=r(),!1;D=void 0!=e.pos?e.pos:a;P=s(D)[0]}else!0!==e&&e.pos!=a&&(D=e.pos,p(a,D),P=s(D)[0]);0<w&&m(!0);C(D,f.extend({},P,{input:l(y,h)}),G)||(e=!1);return!1}});return e}d=!0===d;var w=y(a,g,d,e);if(!d&&(b.insertMode||void 0==
  23. c.validPositions[A(a)])&&!1===w&&!n(a))for(var h=a+1,v=A(a);h<=v;h++)if(w=y(h,g,d,e),!1!==w){a=h;break}!0===w&&(w={pos:a});return w}function n(a){a=t(a);return null!=a.fn?a.fn:!1}function x(){var a;J=q.prop("maxLength");-1==J&&(J=void 0);if(!1==b.greedy){var g;g=r();a=c.validPositions[g];var f=void 0!=a?a.locator.slice():void 0;for(g+=1;void 0==a||null!=a.match.fn||null==a.match.fn&&""!=a.match.def;g++)a=O(g,f,g-1),f=a.locator.slice();a=g}else a=k().length;return void 0==J||a<J?a:J}function A(a){var g=
  24. x();if(a>=g)return g;for(;++a<g&&!n(a)&&(!0!==b.nojumps||b.nojumpsThreshold>a););return a}function N(a){if(0>=a)return 0;for(;0<--a&&!n(a););return a}function E(a,g,b){a._valueSet(g.join(""));void 0!=b&&z(a,b)}function R(a,g){g=g||t(a);return null==g.fn?g.def:b.placeholder.charAt(a%b.placeholder.length)}function M(a,g,b,e,h){e=void 0!=e?e.slice():H(a._valueGet()).split("");m();g&&a._valueSet("");f.each(e,function(g,k){if(!0===h){var e=c.p,e=-1==e?e:N(e),P=-1==e?g:A(e);-1==f.inArray(k,d().slice(e+
  25. 1,P))&&V.call(a,void 0,!0,k.charCodeAt(0),!1,b,g)}else V.call(a,void 0,!0,k.charCodeAt(0),!1,b,g),b=b||0<g&&g>c.p});g&&E(a,k(),A(r()))}function F(a){return f.inputmask.escapeRegex.call(this,a)}function H(a){return a.replace(RegExp("("+F(d().join(""))+")*$"),"")}function I(a){var g=k().slice(),b,f=r(),d={},e=c.validPositions[f].locator.slice(),h;for(b=f+1;b<g.length;b++)h=O(b,e,b-1),e=h.locator.slice(),d[b]=h;for(b=g.length-1;b>f;b--)if(h=d[b].match,h.optionality&&g[b]==R(b,h))g.pop();else break;E(a,
  26. g)}function S(a,g){if(!a.data("_inputmask")||!0!==g&&a.hasClass("hasDatepicker"))return a[0]._valueGet();var c=f.map(k(),function(a,b){return n(b)&&u(b,a,!0)?a:null}),c=(B?c.reverse():c).join(""),d=(B?k().reverse():k()).join("");return f.isFunction(b.onUnMask)?b.onUnMask.call(a,d,c,b):c}function K(a){!B||"number"!=typeof a||b.greedy&&""==b.placeholder||(a=k().length-a);return a}function z(a,g,c){a=a.jquery&&0<a.length?a[0]:a;if("number"==typeof g){g=K(g);c=K(c);c="number"==typeof c?c:g;var d=f(a).data("_inputmask")||
  27. {};d.caret={begin:g,end:c};f(a).data("_inputmask",d);f(a).is(":visible")&&(a.scrollLeft=a.scrollWidth,!1==b.insertMode&&g==c&&c++,a.setSelectionRange?(a.selectionStart=g,a.selectionEnd=c):a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveEnd("character",c),a.moveStart("character",g),a.select()))}else return d=f(a).data("_inputmask"),!f(a).is(":visible")&&d&&void 0!=d.caret?(g=d.caret.begin,c=d.caret.end):a.setSelectionRange?(g=a.selectionStart,c=a.selectionEnd):document.selection&&document.selection.createRange&&
  28. (a=document.selection.createRange(),g=0-a.duplicate().moveStart("character",-1E5),c=g+a.text.length),g=K(g),c=K(c),{begin:g,end:c}}function Q(a){if(f.isFunction(b.isComplete))return b.isComplete.call(q,a,b);if("*"!=b.repeat){var c=!1,d=N(x());if(r()==d)for(var c=!0,k=0;k<=d;k++){var e=n(k);if(e&&(void 0==a[k]||a[k]==R(k))||!e&&a[k]!=R(k)){c=!1;break}}return c}}function T(a){a=f._data(a).events;f.each(a,function(a,c){f.each(c,function(a,c){if("inputmask"==c.namespace&&"setvalue"!=c.type){var b=c.handler;
  29. c.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return b.apply(this,arguments)}}})})}function ia(a){function c(a){if(void 0==f.valHooks[a]||!0!=f.valHooks[a].inputmaskpatch){var b=f.valHooks[a]&&f.valHooks[a].get?f.valHooks[a].get:function(a){return a.value},g=f.valHooks[a]&&f.valHooks[a].set?f.valHooks[a].set:function(a,b){a.value=b;return a};f.valHooks[a]={get:function(a){var c=f(a);if(c.data("_inputmask")){if(c.data("_inputmask").opts.autoUnmask)return c.inputmask("unmaskedvalue");
  30. a=b(a);c=(c=c.data("_inputmask").maskset._buffer)?c.join(""):"";return a!=c?a:""}return b(a)},set:function(a,c){var b=f(a),d=g(a,c);b.data("_inputmask")&&b.triggerHandler("setvalue.inputmask");return d},inputmaskpatch:!0}}}var b;Object.getOwnPropertyDescriptor&&(b=Object.getOwnPropertyDescriptor(a,"value"));if(b&&b.get){if(!a._valueGet){var d=b.get,k=b.set;a._valueGet=function(){return B?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){k.call(this,B?a.split("").reverse().join(""):
  31. a)};Object.defineProperty(a,"value",{get:function(){var a=f(this),c=f(this).data("_inputmask"),b=c.maskset;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=b._buffer.join("")?d.call(this):""},set:function(a){k.call(this,a);f(this).triggerHandler("setvalue.inputmask")}})}}else document.__lookupGetter__&&a.__lookupGetter__("value")?a._valueGet||(d=a.__lookupGetter__("value"),k=a.__lookupSetter__("value"),a._valueGet=function(){return B?d.call(this).split("").reverse().join(""):
  32. d.call(this)},a._valueSet=function(a){k.call(this,B?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=f(this),c=f(this).data("_inputmask"),b=c.maskset;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=b._buffer.join("")?d.call(this):""}),a.__defineSetter__("value",function(a){k.call(this,a);f(this).triggerHandler("setvalue.inputmask")})):(a._valueGet||(a._valueGet=function(){return B?this.value.split("").reverse().join(""):this.value},a._valueSet=
  33. function(a){this.value=B?a.split("").reverse().join(""):a}),c(a.type))}function aa(a,g,d){if(b.numericInput||B){switch(g){case b.keyCode.BACKSPACE:g=b.keyCode.DELETE;break;case b.keyCode.DELETE:g=b.keyCode.BACKSPACE}B&&(a=d.end,d.end=d.begin,d.begin=a)}d.begin==d.end?(a=g==b.keyCode.BACKSPACE?d.begin-1:d.begin,b.isNumeric&&""!=b.radixPoint&&k()[a]==b.radixPoint&&(d.begin=k().length-1==a?d.begin:g==b.keyCode.BACKSPACE?a:A(a),d.end=d.begin),g==b.keyCode.BACKSPACE?d.begin=N(d.begin):g==b.keyCode.DELETE&&
  34. d.end++):1!=d.end-d.begin||b.insertMode||g==b.keyCode.BACKSPACE&&d.begin--;a=d.begin;var f=d.end;for(g=A(a-1);a<f;a++)delete c.validPositions[a];for(a=A(f-1);a<=r();a=A(a)){var f=c.validPositions[a],e=c.validPositions[g];void 0!=f&&void 0==e&&(t(g).def==f.match.def&&!1!==u(g,f.input,!0)&&delete c.validPositions[a],g=A(g))}for(g=r();0<g&&(void 0==c.validPositions[g]||null==c.validPositions[g].match.fn);)delete c.validPositions[g],g--;m(!0);g=A(-1);r()<g?c.p=g:c.p=d.begin}function W(a){X=!1;var g=this,
  35. e=f(g),h=a.keyCode,l=z(g);h==b.keyCode.BACKSPACE||h==b.keyCode.DELETE||fa&&127==h||a.ctrlKey&&88==h?(a.preventDefault(),88==h&&(L=k().join("")),aa(g,h,l),E(g,k(),c.p),g._valueGet()==d().join("")&&e.trigger("cleared"),b.showTooltip&&e.prop("title",c.mask)):h==b.keyCode.END||h==b.keyCode.PAGE_DOWN?setTimeout(function(){var c=A(r());b.insertMode||c!=x()||a.shiftKey||c--;z(g,a.shiftKey?l.begin:c,c)},0):h==b.keyCode.HOME&&!a.shiftKey||h==b.keyCode.PAGE_UP?z(g,0,a.shiftKey?l.begin:0):h==b.keyCode.ESCAPE||
  36. 90==h&&a.ctrlKey?(M(g,!0,!1,L.split("")),e.click()):h!=b.keyCode.INSERT||a.shiftKey||a.ctrlKey?!1!=b.insertMode||a.shiftKey||(h==b.keyCode.RIGHT?setTimeout(function(){var a=z(g);z(g,a.begin)},0):h==b.keyCode.LEFT&&setTimeout(function(){var a=z(g);z(g,a.begin-1)},0)):(b.insertMode=!b.insertMode,z(g,b.insertMode||l.begin!=x()?l.begin:l.begin-1));var e=z(g),w=b.onKeyDown.call(this,a,k(),b);w&&!0===w.refreshFromBuffer&&(c.validPositions={},c.tests={},p(0,k().length),m(!0),E(g,k()),z(g,e.begin,e.end));
  37. ba=-1!=f.inArray(h,b.ignorables)}function V(a,d,e,h,p,l){if(void 0==e&&X)return!1;X=!0;var s=f(this);a=a||window.event;e=d?e:a.which||a.charCode||a.keyCode;if(!(!0===d||a.ctrlKey&&a.altKey)&&(a.ctrlKey||a.metaKey||ba))return!0;if(e){!0!==d&&46==e&&!1==a.shiftKey&&","==b.radixPoint&&(e=44);var v,n;e=String.fromCharCode(e);d?(l=p?l:r()+1,v={begin:l,end:l}):v=z(this);if(l=B?1<v.begin-v.end||1==v.begin-v.end&&b.insertMode:1<v.end-v.begin||1==v.end-v.begin&&b.insertMode)c.undoPositions=f.extend(!0,{},
  38. c.validPositions),aa(this,b.keyCode.DELETE,v),b.insertMode||(b.insertMode=!b.insertMode,C(v.begin,p),b.insertMode=!b.insertMode),l=!b.multi;var q=k().join("").indexOf(b.radixPoint);b.isNumeric&&!0!==d&&-1!=q&&(b.greedy&&v.begin<=q?(v.begin=N(v.begin),v.end=v.begin):e==b.radixPoint&&(v.begin=q,v.end=v.begin));c.writeOutBuffer=!0;v=v.begin;var t=u(v,e,p);!1!==t&&(!0!==t&&(v=void 0!=t.pos?t.pos:v,e=void 0!=t.c?t.c:e),m(!0),n=void 0!=t.caret?t.caret:A(v),c.p=n);if(!1!==h){var x=this;setTimeout(function(){b.onKeyValidation.call(x,
  39. t,b)},0);if(c.writeOutBuffer&&!1!==t){var O=k();h=d?void 0:b.numericInput?v>q?N(n):e==b.radixPoint?n-1:N(n-1):n;E(this,O,h);!0!==d&&setTimeout(function(){!0===Q(O)&&s.trigger("complete");Y=!0;s.trigger("input")},0)}else l&&(c.buffer=void 0,c.validPositions=c.undoPositions)}else l&&(c.buffer=void 0,c.validPositions=c.undoPositions);b.showTooltip&&s.prop("title",c.mask);a&&!0!=d&&(a.preventDefault?a.preventDefault():a.returnValue=!1)}}function ca(a){var g=f(this),e=a.keyCode,h=k();(a=b.onKeyUp.call(this,
  40. a,h,b))&&!0===a.refreshFromBuffer&&(c.validPositions={},c.tests={},p(0,k().length),m(!0),E(this,k()));e==b.keyCode.TAB&&b.showMaskOnFocus&&(g.hasClass("focus.inputmask")&&0==this._valueGet().length?(m(),h=k(),E(this,h),z(this,0),L=k().join("")):(E(this,h),h.join("")==d().join("")&&-1!=f.inArray(b.radixPoint,h)?(z(this,K(0)),g.click()):z(this,K(0),K(x()))))}function da(a){if(!0===Y&&"input"==a.type)return Y=!1,!0;var c=this,d=f(c);if("propertychange"==a.type&&c._valueGet().length<=x())return!0;setTimeout(function(){var a=
  41. f.isFunction(b.onBeforePaste)?b.onBeforePaste.call(c,c._valueGet(),b):c._valueGet();M(c,!0,!1,a.split(""),!0);!0===Q(k())&&d.trigger("complete");d.click()},0)}function ja(a){var c=f(this),e=z(this),h=this._valueGet(),h=h.replace(RegExp("("+F(d().join(""))+")*"),"");e.begin>h.length&&(z(this,h.length),e=z(this));1!=k().length-h.length||h.charAt(e.begin)==k()[e.begin]||h.charAt(e.begin+1)==k()[e.begin]||n(e.begin)?(M(this,!0,!1,h.split("")),!0===Q(k())&&c.trigger("complete"),c.click()):(a.keyCode=b.keyCode.BACKSPACE,
  42. W.call(this,a));a.preventDefault()}function ka(a){q=f(a);if(q.is(":input")){q.data("_inputmask",{maskset:c,opts:b,isRTL:!1});b.showTooltip&&q.prop("title",c.mask);ia(a);b.numericInput&&(b.isNumeric=b.numericInput);("rtl"==a.dir||b.numericInput&&b.rightAlignNumerics||b.isNumeric&&b.rightAlignNumerics)&&q.css("text-align","right");if("rtl"==a.dir||b.numericInput){a.dir="ltr";q.removeAttr("dir");var g=q.data("_inputmask");g.isRTL=!0;q.data("_inputmask",g);B=!0}q.unbind(".inputmask");q.removeClass("focus.inputmask");
  43. q.closest("form").bind("submit",function(){L!=k().join("")&&q.change()}).bind("reset",function(){setTimeout(function(){q.trigger("setvalue")},0)});q.bind("mouseenter.inputmask",function(){!f(this).hasClass("focus.inputmask")&&b.showMaskOnHover&&this._valueGet()!=k().join("")&&E(this,k())}).bind("blur.inputmask",function(){var a=f(this),c=this._valueGet(),e=k();a.removeClass("focus.inputmask");L!=k().join("")&&a.change();b.clearMaskOnLostFocus&&""!=c&&(c==d().join("")?this._valueSet(""):I(this));!1===
  44. Q(e)&&(a.trigger("incomplete"),b.clearIncomplete&&(m(),b.clearMaskOnLostFocus?this._valueSet(""):(e=d().slice(),E(this,e))))}).bind("focus.inputmask",function(){var a=f(this),c=this._valueGet();b.showMaskOnFocus&&!a.hasClass("focus.inputmask")&&(!b.showMaskOnHover||b.showMaskOnHover&&""==c)&&this._valueGet()!=k().join("")&&E(this,k(),A(r()));a.addClass("focus.inputmask");L=k().join("")}).bind("mouseleave.inputmask",function(){var a=f(this);b.clearMaskOnLostFocus&&(a.hasClass("focus.inputmask")||this._valueGet()==
  45. a.attr("placeholder")||(this._valueGet()==d().join("")||""==this._valueGet()?this._valueSet(""):I(this)))}).bind("click.inputmask",function(){var a=this;setTimeout(function(){var c=z(a),d=k();if(c.begin==c.end){var c=B?K(c.begin):c.begin,e=r(c),d=b.isNumeric?!1===b.skipRadixDance&&""!=b.radixPoint&&-1!=f.inArray(b.radixPoint,d)?b.numericInput?A(f.inArray(b.radixPoint,d)):f.inArray(b.radixPoint,d):A(e):A(e);c<d?n(c)?z(a,c):z(a,A(c)):z(a,d)}},0)}).bind("dblclick.inputmask",function(){var a=this;setTimeout(function(){z(a,
  46. 0,A(r()))},0)}).bind(U+".inputmask dragdrop.inputmask drop.inputmask",da).bind("setvalue.inputmask",function(){M(this,!0);L=k().join("");this._valueGet()==d().join("")&&this._valueSet("")}).bind("complete.inputmask",b.oncomplete).bind("incomplete.inputmask",b.onincomplete).bind("cleared.inputmask",b.oncleared);q.bind("keydown.inputmask",W).bind("keypress.inputmask",V).bind("keyup.inputmask",ca);if(ga||Z||ha||$)if(q.attr("autocomplete","off").attr("autocorrect","off").attr("autocapitalize","off").attr("spellcheck",
  47. !1),Z||$)q.unbind("keydown.inputmask",W).unbind("keypress.inputmask",V).unbind("keyup.inputmask",ca),"input"==U&&q.unbind(U+".inputmask"),q.bind("input.inputmask",ja);ea&&q.bind("input.inputmask",da);g=f.isFunction(b.onBeforeMask)?b.onBeforeMask.call(a,a._valueGet(),b):a._valueGet();M(a,!0,!1,g.split(""),!0);L=k().join("");var e;try{e=document.activeElement}catch(h){}e===a?(q.addClass("focus.inputmask"),z(a,A(r()))):b.clearMaskOnLostFocus?k().join("")==d().join("")?a._valueSet(""):I(a):E(a,k());T(a)}}
  48. var B=!1,L=k().join(""),q,X=!1,Y=!1,ba=!1,J;if(void 0!=e)switch(e.action){case "isComplete":return q=f(e.el),Q(e.buffer);case "unmaskedvalue":return q=e.$input,B=e.$input.data("_inputmask").isRTL,S(e.$input,e.skipDatepickerCheck);case "mask":ka(e.el);break;case "format":return q=f({}),q.data("_inputmask",{maskset:c,opts:b,isRTL:b.numericInput}),b.numericInput&&(b.isNumeric=b.numericInput,B=!0),e=e.value.split(""),M(q,!1,!1,B?e.reverse():e,!0),B?k().reverse().join(""):k().join("");case "isValid":return q=
  49. f({}),q.data("_inputmask",{maskset:c,opts:b,isRTL:b.numericInput}),b.numericInput&&(b.isNumeric=b.numericInput,B=!0),e=e.value.split(""),M(q,!1,!0,B?e.reverse():e),Q(k())}},S=function(c,b,e){function h(d,b,h){d=d.jquery&&0<d.length?d[0]:d;if("number"==typeof b){b=m(b);h=m(h);h="number"==typeof h?h:b;if(d!=c){var l=f(d).data("_inputmask")||{};l.caret={begin:b,end:h};f(d).data("_inputmask",l)}f(d).is(":visible")&&(d.scrollLeft=d.scrollWidth,!1==e.insertMode&&b==h&&h++,d.setSelectionRange?(d.selectionStart=
  50. b,d.selectionEnd=h):d.createTextRange&&(d=d.createTextRange(),d.collapse(!0),d.moveEnd("character",h),d.moveStart("character",b),d.select()))}else return f(d).is(":visible")||void 0==f(d).data("_inputmask").caret?d.setSelectionRange?(b=d.selectionStart,h=d.selectionEnd):document.selection&&document.selection.createRange&&(d=document.selection.createRange(),b=0-d.duplicate().moveStart("character",-1E5),h=b+d.text.length):(l=f(d).data("_inputmask"),b=l.caret.begin,h=l.caret.end),b=m(b),h=m(h),{begin:b,
  51. end:h}}function m(b){!x||"number"!=typeof b||e.greedy&&""==e.placeholder||(b=c.value.length-b);return b}function r(b,k){if("multiMaskScope"!=b){var p=-1,l=-1,m=-1;f.each(k,function(c,b){var d=f(b).data("_inputmask").maskset,e=-1,k=0,n=h(b).begin,s;for(s in d.validPositions)d=parseInt(s),d>e&&(e=d),k++;if(k>p||k==p&&l>n&&m>e||k==p&&l==n&&m<e)p=k,l=n,t=c,m=e});f.isFunction(e.determineActiveMasksetIndex)&&(t=e.determineActiveMasksetIndex.call(C,b,k));var n=C.data("_inputmask-multi")||{activeMasksetIndex:0,
  52. elmasks:k};n.activeMasksetIndex=t;C.data("_inputmask-multi",n)}-1==["focus"].indexOf(b)&&c.value!=k[t]._valueGet()&&(n=""==f(k[t]).val()?k[t]._valueGet():f(k[t]).val(),c.value=n);-1==["blur","focus"].indexOf(b)&&f(k[t]).hasClass("focus.inputmask")&&(n=h(k[t]),h(c,n.begin,n.end))}e.multi=!0;var C=f(c),x="rtl"==c.dir||e.numericInput,t=0,s=f.map(b,function(c,b){var h='<input type="text" ';C.attr("value")&&(h+='value="'+C.attr("value")+'" ');C.attr("dir")&&(h+='dir="'+C.attr("dir")+'" ');h=f(h+"/>")[0];
  53. F(f.extend(!0,{},c),e,{action:"mask",el:h});return h});C.data("_inputmask-multi",{activeMasksetIndex:0,elmasks:s});("rtl"==c.dir||e.numericInput&&e.rightAlignNumerics||e.isNumeric&&e.rightAlignNumerics)&&C.css("text-align","right");c.dir="ltr";C.removeAttr("dir");""!=C.attr("value")&&r("init",s);C.bind("mouseenter blur focus mouseleave click dblclick keydown keypress keypress",function(b){var k=h(c),p,l=!0;if("keydown"==b.type){p=b.keyCode;if(p==e.keyCode.DOWN&&t<s.length-1)return t++,r("multiMaskScope",
  54. s),!1;if(p==e.keyCode.UP&&0<t)return t--,r("multiMaskScope",s),!1;if(b.ctrlKey||b.shiftKey||b.altKey)return!0}else if("keypress"==b.type&&(b.ctrlKey||b.shiftKey||b.altKey))return!0;f.each(s,function(c,n){if("keydown"==b.type){p=b.keyCode;if(p==e.keyCode.BACKSPACE&&n._valueGet().length<k.begin)return;if(p==e.keyCode.TAB)l=!1;else{if(p==e.keyCode.RIGHT){h(n,k.begin+1,k.end+1);l=!1;return}if(p==e.keyCode.LEFT){h(n,k.begin-1,k.end-1);l=!1;return}}}if(-1!=["click"].indexOf(b.type)&&(h(n,m(k.begin),m(k.end)),
  55. k.begin!=k.end)){l=!1;return}-1!=["keydown"].indexOf(b.type)&&k.begin!=k.end&&h(n,k.begin,k.end);f(n).triggerHandler(b)});l&&setTimeout(function(){r(b.type,s)},0)});C.bind(U+" dragdrop drop setvalue",function(b){h(c);setTimeout(function(){f.each(s,function(e,h){h._valueSet(c.value);f(h).triggerHandler(b)});setTimeout(function(){r(b.type,s)},0)},0)});(function(b){if(void 0==f.valHooks[b]||!0!=f.valHooks[b].inputmaskmultipatch){var c=f.valHooks[b]&&f.valHooks[b].get?f.valHooks[b].get:function(b){return b.value},
  56. e=f.valHooks[b]&&f.valHooks[b].set?f.valHooks[b].set:function(b,c){b.value=c;return b};f.valHooks[b]={get:function(b){var d=f(b);return d.data("_inputmask-multi")?(b=d.data("_inputmask-multi"),c(b.elmasks[b.activeMasksetIndex])):c(b)},set:function(b,c){var d=f(b),h=e(b,c);d.data("_inputmask-multi")&&d.triggerHandler("setvalue");return h},inputmaskmultipatch:!0}}})(c.type)};f.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",
  57. end:")"},alternatormarker:"|",escapeChar:"\\",mask:null,oncomplete:f.noop,onincomplete:f.noop,oncleared:f.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:f.noop,onKeyDown:f.noop,onBeforeMask:void 0,onBeforePaste:void 0,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:f.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,isNumeric:!1,radixPoint:"",skipRadixDance:!1,rightAlignNumerics:!0,definitions:{9:{validator:"[0-9]",
  58. cardinality:1,definitionSymbol:"*"},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]",cardinality:1,definitionSymbol:"*"},"*":{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,
  59. 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],isComplete:void 0,multi:!1,nojumps:!1,nojumpsThreshold:0,determineActiveMasksetIndex:void 0},masksCache:{},escapeRegex:function(c){return c.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")},format:function(c,b){var e=f.extend(!0,{},f.inputmask.defaults,b);H(e.alias,b,e);return F(I(e),e,{action:"format",
  60. value:c})},isValid:function(c,b){var e=f.extend(!0,{},f.inputmask.defaults,b);H(e.alias,b,e);return F(I(e),e,{action:"isValid",value:c})}};f.fn.inputmask=function(c,b){function e(b,c){var e=f(b),h;for(h in c){var d=e.data("inputmask-"+h.toLowerCase());void 0!=d&&(c[h]=d)}return c}var h=f.extend(!0,{},f.inputmask.defaults,b),m;if("string"===typeof c)switch(c){case "mask":return H(h.alias,b,h),m=I(h),0==m.length?this:this.each(function(){f.isArray(m)?S(this,m,e(this,h)):F(f.extend(!0,{},m),e(this,h),
  61. {action:"mask",el:this})});case "unmaskedvalue":var r=f(this);return r.data("_inputmask")?(m=r.data("_inputmask").maskset,h=r.data("_inputmask").opts,F(m,h,{action:"unmaskedvalue",$input:r})):r.val();case "remove":return this.each(function(){var b=f(this);if(b.data("_inputmask")){m=b.data("_inputmask").maskset;h=b.data("_inputmask").opts;this._valueSet(F(m,h,{action:"unmaskedvalue",$input:b,skipDatepickerCheck:!0}));b.removeData("_inputmask");b.unbind(".inputmask");b.removeClass("focus.inputmask");
  62. var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(this,"value"));c&&c.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,delete this._valueSet}catch(e){this._valueSet=this._valueGet=void 0}}});case "getemptymask":return this.data("_inputmask")?
  63. (m=this.data("_inputmask").maskset,m._buffer.join("")):"";case "hasMaskedValue":return this.data("_inputmask")?!this.data("_inputmask").opts.autoUnmask:!1;case "isComplete":return this.data("_inputmask")?(m=this.data("_inputmask").maskset,h=this.data("_inputmask").opts,F(m,h,{action:"isComplete",buffer:this[0]._valueGet().split(""),el:this})):!0;case "getmetadata":if(this.data("_inputmask"))return m=this.data("_inputmask").maskset,m.metadata;break;default:return H(c,b,h)||(h.mask=c),m=I(h),void 0==
  64. m?this:this.each(function(){f.isArray(m)?S(this,m,e(this,h)):F(f.extend(!0,{},m),e(this,h),{action:"mask",el:this})})}else{if("object"==typeof c)return h=f.extend(!0,{},f.inputmask.defaults,c),H(h.alias,c,h),m=I(h),void 0==m?this:this.each(function(){f.isArray(m)?S(this,m,e(this,h)):F(f.extend(!0,{},m),e(this,h),{action:"mask",el:this})});if(void 0==c)return this.each(function(){var c=f(this).attr("data-inputmask");if(c&&""!=c)try{var c=c.replace(RegExp("'","g"),'"'),e=f.parseJSON("{"+c+"}");f.extend(!0,
  65. e,b);h=f.extend(!0,{},f.inputmask.defaults,e);H(h.alias,e,h);h.alias=void 0;f(this).inputmask(h)}catch(m){}})}}}})(jQuery);