/* Input Mask plugin for jquery http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - 2014 Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 3.0.21 */ (function(e){if(void 0===e.fn.inputmask){var Q=function(a){var d=document.createElement("input");a="on"+a;var e=a in d;e||(d.setAttribute(a,"return;"),e="function"==typeof d[a]);return e},H=function(a,d,h){return(a=h.aliases[a])?(a.alias&&H(a.alias,void 0,h),e.extend(!0,h,a),e.extend(!0,h,d),!0):!1},L=function(a){function d(e){function d(a,e,c,f){this.matches=[];this.isGroup=a||!1;this.isOptional=e||!1;this.isQuantifier=c||!1;this.isAlternator=f||!1;this.quantifier={min:1,max:1}}function h(e,d,c){var f= a.definitions[d],l=0==e.matches.length;c=void 0!=c?c:e.matches.length;if(f&&!y){for(var x=f.prevalidator,g=x?x.length:0,u=1;u=u?x[u-1]:[],s=t.validator,t=t.cardinality;e.matches.splice(c++,0,{fn:s?"string"==typeof s?RegExp(s):new function(){this.test=s}:/./,cardinality:t?t:1,optionality:e.isOptional,newBlockMarker:l,casing:f.casing,def:f.definitionSymbol||d})}e.matches.splice(c++,0,{fn:f.validator?"string"==typeof f.validator?RegExp(f.validator):new function(){this.test= f.validator}:/./,cardinality:f.cardinality,optionality:e.isOptional,newBlockMarker:l,casing:f.casing,def:f.definitionSymbol||d})}else e.matches.splice(c++,0,{fn:null,cardinality:0,optionality:e.isOptional,newBlockMarker:l,casing:null,def:d}),y=!1}for(var g=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g,y=!1,r=new d,c,f=[],x=[];c=g.exec(e);)switch(c=c[0],c.charAt(0)){case a.optionalmarker.end:case a.groupmarker.end:var u=f.pop();0m?r(m,f,m-1)[0]:R(m,f,m-1),w=f.match,f=f.locator.slice(),c.push(null==w.fn?w.def:d.placeholder.charAt(m%d.placeholder.length));m++}while((void 0==I||m-1=m);c.pop();return c}function l(b){var k=a;k.buffer=void 0;k.tests={};!0!==b&&(k._buffer=void 0,k.validPositions={},k.p=-1)}function s(b){var k= a,C=-1,c=k.validPositions;if(e.isFunction(d.getLastValidPosition))C=d.getLastValidPosition.call(q,k,b,d);else for(var f in c)b=parseInt(f),b>C&&(C=b);return C}function t(b,k,C){if(d.insertMode&&void 0!=a.validPositions[b]&&void 0==C){C=e.extend(!0,{},a.validPositions);var c=s(),f;for(f=b;f<=c;f++)delete a.validPositions[f];a.validPositions[b]=k;k=!0;for(f=b;f<=c;){b=E(f);f==b&&(k=!1);f=C[f];if(void 0!=f){var m=y(b);if(null==m.fn&&""==m.def)k=!1;else if(null==f.match.fn||f.match.def==m.def)k=k&&!1!== B(b,f.input,!0,!0)}if(!k)break;f=b}if(!k)return a.validPositions=e.extend(!0,{},C),!1}else a.validPositions[b]=k;return!0}function R(b,k,a){b=r(b,k,a);var e,f;for(f in b)if(e=b[f],d.greedy||(!1===e.match.optionality||!1===e.match.newBlockMarker)&&!0!==e.match.optionalQuantifier)break;return e}function y(b){return a.validPositions[b]?a.validPositions[b].match:r(b)[0].match}function r(b,k,e){function f(k,e,a,d){function C(a,d,n){if(c==b&&void 0==a.matches)return l.push({match:a,locator:d.reverse()}), !0;if(void 0!=a.matches)if(a.isGroup&&!0!==n){if(a=C(k.matches[g+1],d))return!0}else if(a.isOptional){var x=a;if(a=f(a,e,d,n))a=l[l.length-1].match,(a=0==x.matches.indexOf(a))&&(h=!0),c=b}else{if(!a.isAlternator)if(a.isQuantifier&&!0!==n)for(x=a,n=0x.quantifier.min-1,a=0==u.matches.indexOf(a))if(n> x.quantifier.min-1){h=!0;c=b;break}else return!0;else return!0}else if(a=f(a,e,d,n))return!0}else c++}for(var g=0b)break}}var d=a.maskToken,c=k?e:0;e=k||[0];var l=[],h=!1;if(void 0==k){k=b-1;for(var g;void 0==(g=a.validPositions[k])&&-1b);k++);(0==l.length||h)&&l.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return a.tests[b]=l}function c(){void 0==a._buffer&&(a._buffer=g(!1,1));return a._buffer}function f(){void 0==a.buffer&&(a.buffer=g(!0,s(),!0));return a.buffer}function x(b,a){for(var e=f().slice(),c=b;ch;q--)w+=void 0==a.validPositions[b-(q-1)]?P(b-(q-1)):a.validPositions[b-(q-1)].input;k&&(w+=k);m=null!=n.fn?n.fn.test(w,B,b,c,d):k!=n.def&&k!=d.skipOptionalPartCharacter||""==n.def?!1:{c:n.def,pos:b};if(!1!==m){h=void 0!=m.c?m.c:k;h=h==d.skipOptionalPartCharacter&&null===n.fn?n.def:h;w=b;if(m.refreshFromBuffer){w= m.refreshFromBuffer;c=!0;!0===w?(a.validPositions={},a.tests={},x(0,f().length)):x(w.start,w.end);if(void 0==m.pos&&void 0==m.c)return m.pos=s(),!1;w=void 0!=m.pos?m.pos:b;g=r(w)[0]}else!0!==m&&m.pos!=b&&(w=m.pos,x(b,w),g=r(w)[0]);0=a)return a;for(;++bb););return b}function F(b){if(0>=b)return 0;for(;0<--b&&!p(b););return b} function G(b,a,e){b._valueSet(a.join(""));void 0!=e&&A(b,e)}function P(b,a){a=a||y(b);return null==a.fn?a.def:d.placeholder.charAt(b%d.placeholder.length)}function K(b,k,d,z,n){z=void 0!=z?z.slice():L(b._valueGet()).split("");l();k&&b._valueSet("");e.each(z,function(k,f){if(!0===n){var z=a.p,z=-1==z?z:F(z),g=-1==z?k:E(z);-1==e.inArray(f,c().slice(z+1,g))&&T.call(b,void 0,!0,f.charCodeAt(0),!1,d,k)}else T.call(b,void 0,!0,f.charCodeAt(0),!1,d,k),d=d||0a.p});k&&G(b,f(),E(s()))}function H(b){return e.inputmask.escapeRegex.call(this, b)}function L(b){return b.replace(RegExp("("+H(c().join(""))+")*$"),"")}function N(b){var e=f().slice(),c,d=s(),n={},m=a.validPositions[d].locator.slice(),g;for(c=d+1;cd;c--)if(g=n[c].match,g.optionality&&e[c]==P(c,g))e.pop();else break;G(b,e)}function Q(b,c){if(!b.data("_inputmask")||!0!==c&&b.hasClass("hasDatepicker"))return b[0]._valueGet();var C=[],z=a.validPositions,g;for(g in z)null!=z[g].match.fn&&C.push(z[g].input);C= (D?C.reverse():C).join("");z=(D?f().reverse():f()).join("");return e.isFunction(d.onUnMask)?d.onUnMask.call(b,z,C,d):C}function M(b){!D||"number"!=typeof b||d.greedy&&""==d.placeholder||(b=f().length-b);return b}function A(b,a,c){b=b.jquery&&0h.length&&(A(this,h.length),g=A(this));1!=f().length-h.length||h.charAt(g.begin)==f()[g.begin]||h.charAt(g.begin+1)==f()[g.begin]||p(g.begin)?(K(this,!0,!1,h.split("")),!0===O(f())&&a.trigger("complete"),a.click()):(b.keyCode=d.keyCode.BACKSPACE, U.call(this,b));b.preventDefault()}function ja(b){q=e(b);if(q.is(":input")){q.data("_inputmask",{maskset:a,opts:d,isRTL:!1});d.showTooltip&&q.prop("title",a.mask);ha(b);("rtl"==b.dir||d.rightAlign)&&q.css("text-align","right");if("rtl"==b.dir||d.numericInput){b.dir="ltr";q.removeAttr("dir");var g=q.data("_inputmask");g.isRTL=!0;q.data("_inputmask",g);D=!0}q.unbind(".inputmask");q.removeClass("focus.inputmask");q.closest("form").bind("submit",function(){J!=f().join("")&&q.change()}).bind("reset",function(){setTimeout(function(){q.trigger("setvalue")}, 0)});q.bind("mouseenter.inputmask",function(){!e(this).hasClass("focus.inputmask")&&d.showMaskOnHover&&this._valueGet()!=f().join("")&&G(this,f())}).bind("blur.inputmask",function(){var b=e(this);if(b.data("_inputmask")){var a=this._valueGet(),g=f();b.removeClass("focus.inputmask");J!=f().join("")&&b.change();d.clearMaskOnLostFocus&&""!=a&&(a==c().join("")?this._valueSet(""):N(this));!1===O(g)&&(b.trigger("incomplete"),d.clearIncomplete&&(l(),d.clearMaskOnLostFocus?this._valueSet(""):(g=c().slice(), G(this,g))))}}).bind("focus.inputmask",function(){var b=e(this),a=this._valueGet();d.showMaskOnFocus&&!b.hasClass("focus.inputmask")&&(!d.showMaskOnHover||d.showMaskOnHover&&""==a)&&this._valueGet()!=f().join("")&&G(this,f(),E(s()));b.addClass("focus.inputmask");J=f().join("")}).bind("mouseleave.inputmask",function(){var b=e(this);d.clearMaskOnLostFocus&&(b.hasClass("focus.inputmask")||this._valueGet()==b.attr("placeholder")||(this._valueGet()==c().join("")||""==this._valueGet()?this._valueSet(""): N(this)))}).bind("click.inputmask",function(){var b=this;setTimeout(function(){var a=A(b);f();if(a.begin==a.end){var a=D?M(a.begin):a.begin,c=s(a),c=E(c);ah&&(h=f),p++;if(p>d||p==d&&l>t&&r>h||p==d&&l==t&&r")[0];F(e.extend(!0,{},a),h,{action:"mask",el:d});return d});t.data("_inputmask-multi",{activeMasksetIndex:0,elmasks:r});("rtl"==a.dir||h.rightAlign)&&t.css("text-align","right");a.dir="ltr";t.removeAttr("dir");""!=t.attr("value")&&s("init",r);t.bind("mouseenter blur focus mouseleave click dblclick keydown keypress keypress", function(c){var d=g(a),t,u=!0;if("keydown"==c.type){t=c.keyCode;if(t==h.keyCode.DOWN&&y