/* 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.4.3 */ (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,C,E,B,z){z=b.length;C||("*"==E?z=B.length+1:1=g?s[g-1]:[],r=t.validator,t=t.cardinality;f.push({fn:r?"string"==typeof r?RegExp(r):new function(){this.test=r}:/./,cardinality:t?t:1,optionality:d,newBlockMarker:!0==d?q:!1,offset:0,casing:G.casing,def:G.definitionSymbol||b});!0==d&&(q=!1)}f.push({fn:G.validator?"string"==typeof G.validator?RegExp(G.validator):new function(){this.test=G.validator}:/./,cardinality:G.cardinality,optionality:d,newBlockMarker:q,offset:0,casing:G.casing, def:G.definitionSymbol||b})}else f.push({fn:null,cardinality:0,optionality:d,newBlockMarker:q,offset:0,casing:null,def:b}),c=!1;q=!1;return f}d=!1}else d=!0;q=!0}})}function M(){function e(b){var c=b.length;for(i=0;iaa;W--)R+=K(k,d-(W-1));l&&(R+=l);return null!=c.tests[d].fn?c.tests[d].fn.test(R,k,b,v,a):l==K(c._buffer,b,!0)||l==a.skipOptionalPartCharacter?{refresh:!0,c:K(c._buffer,b,!0),pos:b}:!1}if(J=!0===J){var m=f(l,c(),v,J);!0===m&&(m={pos:l});return m}var q=[],m=!1,r= d,w=n().slice(),p=c().lastValidPosition;u(l);var A=[];b.each(e,function(a,b){if("object"==typeof b){d=a;var e=l,h=c().lastValidPosition,u;if(h==p){if(1=p||d==r)&&0<=e&&el.result.pos)&&(g=l.result.pos,J=l.activeMasksetIndex)});c=b.map(c,function(c, R){if(-1!=b.inArray(c.activeMasksetIndex,a)){if(c.result.pos==g)return c;if(!1!==c.result){for(var k=l;kv.lastValidPosition?(v.activeMasksetIndex=a,v.lastValidPosition=c().lastValidPosition,v.next=t(c().lastValidPosition)):c().lastValidPosition==v.lastValidPosition&&(-1==v.next||v.next>t(c().lastValidPosition))&&(v.activeMasksetIndex=a,v.lastValidPosition=c().lastValidPosition,v.next=t(c().lastValidPosition)))});d=-1!=v.lastValidPosition&&e[a].lastValidPosition== v.lastValidPosition?a:v.activeMasksetIndex;a!=d&&(y(n(),t(v.lastValidPosition),g()),c().writeOutBuffer=!0);p.data("_inputmask").activeMasksetIndex=d}function s(a){a=h(a);a=q()[a];return void 0!=a?a.fn:!1}function h(a){return a%q().length}function g(){return a.getMaskLength(m(),c().greedy,c().repeat,n(),a)}function t(a){var b=g();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!s(a););return a}function x(a,b,c,d){d&&(b=z(a,b));d=q()[h(b)];var e=c;if(void 0!= e&&void 0!=d)switch(d.casing){case "upper":e=c.toUpperCase();break;case "lower":e=c.toLowerCase()}a[b]=e}function K(a,b,c){c&&(b=z(a,b));return a[b]}function z(a,b){for(var c;void 0==a[b]&&a.length=f&&e.lastValidPosition==n){for(var t=!0,q=0;q<=n;q++){var r=s(q),p=h(q);if(r&&(void 0==a[q]||a[q]==O(q))||!r&&a[q]!=m()[p]){t=!1;break}}if(c=c||t)return!1}f=e.lastValidPosition}});d=n;return c}var A=!1,N=n().join(""),p;this.unmaskedvalue=function(a,b){A=a.data("_inputmask").isRTL;return M(a,b)};this.isComplete=function(a){return U(a)}; this.mask=function(l){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 z(a){var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,"value"));if(c&&c.get){if(!a._valueGet){var e=c.get,d=c.set;a._valueGet=function(){return A?e.call(this).split("").reverse().join(""): e.call(this)};a._valueSet=function(a){d.call(this,A?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),d=c.masksets,g=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):e.call(this)!=d[g]._buffer.join("")?e.call(this):""},set:function(a){d.call(this,a);b(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&&a.__lookupGetter__("value"))a._valueGet||(e=a.__lookupGetter__("value"), d=a.__lookupSetter__("value"),a._valueGet=function(){return A?e.call(this).split("").reverse().join(""):e.call(this)},a._valueSet=function(a){d.call(this,A?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),d=c.masksets,g=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):e.call(this)!=d[g]._buffer.join("")?e.call(this):""}),a.__defineSetter__("value",function(a){d.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)e=b.valHooks.text&&b.valHooks.text.get?b.valHooks.text.get:function(a){return a.value},d=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=e(a);c=c.data("_inputmask");return a!=c.masksets[c.activeMasksetIndex]._buffer.join("")?a:""}return e(a)},set:function(a,c){var e=b(a),k=d(a,c);e.data("_inputmask")&&e.triggerHandler("setvalue.inputmask");return k},inputmaskpatch:!0}})}function E(a,b,e,d){var H=n();if(!1!==d)for(;!s(a)&&0<=a-1;)a--;for(d=a;d=k.end,n());c().lastValidPosition=D;)f=0==f?-1:u(f);f>=D?(M(D,h.length,y),h=c().lastValidPosition,f=t(h),f!=g()&&h>=D&&K(n(),f,!0)!=O(f)&&(c().lastValidPosition=f)):c().writeOutBuffer=!1}else x(h,D,y,!0);if(-1==I||I>t(D))I=t(D)}else!q&&(h=Dh)&&(I=h);I>c().p&&(c().p=I)}});!0!==q&&(d=C,r());if(!1!==m&&(b.each(k,function(a,b){if(b.activeMasksetIndex==d)return z=b,!1}),void 0!= z)){var E=this;setTimeout(function(){a.onKeyValidation.call(E,z.result,a)},0);if(c().writeOutBuffer&&!1!==z.result){var F=n();m=l?void 0:a.numericInput?D>B?u(I):y==a.radixPoint?I-1:u(I-1):I;L(this,F,m);!0!==l&&setTimeout(function(){U(F)&&v.trigger("complete")},0)}else s&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&v.prop("title",c().mask);h.preventDefault()}}function ca(c){var d=b(this),e=c.keyCode,f=n();a.onKeyUp.call(this,c,f,a);e==a.keyCode.TAB&&a.showMaskOnFocus&&(d.hasClass("focus.inputmask")&& 0==this._valueGet().length?(f=m().slice(),L(this,f),w(this,0),N=n().join("")):(L(this,f),w(this,0,g())))}p=b(l);if(p.is(":input")){p.data("_inputmask",{masksets:e,activeMasksetIndex:d,opts:a,isRTL:!1});a.showTooltip&&p.prop("title",c().mask);c().greedy=c().greedy?c().greedy:0==c().repeat;if(null!=p.attr("maxLength")){var Q=p.prop("maxLength");-1Q&&-1