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