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