jquery.inputmask.js 28 KB

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