/* 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(c){void 0===c.fn.inputmask&&(c.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{start:"(",end:")"},escapeChar:"\\",mask:null,oncomplete:c.noop,onincomplete:c.noop,oncleared:c.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:c.noop,onKeyDown:c.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:c.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(c,H,G,w,v){v=c.length;H||("*"==G?v=w.length+1:1=p?x[p-1]:[],E=b.validator,b=b.cardinality;f.push({fn:E?"string"==typeof E?RegExp(E):new function(){this.test=E}:/./,cardinality:b?b:1,optionality:h,newBlockMarker:!0==h?k:!1,offset:0,casing:e.casing,def:e.definitionSymbol||c});!0==h&&(k=!1)}f.push({fn:e.validator?"string"==typeof e.validator?RegExp(e.validator):new function(){this.test=e.validator}:/./,cardinality:e.cardinality,optionality:h, newBlockMarker:k,offset:0,casing:e.casing,def:e.definitionSymbol||c})}else f.push({fn:null,cardinality:0,optionality:h,newBlockMarker:k,offset:0,casing:null,def:c}),d=!1;k=!1;return f}h=!1}else h=!0;k=!0}})}function S(){function f(c){function d(a,c,g){this.matches=[];this.isGroup=a||!1;this.isOptional=c||!1;this.isQuantifier=g||!1;this.mask;this.quantifier={min:1,max:1}}function f(c,d,g){var b=a.definitions[d];g=void 0!=g?g:c.matches.length;if(b&&!p){for(var h=b.prevalidator,e=h?h.length:0,l=1;l< b.cardinality;l++){var k=e>=l?h[l-1]:[],n=k.validator,k=k.cardinality;c.matches.splice(g++,0,{fn:n?"string"==typeof n?RegExp(n):new function(){this.test=n}:/./,cardinality:k?k:1,optionality:c.isOptional,casing:b.casing,def:b.definitionSymbol||d})}c.matches.splice(g++,0,{fn:b.validator?"string"==typeof b.validator?RegExp(b.validator):new function(){this.test=b.validator}:/./,cardinality:b.cardinality,optionality:c.isOptional,casing:b.casing,def:b.definitionSymbol||d})}else c.matches.splice(g++,0,{fn:null, cardinality:0,optionality:c.isOptional,casing:null,def:d}),p=!1}a.numericInput&&(c=c.split("").reverse().join(""));var h=/(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[]()|\\]+|./g,p=!1,b=new d,k,l,m=[];for(g=[];k=h.exec(c);)switch(l=k[0],l.charAt(0)){case a.optionalmarker.end:case a.groupmarker.end:k=m.pop();0>> "+JSON.stringify(b)),b;if(void 0!=b.matches)if(b.isGroup)console.log("isGroup");else if(b.isOptional)console.log("isOptional");else if(b.isQuantifier){console.log("isQuantifier "+JSON.stringify(c));for(var l=b,k=l.quantifier.min;kb;A--)t+=z(ca,c-(A-1),!0);d&&(t+=d);return null!=k(c).fn?k(c).fn.test(t,ca,c,s,a):d==I(c)||d==a.skipOptionalPartCharacter?{refresh:!0,c:I(c),pos:c}:!1}if(l=!0===l){var e=M(s,N,l);!0===e&&(e={pos:s});return e}var q=[],e=!1,u=h,U=g().slice(),T=d().lastValidPosition;b(s);var B=[];c.each(f,function(a,c){if("object"==typeof c){h=a;var b=s,f=d().lastValidPosition,t;if(f==T){if(1=T||h==u)&&0<=b&&bb.result.pos)&&(e=b.result.pos,t=b.activeMasksetIndex)});b=c.map(b,function(b,A){if(-1!=c.inArray(b.activeMasksetIndex,a)){if(b.result.pos==e)return b;if(!1!==b.result){h=b.activeMasksetIndex;for(var r=s;rb.lastValidPosition?(b.activeMasksetIndex=a,b.lastValidPosition=d().lastValidPosition,b.next=p(d().lastValidPosition)):d().lastValidPosition==b.lastValidPosition&&(-1==b.next||b.next>p(d().lastValidPosition))&&(b.activeMasksetIndex=a,b.lastValidPosition= d().lastValidPosition,b.next=p(d().lastValidPosition)))});h=-1!=b.lastValidPosition&&f[a].lastValidPosition==b.lastValidPosition?a:b.activeMasksetIndex;a!=h&&(D(g(),p(b.lastValidPosition),n()),d().writeOutBuffer=!0);q.data("_inputmask").activeMasksetIndex=h}function x(a){a=k(a);return void 0!=a?a.fn:!1}function n(){return a.getMaskLength(l(),d().greedy,d().repeat,g(),a)}function p(a){var c=n();if(a>=c)return c;for(;++a=a)return 0;for(;0<--a&&!x(a););return a} function E(a,c,b,d){d&&(c=v(a,c));d=k(c);var g=b;if(void 0!=g&&void 0!=d)switch(d.casing){case "upper":g=b.toUpperCase();break;case "lower":g=b.toLowerCase()}a[c]=g}function z(a,c,b){b&&(c=v(a,c));return a[c]}function v(a,c){for(var b;void 0==a[c]&&a.length=e&&c.lastValidPosition==f){for(var l=!0,k=0;k<=f;k++){var m=x(k);if(m&&(void 0==d[k]||d[k]==I(k))||!m&&d[k]!=I(k)){l= !1;break}}if(g=g||l)return!1}e=c.lastValidPosition}});h=l;return g}}var B=!1,Q=g().join(""),q,S;this.unmaskedvalue=function(a,c){B=a.data("_inputmask").isRTL;return O(a,c)};this.isComplete=function(a){return V(a)};this.mask=function(s){function v(a){a=c._data(a).events;c.each(a,function(a,b){c.each(b,function(a,c){if("inputmask"==c.namespace&&"setvalue"!=c.type&&"_keypress"!=c.type){var b=c.handler;c.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return b.apply(this,arguments)}}})})} function H(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=c(this),b=c(this).data("_inputmask"),g=b.masksets,f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!= g[f]._buffer.join("")?d.call(this):""},set:function(a){g.call(this,a);c(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=c(this),b=c(this).data("_inputmask"),g=b.masksets, f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=g[f]._buffer.join("")?d.call(this):""}),a.__defineSetter__("value",function(a){g.call(this,a);c(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==c.valHooks.text||!0!=c.valHooks.text.inputmaskpatch)d=c.valHooks.text&&c.valHooks.text.get? c.valHooks.text.get:function(a){return a.value},g=c.valHooks.text&&c.valHooks.text.set?c.valHooks.text.set:function(a,c){a.value=c;return a},c.extend(c.valHooks,{text:{get:function(a){var b=c(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=c(a),f=g(a,b);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask"); return f},inputmaskpatch:!0}})}function M(a,c,f,r){var e=g();if(!1!==r)for(;!x(a)&&0<=a-1;)a--;for(r=a;ra&&0<=h;h--)if(x(h)){var n= b(h),p=z(e,n);if(p!=I(n))if(!1!==m(n,p,!0)&&k()[h%k().length].def==k()[n%k().length].def)E(e,h,p,!0),C(n);else break}else C(h);void 0!=f&&z(e,a)==I(a)&&E(e,a,f);a=e.length;if(!1==d().greedy){f=G(e.join("")).split("");e.length=f.length;h=0;for(n=e.length;h=e.end,g());d().lastValidPosition=F;)e=0==e?-1:b(e);e>=F?(O(F,n(),v),l=d().lastValidPosition,e=p(l),e!=n()&&l>=F&&z(g(),e,!0)!=I(e)&&(d().lastValidPosition= e)):d().writeOutBuffer=!1}else E(l,F,v,!0);if(-1==J||J>p(F))J=p(F)}else!q&&(l=Fl)&&(J=l);J>d().p&&(d().p=J)}});!0!==q&&(h=C,e());if(!1!==r&&(c.each(A,function(a,c){if(c.activeMasksetIndex==h)return w=c,!1}),void 0!=w)){var H=this;setTimeout(function(){a.onKeyValidation.call(H,w.result,a)},0);if(d().writeOutBuffer&&!1!==w.result){var G=g();r=l?void 0:a.numericInput?F>D?b(J):v==a.radixPoint?J-1:b(J-1):J;K(this,G,r);!0!==l&&setTimeout(function(){!0===V(G)&&x.trigger("complete")}, 0)}else s&&(d().buffer=d().undoBuffer.split(""))}a.showTooltip&&x.prop("title",d().mask);k.preventDefault()}}function T(b){var d=c(this),e=b.keyCode,f=g();ea&&e==a.keyCode.BACKSPACE&&S==this._valueGet()&&ba.call(this,b);a.onKeyUp.call(this,b,f,a);e==a.keyCode.TAB&&a.showMaskOnFocus&&(d.hasClass("focus.inputmask")&&0==this._valueGet().length?(f=l().slice(),K(this,f),u(this,0),Q=g().join("")):(K(this,f),f.join("")==l().join("")&&-1!=c.inArray(a.radixPoint,f)?(u(this,P(0)),d.click()):u(this,P(0),P(n()))))} q=c(s);if(q.is(":input")){q.data("_inputmask",{masksets:f,activeMasksetIndex:h,opts:a,isRTL:!1});a.showTooltip&&q.prop("title",d().mask);d().greedy=d().greedy?d().greedy:0==d().repeat;if(null!=q.attr("maxLength")){var R=q.prop("maxLength");-1=R&&-1