/* Input Mask plugin for jquery http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - 2013 Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 2.6.0 */ (function(b){void 0===b.fn.inputmask&&(b.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},escapeChar:"\\",mask:null,oncomplete:b.noop,onincomplete:b.noop,oncleared:b.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:b.noop,onKeyDown:b.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:b.noop,skipOptionalPartCharacter:" ",showTooltip:!1, 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, NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},ignorables:[8,9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],getMaskLength:function(b,I,H,A,C){C=b.length;I||("*"==H?C=A.length+1:1=m?r[m-1]:[],E=h.validator,h=h.cardinality;d.push({fn:E?"string"==typeof E?RegExp(E):new function(){this.test=E}:/./,cardinality:h?h:1,optionality:f,newBlockMarker:!0==f?k:!1,offset:0,casing:e.casing,def:e.definitionSymbol||b});!0==f&&(k=!1)}d.push({fn:e.validator?"string"==typeof e.validator?RegExp(e.validator):new function(){this.test=e.validator}:/./,cardinality:e.cardinality,optionality:f, newBlockMarker:k,offset:0,casing:e.casing,def:e.definitionSymbol||b})}else d.push({fn:null,cardinality:0,optionality:f,newBlockMarker:k,offset:0,casing:null,def:b}),c=!1;k=!1;return d}f=!1}else f=!0;k=!0}})}function T(){function d(b){function c(){this.matches=[];this.isQuantifier=this.isOptional=this.isGroup=!1}var f=/(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[]()|\\]+|./g,g=new c,m,d=[];for(l=[];m=f.exec(b);)switch(m=m[0],m.charAt(0)){case a.optionalmarker.end:case a.groupmarker.end:m=d.pop(); 0q;s--)n+=B(N,b-(s-1),!0);c&&(n+=c);return null!=k(b).fn?k(b).fn.test(n,N,b,w,a):c==J(b)||c==a.skipOptionalPartCharacter?{refresh:!0,c:J(b),pos:b}:!1}if(M=!0===M){var e=x(w,q,M);!0=== e&&(e={pos:w});return e}var p=[],e=!1,u=f,y=l().slice(),U=c().lastValidPosition;h(w);var D=[];b.each(d,function(a,b){if("object"==typeof b){f=a;var d=w,h=c().lastValidPosition,n;if(h==U){if(1=U||f==u)&&0<=d&&ds.result.pos)&&(e=s.result.pos,n=s.activeMasksetIndex)}); g=b.map(g,function(N,s){if(-1!=b.inArray(N.activeMasksetIndex,a)){if(N.result.pos==e)return N;if(!1!==N.result){f=N.activeMasksetIndex;for(var R=w;Rq.lastValidPosition?(q.activeMasksetIndex=a,q.lastValidPosition=c().lastValidPosition,q.next=m(c().lastValidPosition)):c().lastValidPosition==q.lastValidPosition&&(-1==q.next||q.next>m(c().lastValidPosition))&&(q.activeMasksetIndex=a,q.lastValidPosition=c().lastValidPosition,q.next=m(c().lastValidPosition)))});f=-1!=q.lastValidPosition&&d[a].lastValidPosition==q.lastValidPosition?a:q.activeMasksetIndex;a!=f&&(F(l(),m(q.lastValidPosition),g()),c().writeOutBuffer= !0);u.data("_inputmask").activeMasksetIndex=f}function r(a){a=k(a);return void 0!=a?a.fn:!1}function g(){return a.getMaskLength(p(),c().greedy,c().repeat,l(),a)}function m(a){var b=g();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!r(a););return a}function E(a,b,c,d){d&&(b=C(a,b));d=k(b);var g=c;if(void 0!=g&&void 0!=d)switch(d.casing){case "upper":g=c.toUpperCase();break;case "lower":g=c.toLowerCase()}a[b]=g}function B(a,b,c){c&&(b=C(a,b));return a[b]}function C(a, b){for(var c;void 0==a[b]&&a.length=l&&b.lastValidPosition==d){for(var m=!0,p=0;p<=d;p++){var t=r(p);k();if(t&&(void 0==c[p]||c[p]==J(p))||!t&&c[p]!=J(p)){m=!1;break}}if(e=e||m)return!1}l=b.lastValidPosition}});f=m;return e}}var D=!1,P=l().join(""),u,T;this.unmaskedvalue=function(a,b){D=a.data("_inputmask").isRTL;return O(a,b)};this.isComplete=function(a){return W(a)};this.mask= function(w){function q(a){a=b._data(a).events;b.each(a,function(a,c){b.each(c,function(a,b){if("inputmask"==b.namespace&&"setvalue"!=b.type&&"_keypress"!=b.type){var c=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return c.apply(this,arguments)}}})})}function C(a){var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,"value"));if(c&&c.get){if(!a._valueGet){var d=c.get,g=c.set;a._valueGet=function(){return D?d.call(this).split("").reverse().join(""): d.call(this)};a._valueSet=function(a){g.call(this,D?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,n=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[n]._buffer.join("")?d.call(this):""},set:function(a){g.call(this,a);b(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 D?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){g.call(this,D?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,n=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[n]._buffer.join("")?d.call(this):""}),a.__defineSetter__("value",function(a){g.call(this,a);b(this).triggerHandler("setvalue.inputmask")})); else if(a._valueGet||(a._valueGet=function(){return D?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=D?a.split("").reverse().join(""):a}),void 0==b.valHooks.text||!0!=b.valHooks.text.inputmaskpatch)d=b.valHooks.text&&b.valHooks.text.get?b.valHooks.text.get:function(a){return a.value},g=b.valHooks.text&&b.valHooks.text.set?b.valHooks.text.set:function(a,b){a.value=b;return a},jQuery.extend(b.valHooks,{text:{get:function(a){var c=b(a);if(c.data("_inputmask")){if(c.data("_inputmask").opts.autoUnmask)return c.inputmask("unmaskedvalue"); a=d(a);c=c.data("_inputmask");return a!=c.masksets[c.activeMasksetIndex]._buffer.join("")?a:""}return d(a)},set:function(a,c){var d=b(a),n=g(a,c);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask");return n},inputmaskpatch:!0}})}function x(a,b,d,e){var f=l();if(!1!==e)for(;!r(a)&&0<=a-1;)a--;for(e=a;e=f.end,l());c().lastValidPosition=G;)e=0==e?-1:h(e);e>=G?(I(G,k.length,x),k=c().lastValidPosition,e=m(k),e!=g()&&k>=G&&B(l(),e,!0)!=J(e)&&(c().lastValidPosition=e)):c().writeOutBuffer=!1}else E(k,G,x,!0);if(-1==v||v>m(G))v=m(G)}else!q&&(k=Gk)&&(v=k);v>c().p&&(c().p=v)}});!0!==q&&(f=A,e());if(!1!==p&&(b.each(s,function(a,b){if(b.activeMasksetIndex==f)return w=b,!1}),void 0!=w)){var F= this;setTimeout(function(){a.onKeyValidation.call(F,w.result,a)},0);if(c().writeOutBuffer&&!1!==w.result){var H=l();p=k?void 0:a.numericInput?G>C?h(v):x==a.radixPoint?v-1:h(v-1):v;L(this,H,p);!0!==k&&setTimeout(function(){!0===W(H)&&u.trigger("complete")},0)}else r&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&u.prop("title",c().mask);n.preventDefault()}}function U(c){var d=b(this),e=c.keyCode,f=l();ea&&e==a.keyCode.BACKSPACE&&T==this._valueGet()&&ba.call(this,c);a.onKeyUp.call(this,c,f,a); e==a.keyCode.TAB&&a.showMaskOnFocus&&(d.hasClass("focus.inputmask")&&0==this._valueGet().length?(f=p().slice(),L(this,f),y(this,0),P=l().join("")):(L(this,f),y(this,0,g())))}u=b(w);if(u.is(":input")){u.data("_inputmask",{masksets:d,activeMasksetIndex:f,opts:a,isRTL:!1});a.showTooltip&&u.prop("title",c().mask);c().greedy=c().greedy?c().greedy:0==c().repeat;if(null!=u.attr("maxLength")){var Q=u.prop("maxLength");-1=Q&& -1