/* 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.7 */ (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,H,E,y,x){x=b.length;H||("*"==E?x=y.length+1:1=g?r[g-1]:[],u=s.validator,s=s.cardinality;d.push({fn:u?"string"==typeof u?RegExp(u):new function(){this.test=u}:/./,cardinality:s?s:1,optionality:e,newBlockMarker:!0==e?q:!1,offset:0,casing:F.casing,def:F.definitionSymbol||b});!0==e&&(q=!1)}d.push({fn:F.validator?"string"==typeof F.validator?RegExp(F.validator):new function(){this.test=F.validator}:/./,cardinality:F.cardinality,optionality:e,newBlockMarker:q,offset:0,casing:F.casing, def:F.definitionSymbol||b})}else d.push({fn:null,cardinality:0,optionality:e,newBlockMarker:q,offset:0,casing:null,def:b}),c=!1;q=!1;return d}e=!1}else e=!0;q=!0}})}function T(){function d(b){var c=b.length;for(i=0;iea;X--)U+=I(k,e-(X-1));n&&(U+=n);return null!=c.tests[e].fn?c.tests[e].fn.test(U,k,b,p,a):n==I(c._buffer,b,!0)||n==a.skipOptionalPartCharacter?{refresh:!0,c:I(c._buffer,b,!0),pos:b}:!1}if(K=!0===K){var m=L(n,c(),p,K);!0===m&&(m={pos:n});return m}var h=[],m=!1,q= e,u=l().slice(),v=c().lastValidPosition;t(n);var w=[];b.each(d,function(a,b){if("object"==typeof b){e=a;var d=n,f=c().lastValidPosition,t;if(f==v){if(1=v||e==q)&&0<=d&&dn.result.pos)&&(g=n.result.pos,K=n.activeMasksetIndex)});c=b.map(c,function(c, U){if(-1!=b.inArray(c.activeMasksetIndex,a)){if(c.result.pos==g)return c;if(!1!==c.result){for(var k=n;kp.lastValidPosition?(p.activeMasksetIndex=a,p.lastValidPosition=c().lastValidPosition,p.next=s(c().lastValidPosition)):c().lastValidPosition==p.lastValidPosition&&(-1==p.next||p.next>s(c().lastValidPosition))&&(p.activeMasksetIndex=a,p.lastValidPosition=c().lastValidPosition,p.next=s(c().lastValidPosition)))});e=-1!=p.lastValidPosition&&d[a].lastValidPosition== p.lastValidPosition?a:p.activeMasksetIndex;a!=e&&(z(l(),s(p.lastValidPosition),g()),c().writeOutBuffer=!0);v.data("_inputmask").activeMasksetIndex=e}function r(a){a=f(a);a=q()[a];return void 0!=a?a.fn:!1}function f(a){return a%q().length}function g(){return a.getMaskLength(m(),c().greedy,c().repeat,l(),a)}function s(a){var b=g();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!r(a););return a}function J(a,b,c,e){e&&(b=x(a,b));e=q()[f(b)];var d=c;if(void 0!= d&&void 0!=e)switch(e.casing){case "upper":d=c.toUpperCase();break;case "lower":d=c.toLowerCase()}a[b]=d}function I(a,b,c){c&&(b=x(a,b));return a[b]}function x(a,b){for(var c;void 0==a[b]&&a.length=h&&b.lastValidPosition==d){for(var s=!0,q=0;q<=d;q++){var u=r(q),v=f(q);if(u&&(void 0==c[q]||c[q]==O(q))||!u&&c[q]!=m()[v]){s=!1;break}}if(l=l||s)return!1}h=b.lastValidPosition}});e=s;return l}}var B=!1,R=l().join(""),v,T;this.unmaskedvalue=function(a,b){B=a.data("_inputmask").isRTL; return P(a,b)};this.isComplete=function(a){return V(a)};this.mask=function(n){function p(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 x(a){var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(a,"value"));if(c&&c.get){if(!a._valueGet){var d=c.get,e= c.set;a._valueGet=function(){return B?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){e.call(this,B?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=b(this),c=b(this).data("_inputmask"),e=c.masksets,g=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=e[g]._buffer.join("")?d.call(this):""},set:function(a){e.call(this,a);b(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&& a.__lookupGetter__("value"))a._valueGet||(d=a.__lookupGetter__("value"),e=a.__lookupSetter__("value"),a._valueGet=function(){return B?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){e.call(this,B?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=b(this),c=b(this).data("_inputmask"),e=c.masksets,g=c.activeMasksetIndex;return c&&c.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=e[g]._buffer.join("")?d.call(this):""}),a.__defineSetter__("value", function(a){e.call(this,a);b(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==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},e=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=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),g=e(a,c);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask");return g},inputmaskpatch:!0}})}function L(a,b,d,e){var N=l();if(!1!==e)for(;!r(a)&&0<=a-1;)a--;for(e=a;ea&&0<=g;g--)if(r(g)){var n=t(g),s=I(d,n);if(s!=O(n))if(!1!==h(n,s,!0)&&q()[f(g)].def==q()[f(n)].def)J(d,g,s,!0),A(d,n);else break}else A(d,g);void 0!=e&&I(d,a)==O(a)&& J(d,a,e);a=d.length;if(!1==c().greedy){e=E(d.join("")).split("");d.length=e.length;g=0;for(n=d.length;g=k.end,l());c().lastValidPosition< e?(c().lastValidPosition=-1,c().p=e):c().p=k.begin}function ba(e){W=!1;var d=this,k=b(d),f=e.keyCode,h=w(d);f==a.keyCode.BACKSPACE||f==a.keyCode.DELETE||fa&&127==f||e.ctrlKey&&88==f?(e.preventDefault(),88==f&&(R=l().join("")),P(d,f,h),u(),M(d,l(),c().p),d._valueGet()==m().join("")&&k.trigger("cleared"),a.showTooltip&&k.prop("title",c().mask)):f==a.keyCode.END||f==a.keyCode.PAGE_DOWN?setTimeout(function(){var b=s(c().lastValidPosition);a.insertMode||b!=g()||e.shiftKey||b--;w(d,e.shiftKey?h.begin:b, b)},0):f==a.keyCode.HOME&&!e.shiftKey||f==a.keyCode.PAGE_UP?w(d,0,e.shiftKey?h.begin:0):f==a.keyCode.ESCAPE||90==f&&e.ctrlKey?(y(d,!0,!1,R.split("")),k.click()):f!=a.keyCode.INSERT||e.shiftKey||e.ctrlKey?!1!=a.insertMode||e.shiftKey||(f==a.keyCode.RIGHT?setTimeout(function(){var a=w(d);w(d,a.begin)},0):f==a.keyCode.LEFT&&setTimeout(function(){var a=w(d);w(d,a.begin-1)},0)):(a.insertMode=!a.insertMode,w(d,a.insertMode||h.begin!=g()?h.begin:h.begin-1));k=w(d);!0===a.onKeyDown.call(this,e,l(),a)&&w(d, k.begin,k.end);Z=-1!=b.inArray(f,a.ignorables)}function ca(f,m,k,n,q,r){if(void 0==k&&W)return!1;W=!0;var v=b(this);f=f||window.event;k=k||f.which||f.charCode||f.keyCode;if((!f.ctrlKey||!f.altKey)&&(f.ctrlKey||f.metaKey||Z)&&!0!==m)return!0;if(k){!0!==m&&46==k&&!1==f.shiftKey&&","==a.radixPoint&&(k=44);var p,y,x=String.fromCharCode(k);m?(k=q?r:c().lastValidPosition+1,p={begin:k,end:k}):p=w(this);r=B?1=C;)f=0==f?-1:t(f);f>=C?(H(C,g(),x),h=c().lastValidPosition,f=s(h),f!=g()&&h>=C&&I(l(),f,!0)!=O(f)&&(c().lastValidPosition=f)):c().writeOutBuffer=!1}else J(h,C,x,!0);if(-1==G||G>s(C))G=s(C)}else!q&&(h=Ch)&&(G=h);G>c().p&&(c().p=G)}});!0!==q&& (e=A,u());if(!1!==n&&(b.each(k,function(a,b){if(b.activeMasksetIndex==e)return y=b,!1}),void 0!=y)){var E=this;setTimeout(function(){a.onKeyValidation.call(E,y.result,a)},0);if(c().writeOutBuffer&&!1!==y.result){var D=l();n=m?void 0:a.numericInput?C>z?t(G):x==a.radixPoint?G-1:t(G-1):G;M(this,D,n);!0!==m&&setTimeout(function(){!0===V(D)&&v.trigger("complete")},0)}else r&&(c().buffer=c().undoBuffer.split(""))}a.showTooltip&&v.prop("title",c().mask);f.preventDefault()}}function Y(c){var e=b(this),d= c.keyCode,f=l();da&&d==a.keyCode.BACKSPACE&&T==this._valueGet()&&ba.call(this,c);a.onKeyUp.call(this,c,f,a);d==a.keyCode.TAB&&a.showMaskOnFocus&&(e.hasClass("focus.inputmask")&&0==this._valueGet().length?(f=m().slice(),M(this,f),w(this,0),R=l().join("")):(M(this,f),f.join("")==m().join("")&&-1!=b.inArray(a.radixPoint,f)?(w(this,Q(0)),e.click()):w(this,Q(0),Q(g()))))}v=b(n);if(v.is(":input")){v.data("_inputmask",{masksets:d,activeMasksetIndex:e,opts:a,isRTL:!1});a.showTooltip&&v.prop("title",c().mask); c().greedy=c().greedy?c().greedy:0==c().repeat;if(null!=v.attr("maxLength")){var S=v.prop("maxLength");-1=S&&-1