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