/* 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.31 */ (function(e){if(void 0===e.fn.inputmask){var T=function(b){var e=document.createElement("input");b="on"+b;var c=b in e;c||(e.setAttribute(b,"return;"),c="function"==typeof e[b]);return c},B=function(b,d,c){return(b=c.aliases[b])?(b.alias&&B(b.alias,void 0,c),e.extend(!0,c,b),e.extend(!0,c,d),!0):!1},G=function(b){function d(c){function e(c,b,d,m){this.matches=[];this.isGroup=c||!1;this.isOptional=b||!1;this.isQuantifier=d||!1;this.isAlternator=m||!1;this.quantifier={min:1,max:1}}function d(c,e,m){var g= b.definitions[e],U=0==c.matches.length;m=void 0!=m?m:c.matches.length;if(g&&!s){for(var n=g.prevalidator,p=n?n.length:0,v=1;v=v?n[v-1]:[],q=x.validator,x=x.cardinality;c.matches.splice(m++,0,{fn:q?"string"==typeof q?RegExp(q):new function(){this.test=q}:/./,cardinality:x?x:1,optionality:c.isOptional,newBlockMarker:U,casing:g.casing,def:g.definitionSymbol||e})}c.matches.splice(m++,0,{fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test= g.validator}:/./,cardinality:g.cardinality,optionality:c.isOptional,newBlockMarker:U,casing:g.casing,def:g.definitionSymbol||e})}else c.matches.splice(m++,0,{fn:null,cardinality:0,optionality:c.isOptional,newBlockMarker:U,casing:null,def:e}),s=!1}for(var q=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g,s=!1,x=new e,n,p=[],m=[];n=q.exec(c);)switch(n=n[0],n.charAt(0)){case b.optionalmarker.end:case b.groupmarker.end:var t=p.pop();0k?n(k,e,k-1)[0]:C(k,e,k-1),b=e.match,e=e.locator.slice(),y.push(null==b.fn?b.def:c.placeholder.charAt(k%c.placeholder.length));k++}while((void 0==I||k-1=k);y.pop();return y}function s(a){var f=d;f.buffer=void 0;f.tests={};!0!==a&&(f._buffer=void 0,f.validPositions={},f.p=-1)}function v(a){var f= d,r=-1,b=f.validPositions;if(e.isFunction(c.getLastValidPosition))r=c.getLastValidPosition.call(h,f,a,c);else{void 0==a&&(a=-1);var f=r,l;for(l in b){var k=parseInt(l);if(-1==a||null!=b[k].match.fn)k=a&&(r=k)}r=1J.quantifier.min-1,d=0==e.inArray(d,p.matches))if(n>J.quantifier.min-1){m=!0;k=a;break}else return!0;else return!0}else if(d=b(d,r,l,n))return!0}else k++}for(var h=0a)break}}var l=d.maskToken,k=f?r:0;r=f||[0]; var w=[],m=!1;if(void 0==f){f=a-1;for(var g;void 0==(g=d.validPositions[f])&&-1a);f++);(0==w.length||m)&&w.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return d.tests[a]=w}function p(){void 0==d._buffer&&(d._buffer=q(!1,1));return d._buffer}function m(){void 0==d.buffer&& (d.buffer=q(!0,v(),!0));return d.buffer}function t(a,f){for(var r=m().slice(),b=a;bh;q--)p+=void 0==d.validPositions[a-(q-1)]?Q(a-(q-1)):d.validPositions[a-(q-1)].input;f&&(p+=f);k=null!=w.fn? w.fn.test(p,x,a,b,c):f!=w.def&&f!=c.skipOptionalPartCharacter||""==w.def?!1:{c:w.def,pos:a};if(!1!==k){h=void 0!=k.c?k.c:f;h=h==c.skipOptionalPartCharacter&&null===w.fn?w.def:h;p=a;if(k.refreshFromBuffer){p=k.refreshFromBuffer;b=!0;!0===p?(d.validPositions={},d.tests={},t(0,m().length)):t(p.start,p.end);if(void 0==k.pos&&void 0==k.c)return k.pos=v(),!1;p=void 0!=k.pos?k.pos:a;l=n(p)[0]}else!0!==k&&k.pos!=a&&(p=k.pos,t(a,p),l=n(p)[0]);0=f)return f;for(;++aa););return a}function G(a){if(0>=a)return 0;for(;0<--a&&!B(a););return a}function E(a,f,c){a._valueSet(f.join(""));void 0!=c&&z(a,c)}function Q(a,f){f=f||P(a);return null==f.fn?f.def:c.placeholder.charAt(a%c.placeholder.length)}function N(a, f,c,b,l){b=void 0!=b?b.slice():T(a._valueGet()).split("");s();f&&a._valueSet("");e.each(b,function(f,b){if(!0===l){var y=d.p,y=-1==y?y:G(y),g=-1==y?f:D(y);-1==e.inArray(b,p().slice(y+1,g))&&X.call(a,void 0,!0,b.charCodeAt(0),!1,c,f)}else X.call(a,void 0,!0,b.charCodeAt(0),!1,c,f),c=c||0d.p});f&&E(a,m(),e(a).is(":focus")?D(v(0)):void 0)}function O(a){return e.inputmask.escapeRegex.call(this,a)}function T(a){return a.replace(RegExp("("+O(p().join(""))+")*$"),"")}function V(a){var f=m().slice(), c,b=v(),e={},k=void 0!=d.validPositions[b]?d.validPositions[b].locator.slice():void 0,g;for(c=b+1;cb;c--)if(g=e[c].match,g.optionality&&f[c]==Q(c,g))f.pop();else break;E(a,f)}function Z(a,f){if(!a.data("_inputmask")||!0!==f&&a.hasClass("hasDatepicker"))return a[0]._valueGet();var b=[],y=d.validPositions,l;for(l in y)y[l].match&&null!=y[l].match.fn&&b.push(y[l].input);b=(A?b.reverse():b).join("");y=(A?m().reverse():m()).join(""); return e.isFunction(c.onUnMask)?c.onUnMask.call(a,y,b,c):b}function L(a){!A||"number"!=typeof a||c.greedy&&""==c.placeholder||(a=m().length-a);return a}function z(a,f,b){a=a.jquery&&0d.length&&(z(this,d.length),b=z(this));1!=m().length-d.length||d.charAt(b.begin)==m()[b.begin]||d.charAt(b.begin+1)==m()[b.begin]||B(b.begin)||(a.keyCode=c.keyCode.BACKSPACE,aa.call(this,a));a.preventDefault()}function na(a){h=e(a);if(h.is(":input")){h.data("_inputmask",{maskset:d,opts:c, isRTL:!1});c.showTooltip&&h.prop("title",d.mask);ka(a);("rtl"==a.dir||c.rightAlign)&&h.css("text-align","right");if("rtl"==a.dir||c.numericInput){a.dir="ltr";h.removeAttr("dir");var b=h.data("_inputmask");b.isRTL=!0;h.data("_inputmask",b);A=!0}h.unbind(".inputmask");h.removeClass("focus.inputmask");h.closest("form").bind("submit",function(){H!=m().join("")&&h.change()}).bind("reset",function(){setTimeout(function(){h.trigger("setvalue")},0)});h.bind("mouseenter.inputmask",function(){!e(this).hasClass("focus.inputmask")&& c.showMaskOnHover&&this._valueGet()!=m().join("")&&E(this,m())}).bind("blur.inputmask",function(){var a=e(this);if(a.data("_inputmask")){var b=this._valueGet(),d=m();a.removeClass("focus.inputmask");H!=m().join("")&&a.change();c.clearMaskOnLostFocus&&""!=b&&(b==p().join("")?this._valueSet(""):V(this));!1===R(d)&&(a.trigger("incomplete"),c.clearIncomplete&&(s(),c.clearMaskOnLostFocus?this._valueSet(""):(d=p().slice(),E(this,d))))}}).bind("focus.inputmask",function(){var a=e(this),b=this._valueGet(); c.showMaskOnFocus&&!a.hasClass("focus.inputmask")&&(!c.showMaskOnHover||c.showMaskOnHover&&""==b)&&this._valueGet()!=m().join("")&&E(this,m(),D(v()));a.addClass("focus.inputmask");H=m().join("")}).bind("mouseleave.inputmask",function(){var a=e(this);c.clearMaskOnLostFocus&&(a.hasClass("focus.inputmask")||this._valueGet()==a.attr("placeholder")||(this._valueGet()==p().join("")||""==this._valueGet()?this._valueSet(""):V(this)))}).bind("click.inputmask",function(){var a=this;setTimeout(function(){var b= z(a);m();if(b.begin==b.end){var b=A?L(b.begin):b.begin,c=v(b),c=D(c);b