/* 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.59 */ (function(f){"function"===typeof define&&define.amd?define("jquery.inputmask",["jquery"],f):f(jQuery)})(function(f){if(void 0===f.fn.inputmask){var T=function(f){var e=document.createElement("input");f="on"+f;var c=f in e;c||(e.setAttribute(f,"return;"),c="function"==typeof e[f]);return c},E=function(b,e,c){return(b=c.aliases[b])?(b.alias&&E(b.alias,void 0,c),f.extend(!0,c,b),f.extend(!0,c,e),!0):!1},J=function(b,e){function c(c){function f(c,e,b,k){this.matches=[];this.isGroup=c||!1;this.isOptional= e||!1;this.isQuantifier=b||!1;this.isAlternator=k||!1;this.quantifier={min:1,max:1}}function e(c,f,k){var l=b.definitions[f],g=0==c.matches.length;k=void 0!=k?k:c.matches.length;if(l&&!z){for(var s=l.prevalidator,u=s?s.length:0,v=1;v=v?s[v-1]:[],w=r.validator,r=r.cardinality;c.matches.splice(k++,0,{fn:w?"string"==typeof w?RegExp(w):new function(){this.test=w}:/./,cardinality:r?r:1,optionality:c.isOptional,newBlockMarker:g,casing:l.casing,def:l.definitionSymbol||f,placeholder:l.placeholder, mask:f})}c.matches.splice(k++,0,{fn:l.validator?"string"==typeof l.validator?RegExp(l.validator):new function(){this.test=l.validator}:/./,cardinality:l.cardinality,optionality:c.isOptional,newBlockMarker:g,casing:l.casing,def:l.definitionSymbol||f,placeholder:l.placeholder,mask:f})}else c.matches.splice(k++,0,{fn:null,cardinality:0,optionality:c.isOptional,newBlockMarker:g,casing:null,def:f,placeholder:void 0,mask:f}),z=!1}for(var r=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g, z=!1,s=new f,g,k=[],D=[];g=r.exec(c);)switch(g=g[0],g.charAt(0)){case b.optionalmarker.end:case b.groupmarker.end:g=k.pop();0m?s(m,p,m-1)[0]:w(m,p,m-1),b=p.match,p=p.locator.slice(),f.push(null==b.fn?b.def:b.placeholder||c.placeholder.charAt(m%c.placeholder.length));m++}while((void 0==N||m-1=m);f.pop();return f}function z(a){var d=e;d.buffer=void 0;d.tests={};!0!==a&&(d._buffer=void 0,d.validPositions={},d.p=-1)}function r(a){var d=-1,n=e.validPositions;void 0==a&&(a=-1);var c=d,f;for(f in n){var b=parseInt(f);if(-1==a||null!=n[b].match.fn)b=a&&(d=b)}return 1h.quantifier.min-1,e=0==f.inArray(e,I.matches))if(s>h.quantifier.min-1){q=!0;m=a;break}else return!0;else return!0}else{if(e=b(e,n,k,l))return!0}else m++}for(var g=0a)break}}var k=e.maskToken,m=d?n:0;n=d||[0];var x= [],q=!1;if(void 0==d){d=a-1;for(var g;void 0==(g=e.validPositions[d])&&-1a);d++);(0==x.length||q)&&x.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return e.tests[a]=x}function g(){void 0==e._buffer&&(e._buffer=D(!1,1));return e._buffer}function k(){void 0==e.buffer&& (e.buffer=D(!0,r(),!0));return e.buffer}function J(a,d){var f=k().slice();if(!0===a)z(),a=0,d=f.length;else for(var b=a;bM;x--)h+=void 0==e.validPositions[a- (x-1)]?U(a-(x-1)):e.validPositions[a-(x-1)].input;d&&(h+=d);g=null!=p.fn?p.fn.test(h,e,a,n,c):d!=p.def&&d!=c.skipOptionalPartCharacter||""==p.def?!1:{c:p.def,pos:a};if(!1!==g){M=void 0!=g.c?g.c:d;M=M==c.skipOptionalPartCharacter&&null===p.fn?p.def:M;h=a;void 0!=g.remove&&t(g.remove,g.remove+1);if(g.refreshFromBuffer){h=g.refreshFromBuffer;n=!0;J(!0===h?h:h.start,h.end);if(void 0==g.pos&&void 0==g.c)return g.pos=r(),!1;h=void 0!=g.pos?g.pos:a;if(h!=a)return g=f.extend(g,v(h,M,!0)),!1}else if(!0!== g&&void 0!=g.pos&&g.pos!=a&&(h=g.pos,J(a,h),h!=a))return g=f.extend(g,v(h,M,!0)),!1;if(!0!=g&&void 0==g.pos&&void 0==g.c)return!1;0=Q())return!1;m=p(a,d,n,b);if(!n&&!1===m)if((g=e.validPositions[a])&&null==g.match.fn&&(g.match.def==d||d==c.skipOptionalPartCharacter))m={caret:C(a)}; else if((c.insertMode||void 0==e.validPositions[C(a)])&&!P(a))for(var g=a+1,q=C(a);g<=q;g++)if(m=p(g,d,n,b),!1!==m){a=g;break}!0===m&&(m={pos:a});return m}function P(a){a=E(a);return null!=a.fn?a.fn:!1}function Q(){var a;N=h.prop("maxLength");-1==N&&(N=void 0);if(!1==c.greedy){var d;d=r();a=e.validPositions[d];var f=void 0!=a?a.locator.slice():void 0;for(d+=1;void 0==a||null!=a.match.fn||null==a.match.fn&&""!=a.match.def;d++)a=w(d,f,d-1),f=a.locator.slice();a=d}else a=k().length;return void 0==N|| a=d)return d;for(;++aa););return a}function W(a){if(0>=a)return 0;for(;0<--a&&!P(a););return a}function H(a,d,c){a._valueSet(d.join(""));void 0!=c&&y(a,c)}function U(a,d){d=d||E(a);return d.placeholder||(null==d.fn?d.def:c.placeholder.charAt(a%c.placeholder.length))}function R(a,d,n,b,p){b=void 0!=b?b.slice():ha(a._valueGet()).split("");z();d&&a._valueSet("");f.each(b,function(d,c){if(!0===p){var b=e.p,b=-1==b?b:W(b), k=-1==b?d:C(b);-1==f.inArray(c,g().slice(b+1,k))&&Z.call(a,void 0,!0,c.charCodeAt(0),!1,n,d)}else Z.call(a,void 0,!0,c.charCodeAt(0),!1,n,d),n=n||0e.p});d&&(d=c.onKeyPress.call(this,void 0,k(),0,c),X(a,d),H(a,k(),f(a).is(":focus")?C(r(0)):void 0))}function T(a){return f.inputmask.escapeRegex.call(this,a)}function ha(a){return a.replace(RegExp("("+T(g().join(""))+")*$"),"")}function ca(a){if(a.data("_inputmask")&&!a.hasClass("hasDatepicker")){var d=[],n=e.validPositions,b;for(b in n)n[b].match&& null!=n[b].match.fn&&d.push(n[b].input);d=(B?d.reverse():d).join("");n=(B?k().reverse():k()).join("");f.isFunction(c.onUnMask)&&(d=c.onUnMask.call(a,n,d,c));return d}return a[0]._valueGet()}function O(a){!B||"number"!=typeof a||c.greedy&&""==c.placeholder||(a=k().length-a);return a}function y(a,d,e){a=a.jquery&&0g;b--)if(q=m[b].match,(q.optionality||q.optionalQuantifier)&&d[b]==U(b,q))c--;else break;return a?{l:c,def:m[c]?m[c].match:void 0}:c}function aa(a){var d=k().slice(),c=$();d.length=c;H(a,d)}function S(a){if(f.isFunction(c.isComplete))return c.isComplete.call(h, a,c);if("*"!=c.repeat){var d=!1,e=$(!0),b=W(e.l);if(r()==b&&(void 0==e.def||e.def.newBlockMarker||e.def.optionalQuantifier))for(d=!0,e=0;e<=b;e++){var g=P(e);if(g&&(void 0==a[e]||a[e]==U(e))||!g&&a[e]!=U(e)){d=!1;break}}return d}}function oa(a){a=f._data(a).events;f.each(a,function(a,c){f.each(c,function(a,d){if("inputmask"==d.namespace&&"setvalue"!=d.type){var c=d.handler;d.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return c.apply(this,arguments)}}})})}function pa(a){function d(a){if(void 0== f.valHooks[a]||!0!=f.valHooks[a].inputmaskpatch){var d=f.valHooks[a]&&f.valHooks[a].get?f.valHooks[a].get:function(a){return a.value},c=f.valHooks[a]&&f.valHooks[a].set?f.valHooks[a].set:function(a,d){a.value=d;return a};f.valHooks[a]={get:function(a){var c=f(a);if(c.data("_inputmask")){if(c.data("_inputmask").opts.autoUnmask)return c.inputmask("unmaskedvalue");a=d(a);c=(c=c.data("_inputmask").maskset._buffer)?c.join(""):"";return a!=c?a:""}return d(a)},set:function(a,d){var e=f(a),b=e.data("_inputmask"); b?(b=c(a,f.isFunction(b.opts.onBeforeMask)?b.opts.onBeforeMask.call(A,d,b.opts):d),e.triggerHandler("setvalue.inputmask")):b=c(a,d);return b},inputmaskpatch:!0}}}function c(){var a=f(this),d=f(this).data("_inputmask");return d?d.opts.autoUnmask?a.inputmask("unmaskedvalue"):m.call(this)!=g().join("")?m.call(this):"":m.call(this)}function e(a){var d=f(this).data("_inputmask");d?(h.call(this,f.isFunction(d.opts.onBeforeMask)?d.opts.onBeforeMask.call(A,a,d.opts):a),f(this).triggerHandler("setvalue.inputmask")): h.call(this,a)}function b(a){f(a).bind("mouseenter.inputmask",function(a){a=f(this);this._valueGet()!=k().join("")&&a.trigger("setvalue")});if(a=f._data(a).events.mouseover){for(var d=a[a.length-1],c=a.length-1;0=b.end-b.begin?b.begin=W(b.begin):d==c.keyCode.DELETE&&b.begin==b.end&&b.end++; t(b.begin,b.end);d=r(b.begin);e.p=de.length&&(y(this,e.length),b=y(this));1!=k().length-e.length||e.charAt(b.begin)==k()[b.begin]||e.charAt(b.begin+1)==k()[b.begin]||P(b.begin)||(a.keyCode=c.keyCode.BACKSPACE,ea.call(this,a));a.preventDefault()}function sa(a){h=f(a);if(h.is(":input")&&"number"!=h.attr("type")){h.data("_inputmask",{maskset:e,opts:c,isRTL:!1});c.showTooltip&&h.prop("title",e.mask);("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);B=!0}h.unbind(".inputmask");h.removeClass("focus-inputmask");h.closest("form").bind("submit",function(){K!=k().join("")&&h.change();c.autoUnmask&&c.removeMaskOnSubmit&&h.inputmask("remove")}).bind("reset",function(){setTimeout(function(){h.trigger("setvalue")},0)});h.bind("mouseenter.inputmask",function(){!f(this).hasClass("focus-inputmask")&&c.showMaskOnHover&&this._valueGet()!= k().join("")&&H(this,k())}).bind("blur.inputmask",function(){var a=f(this);if(a.data("_inputmask")){var b=this._valueGet(),d=k();a.removeClass("focus-inputmask");K!=k().join("")&&a.change();c.clearMaskOnLostFocus&&""!=b&&(b==g().join("")?this._valueSet(""):aa(this));!1===S(d)&&(a.trigger("incomplete"),c.clearIncomplete&&(z(),c.clearMaskOnLostFocus?this._valueSet(""):(d=g().slice(),H(this,d))))}}).bind("focus.inputmask",function(){var a=f(this),b=this._valueGet();c.showMaskOnFocus&&!a.hasClass("focus-inputmask")&& (!c.showMaskOnHover||c.showMaskOnHover&&""==b)&&this._valueGet()!=k().join("")&&H(this,k(),C(r()));a.addClass("focus-inputmask");K=k().join("")}).bind("mouseleave.inputmask",function(){var a=f(this);c.clearMaskOnLostFocus&&(a.hasClass("focus-inputmask")||this._valueGet()==a.attr("placeholder")||(this._valueGet()==g().join("")||""==this._valueGet()?this._valueSet(""):aa(this)))}).bind("click.inputmask",function(){var a=this;f(a).is(":focus")&&setTimeout(function(){var b=y(a);if(b.begin==b.end){var b= B?O(b.begin):b.begin,c=r(b),c=C(c);b