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