/* 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.3.31 */ (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,F,G,I){var z=c.length;F||("*"==G?z=I.length+1:1=h?m[h-1]:[],u=p.validator,p=p.cardinality;g.push({fn:u?"string"==typeof u?RegExp(u):new function(){this.test=u}:/./,cardinality:p?p:1,optionality:f,newBlockMarker:!0==f?e:!1,offset:0,casing:d.casing,def:d.definitionSymbol|c});!0==f&&(e=!1)}g.push({fn:d.validator?"string"==typeof d.validator?RegExp(d.validator):new function(){this.test=d.validator}:/./,cardinality:d.cardinality, optionality:f,newBlockMarker:e,offset:0,casing:d.casing,def:d.definitionSymbol|c})}else g.push({fn:null,cardinality:0,optionality:f,newBlockMarker:e,offset:0,casing:null,def:c}),b=!1;e=!1;return g}})}function J(){function d(b){var c=b.length;for(i=0;id;j--)f+=L(C,q-(j-1));A&&(f+=A);return null!=c.tests[q].fn?c.tests[q].fn.test(f,C,b,g,a):!1}if(g=!0=== g){var C=T(q,b());!0===C&&(C={pos:q});return C}var e=[],C=!1,m=f;c.each(d,function(c,g){if("object"==typeof g){f=c;var s=q;if(m!=f&&!o(s)&&b().lastValidPosition==v(s)){if(A==j()[s]||A==a.skipOptionalPartCharacter)return e.push({activeMasksetIndex:c,result:{refresh:!0,c:j()[s]}}),b().lastValidPosition=s,!1;d[m].lastValidPosition>=s?b().lastValidPosition=-1:s=u(q)}if((void 0==b().lastValidPosition&&s==u(-1)||b().lastValidPosition>=v(s))&&0<=s&&sA.lastValidPosition)&&(A.activeMasksetIndex=a,A.lastValidPosition=this.lastValidPosition)});f=A.activeMasksetIndex;a!=f&&(I(g(),u(A.lastValidPosition),p()),b().writeOutBuffer=!0)}function o(a){a=h(a); a=e()[a];return void 0!=a?a.fn:!1}function h(a){return a%e().length}function p(){return a.getMaskLength(j(),b().greedy,b().repeat,g(),a)}function u(a){var b=p();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!o(a););return a}function E(a,b,c,g){g&&(b=z(a,b));var g=e()[h(b)],d=c;if(void 0!=d)switch(g.casing){case "upper":d=c.toUpperCase();break;case "lower":d=c.toLowerCase()}a[b]=d}function L(a,b,c){c&&(b=z(a,b));return a[b]}function z(a,b){for(var c;void 0== a[b]&&a.length=g&&d.lastValidPosition== e){for(var n=!0,r=0;r<=e;r++){var m=o(r),u=h(r);if(m&&(void 0==b[r]||b[r]==M(r))||!m&&b[r]!=j()[u]){n=!1;break}}if(a=a||n)return!1}g=d.lastValidPosition}});f=e;return a}function X(b,c){return H?1k){if(e-=1,a.isNumeric&&""!=a.radixPoint&&w[e]==a.radixPoint?(e=C(0,w.length-1==e?e:e-1,M(e),!0),e++):e=z(e,l),void 0!=b().lastValidPosition)-1!=b().lastValidPosition&&g()[b().lastValidPosition]==j()[b().lastValidPosition]&&(b().lastValidPosition=0==b().lastValidPosition?-1:v(b().lastValidPosition)),b().lastValidPositiont.begin&&b().lastValidPosition=x;)e=e==0?-1:v(e);if(e>=x){C(x,h.length,q);h=b().lastValidPosition;e=u(h);e!=p()&&(h>=x&&L(g(),e)!=M(e))&&(b().lastValidPosition=e)}else b().writeOutBuffer=false}else E(h,x,q,true);b().p=u(x)}});!0!==k&&m();if(!1!==r&&(c.each(l,function(b,a){if(a.activeMasksetIndex==f){A=a;return false}}),void 0!=A)){var K=this;setTimeout(function(){a.onKeyValidation.call(K, A.result,a)},0);if(b().writeOutBuffer&&!1!==A.result){var J=g();D(this,J,h?void 0:a.numericInput?v(b().p):b().p);!0!==h&&setTimeout(function(){P(J)&&s.trigger("complete")},0)}else j&&(b().buffer=b().undoBuffer.split(""))}a.showTooltip&&s.prop("title",b().mask);e.preventDefault()}}function R(d){var e=c(this),f=d.keyCode,h=g(),k=y(this);a.onKeyUp.call(this,d,h,a);y(this,k.begin,k.end);f==a.keyCode.TAB&&(e.hasClass("focus.inputmask")&&0==this._valueGet().length&&a.showMaskOnFocus)&&(h=j().slice(),D(this, h),y(this,0),b().undoBuffer=this._valueGet())}var r=c(q);if(r.is(":input")){r.data("_inputmask",{masksets:d,activeMasksetIndex:f,opts:a,isRTL:!1});a.showTooltip&&r.prop("title",b().mask);b().greedy=b().greedy?b().greedy:0==b().repeat;if(null!=r.attr("maxLength")){var N=r.prop("maxLength");-1N&&-1=parseInt(RegExp(/[0-9]+/).exec(D))}if("string"===typeof E)switch(E){case "mask":return I(a.alias,F),n=J(),this.each(function(){x(c.extend(!0,{},n),0).mask(this)});case "unmaskedvalue":return D=c(this),D.data("_inputmask")?(n=D.data("_inputmask").masksets,v=D.data("_inputmask").activeMasksetIndex,a=D.data("_inputmask").opts,x(n,v).unmaskedvalue(D)):D.val();case "remove":return this.each(function(){var d=c(this); if(d.data("_inputmask")){n=d.data("_inputmask").masksets;v=d.data("_inputmask").activeMasksetIndex;a=d.data("_inputmask").opts;this._valueSet(x(n,v).unmaskedvalue(d,!0));d.removeData("_inputmask");d.unbind(".inputmask");d.removeClass("focus.inputmask");var f;Object.getOwnPropertyDescriptor&&(f=Object.getOwnPropertyDescriptor(this,"value"));f&&f.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(b){this._valueSet=this._valueGet=void 0}}});case "getemptymask":return this.data("_inputmask")?(n=this.data("_inputmask").masksets,v=this.data("_inputmask").activeMasksetIndex,n[v]._buffer.join("")):"";case "hasMaskedValue":return this.data("_inputmask")?!this.data("_inputmask").opts.autoUnmask:!1;case "isComplete":return n=this.data("_inputmask").masksets, v=this.data("_inputmask").activeMasksetIndex,a=this.data("_inputmask").opts,x(n,v).isComplete(this[0]._valueGet().split(""));case "getmetadata":if(this.data("_inputmask"))return n=this.data("_inputmask").masksets,v=this.data("_inputmask").activeMasksetIndex,n[v].metadata;return;default:return I(E,F)||(a.mask=E),n=J(),this.each(function(){x(c.extend(true,{},n),v).mask(this)})}else{if("object"==typeof E)return a=c.extend(!0,{},c.inputmask.defaults,E),I(a.alias,E),n=J(),this.each(function(){x(c.extend(!0, {},n),v).mask(this)});if(void 0==E)return this.each(function(){var d=c(this).attr("data-inputmask");if(d&&""!=d)try{var d=d.replace(RegExp("'","g"),'"'),f=c.parseJSON("{"+d+"}");c.extend(!0,f,F);a=c.extend(!0,{},c.inputmask.defaults,f);I(a.alias,f);a.alias=void 0;c(this).inputmask(a)}catch(b){}})}return this})})(jQuery);