/* 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,onUnMask:void 0,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,y,J,C,D){D=b.length;y||("*"==J?D=C.length+1:1=n?l[n-1]:[],e=r.validator,r=r.cardinality;b.matches.splice(g++,0,{fn:e?"string"==typeof e?RegExp(e):new function(){this.test=e}:/./,cardinality:r?r:1,optionality:b.isOptional,casing:d.casing,def:d.definitionSymbol||c})}b.matches.splice(g++,0,{fn:d.validator?"string"==typeof d.validator?RegExp(d.validator):new function(){this.test=d.validator}:/./,cardinality:d.cardinality,optionality:b.isOptional, casing:d.casing,def:d.definitionSymbol||c})}else b.matches.splice(g++,0,{fn:null,cardinality:0,optionality:b.isOptional,casing:null,def:c}),h=!1}a.numericInput&&(b=b.split("").reverse().join(""));var l=/(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[]()|\\]+|./g,h=!1,d=new c,m,r,e=[];for(g=[];m=l.exec(b);)switch(r=m[0],r.charAt(0)){case a.optionalmarker.end:case a.groupmarker.end:m=e.pop();0L;N--)k+=D(E,b-(N-1),!0);c&&(k+=c);return null!=e(b).fn?e(b).fn.test(k,E,b,q,a):c==G(b)||c==a.skipOptionalPartCharacter? {refresh:!0,c:G(b),pos:b}:!1}if(k=!0===k){var m=w(q,L,k);!0===m&&(m={pos:q});return m}var n=[],m=!1,s=h,u=g().slice(),S=c().lastValidPosition;d(q);var A=[];b.each(f,function(a,b){if("object"==typeof b){h=a;var d=q,f=c().lastValidPosition,e;if(f==S){if(1= S||h==s)&&0<=d&&dq.result.pos)&&(e=q.result.pos,l=q.activeMasksetIndex)});d=b.map(d,function(E,d){if(-1!=b.inArray(E.activeMasksetIndex,a)){if(E.result.pos==e)return E;if(!1!==E.result){h=E.activeMasksetIndex;for(var I=q;Id.lastValidPosition?(d.activeMasksetIndex=a,d.lastValidPosition=c().lastValidPosition,d.next=p(c().lastValidPosition)):c().lastValidPosition==d.lastValidPosition&&(-1==d.next||d.next>p(c().lastValidPosition))&&(d.activeMasksetIndex=a,d.lastValidPosition=c().lastValidPosition,d.next=p(c().lastValidPosition)))});h=-1!=d.lastValidPosition&&f[a].lastValidPosition==d.lastValidPosition? a:d.activeMasksetIndex;a!=h&&(t(g(),p(d.lastValidPosition),l()),c().writeOutBuffer=!0);s.data("_inputmask").activeMasksetIndex=h}function z(a){a=e(a);return void 0!=a?a.fn:!1}function l(){return a.getMaskLength(m(),c().greedy,c().repeat,g(),a)}function p(a){var b=l();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!z(a););return a}function K(a,b,c,d){d&&(b=v(a,b));d=e(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 D(a,b,c){c&&(b=v(a,b));return a[b]}function v(a,b){for(var c;void 0==a[b]&&a.length=e&&b.lastValidPosition==f){for(var m=!0,n=0;n<=f;n++){var p=z(n);if(p&&(void 0==c[n]||c[n]==G(n))||!p&&c[n]!=G(n)){m=!1;break}}if(g=g||m)return!1}e=b.lastValidPosition}});h=m;return g}}var A=!1,P= g().join(""),s,da;this.unmaskedvalue=function(a,b){A=a.data("_inputmask").isRTL;return X(a,b)};this.isComplete=function(a){return U(a)};this.mask=function(q){function v(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 k(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 A?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){g.call(this,A?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,e=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[e]._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 A?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){g.call(this,A?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),g=c.masksets,e=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[e]._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 A?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=A?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},b.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),e=g(a,c);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask");return e},inputmaskpatch:!0}})}function w(a,b,I,f){var h=g();if(!1!==f)for(;!z(a)&&0<=a-1;)a--;for(f=a;fa&&0<=l;l--)if(z(l)){var n=d(l),k=D(h,n);k!=G(n)&&!1!==B(n,k,!0)&&e(l).def==e(n).def&&(K(h,l,k,!0),C(n))}else C(l);void 0!=f&&D(h,a)==G(a)&&K(h,a,f);a=h.length;if(!1==c().greedy){f= H(h.join("")).split("");h.length=f.length;l=0;for(n=h.length;l=e.end,g());c().lastValidPosition=F;)f=0==f?-1:d(f);f>=F?(J(F,l(),v),k=c().lastValidPosition,f=p(k),f!=l()&&k>=F&&D(g(),f,!0)!=G(f)&&(c().lastValidPosition=f)):c().writeOutBuffer=!1}else K(k,F,v,!0);if(-1==t||t>p(F))t=p(F)}else!q&&(k=Fk)&&(t=k);t>c().p&&(c().p=t)}});!0!==q&&(h=C,n());if(!1!==r&&(b.each(k,function(a, b){if(b.activeMasksetIndex==h)return y=b,!1}),void 0!=y)){var H=this;setTimeout(function(){a.onKeyValidation.call(H,y.result,a)},0);if(c().writeOutBuffer&&!1!==y.result){var L=g();r=m?void 0:a.numericInput?F>z?d(t):v==a.radixPoint?t-1:d(t-1):t;M(this,L,r);!0!==m&&setTimeout(function(){!0===U(L)&&w.trigger("complete");T=!0;w.trigger("input")},0)}else s&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&w.prop("title",c().mask);e.preventDefault()}}function S(c){var d=b(this),e=c.keyCode,f=g();ea&& e==a.keyCode.BACKSPACE&&da==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=m().slice(),M(this,f),u(this,0),P=g().join("")):(M(this,f),f.join("")==m().join("")&&-1!=b.inArray(a.radixPoint,f)?(u(this,O(0)),d.click()):u(this,O(0),O(l()))))}s=b(q);if(s.is(":input")){s.data("_inputmask",{masksets:f,activeMasksetIndex:h,opts:a,isRTL:!1});a.showTooltip&&s.prop("title",c().mask);c().greedy=c().greedy? c().greedy:0==c().repeat;if(null!=s.attr("maxLength")){var R=s.prop("maxLength");-1=R&&-1