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