/* 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.12 */ (function(f){if(void 0===f.fn.inputmask){var T=function(c){var b=document.createElement("input");c="on"+c;var f=c in b;f||(b.setAttribute(c,"return;"),f="function"==typeof b[c]);return f},H=function(c,b,e){return(c=e.aliases[c])?(c.alias&&H(c.alias,void 0,e),f.extend(!0,e,c),f.extend(!0,e,b),!0):!1},I=function(c){function b(b){function f(b,c,d,k){this.matches=[];this.isGroup=b||!1;this.isOptional=c||!1;this.isQuantifier=d||!1;this.isAlternator=k||!1;this.quantifier={min:1,max:1}}function e(b,f,d){var k= c.definitions[f],m=0==b.matches.length;d=void 0!=d?d:b.matches.length;if(k&&!t){for(var p=k.prevalidator,h=p?p.length:0,l=1;l=l?p[l-1]:[],u=r.validator,r=r.cardinality;b.matches.splice(d++,0,{fn:u?"string"==typeof u?RegExp(u):new function(){this.test=u}:/./,cardinality:r?r:1,optionality:b.isOptional,newBlockMarker:m,casing:k.casing,def:k.definitionSymbol||f})}b.matches.splice(d++,0,{fn:k.validator?"string"==typeof k.validator?RegExp(k.validator):new function(){this.test= k.validator}:/./,cardinality:k.cardinality,optionality:b.isOptional,newBlockMarker:m,casing:k.casing,def:k.definitionSymbol||f})}else b.matches.splice(d++,0,{fn:null,cardinality:0,optionality:b.isOptional,newBlockMarker:m,casing:null,def:f}),t=!1}for(var h=/(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g,t=!1,s=new f,d,k=[],p=[];d=h.exec(b);)switch(d=d[0],d.charAt(0)){case c.optionalmarker.end:case c.groupmarker.end:var l=k.pop();0w?s(w,k,w-1)[0]:O(w,k,w-1),e=k.match,k=k.locator.slice(), d.push(null==e.fn?e.def:b.placeholder.charAt(w%b.placeholder.length));w++}while((void 0==J||w-1=w);d.pop();return d}function m(a){var g=c;g.buffer=void 0;g.tests={};!0!==a&&(g._buffer=void 0,g.validPositions={},g.p=-1)}function r(a){a=-1;var g=c.validPositions,b;for(b in g)g=parseInt(b),g>a&&(a=g);return a}function C(a,g,G){if(b.insertMode&&void 0!=c.validPositions[a]&&void 0==G){G=f.extend(!0,{},c.validPositions);var k=r(),d;for(d=a;d<=k;d++)delete c.validPositions[d]; c.validPositions[a]=g;g=!0;for(d=a;d<=k;){a=A(d);d==a&&(g=!1);d=G[d];if(void 0!=d){var w=t(a);if(null==w.fn&&""==w.def)g=!1;else if(null==d.match.fn||d.match.def==w.def)g=g&&!1!==u(a,d.input,!0,!0)}if(!g)break;d=a}if(!g)return c.validPositions=f.extend(!0,{},G),!1}else c.validPositions[a]=g;return!0}function O(a,g,f){a=s(a,g,f);var c,d;for(d in a)if(c=a[d],b.greedy||(!1===c.match.optionality||!1===c.match.newBlockMarker)&&!0!==c.match.optionalQuantifier)break;return c}function t(a){return c.validPositions[a]? c.validPositions[a].match:s(a)[0].match}function s(a,g,b){function f(g,b,c,d){function G(c,d,y){if(k==a&&void 0==c.matches)return e.push({match:c,locator:d.reverse()}),!0;if(void 0!=c.matches)if(c.isGroup&&!0!==y){if(c=G(g.matches[h+1],d))return!0}else if(c.isOptional){var l=c;if(c=f(c,b,d,y))c=e[e.length-1].match,(c=0==l.matches.indexOf(c))&&(p=!0),k=a}else{if(!c.isAlternator)if(c.isQuantifier&&!0!==y)for(l=c,y=0l.quantifier.min-1,c=0==m.matches.indexOf(c))if(y>l.quantifier.min-1){p=!0;k=a;break}else return!0;else return!0}else if(c=f(c,b,d,y))return!0}else k++}for(var h=0a)break}}var d=c.maskToken,k=g?b:0;b=g||[0];var e=[],p=!1;if(void 0==g){g=a-1;for(var h;void 0== (h=c.validPositions[g])&&-1a);g++);(0==e.length||p)&&e.push({match:{fn:null,cardinality:0,optionality:!0,casing:null,def:""},locator:[]});return c.tests[a]=e}function d(){void 0==c._buffer&&(c._buffer=h(!1,1));return c._buffer}function k(){void 0==c.buffer&&(c.buffer=h(!0,r(),!0));return c.buffer}function p(a, g){for(var c=k().slice(),f=a;fy;u--)D+=void 0==c.validPositions[a-(u-1)]?R(a-(u-1)):c.validPositions[a-(u-1)].input;g&&(D+=g);e=null!=h.fn?h.fn.test(D,v,a,d,b):g!=h.def&&g!=b.skipOptionalPartCharacter|| ""==h.def?!1:{c:h.def,pos:a};if(!1!==e){y=void 0!=e.c?e.c:g;y=y==b.skipOptionalPartCharacter&&null===h.fn?h.def:y;D=a;if(e.refreshFromBuffer){D=e.refreshFromBuffer;d=!0;!0===D?(c.validPositions={},c.tests={},p(0,k().length)):p(D.start,D.end);if(void 0==e.pos&&void 0==e.c)return e.pos=r(),!1;D=void 0!=e.pos?e.pos:a;P=s(D)[0]}else!0!==e&&e.pos!=a&&(D=e.pos,p(a,D),P=s(D)[0]);0=g)return g;for(;++aa););return a}function N(a){if(0>=a)return 0;for(;0<--a&&!n(a););return a}function E(a,g,b){a._valueSet(g.join(""));void 0!=b&&z(a,b)}function R(a,g){g=g||t(a);return null==g.fn?g.def:b.placeholder.charAt(a%b.placeholder.length)}function M(a,g,b,e,h){e=void 0!=e?e.slice():H(a._valueGet()).split("");m();g&&a._valueSet("");f.each(e,function(g,k){if(!0===h){var e=c.p,e=-1==e?e:N(e),P=-1==e?g:A(e);-1==f.inArray(k,d().slice(e+ 1,P))&&V.call(a,void 0,!0,k.charCodeAt(0),!1,b,g)}else V.call(a,void 0,!0,k.charCodeAt(0),!1,b,g),b=b||0c.p});g&&E(a,k(),A(r()))}function F(a){return f.inputmask.escapeRegex.call(this,a)}function H(a){return a.replace(RegExp("("+F(d().join(""))+")*$"),"")}function I(a){var g=k().slice(),b,f=r(),d={},e=c.validPositions[f].locator.slice(),h;for(b=f+1;bf;b--)if(h=d[b].match,h.optionality&&g[b]==R(b,h))g.pop();else break;E(a, g)}function S(a,g){if(!a.data("_inputmask")||!0!==g&&a.hasClass("hasDatepicker"))return a[0]._valueGet();var c=f.map(k(),function(a,b){return n(b)&&u(b,a,!0)?a:null}),c=(B?c.reverse():c).join(""),d=(B?k().reverse():k()).join("");return f.isFunction(b.onUnMask)?b.onUnMask.call(a,d,c,b):c}function K(a){!B||"number"!=typeof a||b.greedy&&""==b.placeholder||(a=k().length-a);return a}function z(a,g,c){a=a.jquery&&0q?N(n):e==b.radixPoint?n-1:N(n-1):n;E(this,O,h);!0!==d&&setTimeout(function(){!0===Q(O)&&s.trigger("complete");Y=!0;s.trigger("input")},0)}else l&&(c.buffer=void 0,c.validPositions=c.undoPositions)}else l&&(c.buffer=void 0,c.validPositions=c.undoPositions);b.showTooltip&&s.prop("title",c.mask);a&&!0!=d&&(a.preventDefault?a.preventDefault():a.returnValue=!1)}}function ca(a){var g=f(this),e=a.keyCode,h=k();(a=b.onKeyUp.call(this, a,h,b))&&!0===a.refreshFromBuffer&&(c.validPositions={},c.tests={},p(0,k().length),m(!0),E(this,k()));e==b.keyCode.TAB&&b.showMaskOnFocus&&(g.hasClass("focus.inputmask")&&0==this._valueGet().length?(m(),h=k(),E(this,h),z(this,0),L=k().join("")):(E(this,h),h.join("")==d().join("")&&-1!=f.inArray(b.radixPoint,h)?(z(this,K(0)),g.click()):z(this,K(0),K(x()))))}function da(a){if(!0===Y&&"input"==a.type)return Y=!1,!0;var c=this,d=f(c);if("propertychange"==a.type&&c._valueGet().length<=x())return!0;setTimeout(function(){var a= f.isFunction(b.onBeforePaste)?b.onBeforePaste.call(c,c._valueGet(),b):c._valueGet();M(c,!0,!1,a.split(""),!0);!0===Q(k())&&d.trigger("complete");d.click()},0)}function ja(a){var c=f(this),e=z(this),h=this._valueGet(),h=h.replace(RegExp("("+F(d().join(""))+")*"),"");e.begin>h.length&&(z(this,h.length),e=z(this));1!=k().length-h.length||h.charAt(e.begin)==k()[e.begin]||h.charAt(e.begin+1)==k()[e.begin]||n(e.begin)?(M(this,!0,!1,h.split("")),!0===Q(k())&&c.trigger("complete"),c.click()):(a.keyCode=b.keyCode.BACKSPACE, W.call(this,a));a.preventDefault()}function ka(a){q=f(a);if(q.is(":input")){q.data("_inputmask",{maskset:c,opts:b,isRTL:!1});b.showTooltip&&q.prop("title",c.mask);ia(a);b.numericInput&&(b.isNumeric=b.numericInput);("rtl"==a.dir||b.numericInput&&b.rightAlignNumerics||b.isNumeric&&b.rightAlignNumerics)&&q.css("text-align","right");if("rtl"==a.dir||b.numericInput){a.dir="ltr";q.removeAttr("dir");var g=q.data("_inputmask");g.isRTL=!0;q.data("_inputmask",g);B=!0}q.unbind(".inputmask");q.removeClass("focus.inputmask"); q.closest("form").bind("submit",function(){L!=k().join("")&&q.change()}).bind("reset",function(){setTimeout(function(){q.trigger("setvalue")},0)});q.bind("mouseenter.inputmask",function(){!f(this).hasClass("focus.inputmask")&&b.showMaskOnHover&&this._valueGet()!=k().join("")&&E(this,k())}).bind("blur.inputmask",function(){var a=f(this),c=this._valueGet(),e=k();a.removeClass("focus.inputmask");L!=k().join("")&&a.change();b.clearMaskOnLostFocus&&""!=c&&(c==d().join("")?this._valueSet(""):I(this));!1=== Q(e)&&(a.trigger("incomplete"),b.clearIncomplete&&(m(),b.clearMaskOnLostFocus?this._valueSet(""):(e=d().slice(),E(this,e))))}).bind("focus.inputmask",function(){var a=f(this),c=this._valueGet();b.showMaskOnFocus&&!a.hasClass("focus.inputmask")&&(!b.showMaskOnHover||b.showMaskOnHover&&""==c)&&this._valueGet()!=k().join("")&&E(this,k(),A(r()));a.addClass("focus.inputmask");L=k().join("")}).bind("mouseleave.inputmask",function(){var a=f(this);b.clearMaskOnLostFocus&&(a.hasClass("focus.inputmask")||this._valueGet()== a.attr("placeholder")||(this._valueGet()==d().join("")||""==this._valueGet()?this._valueSet(""):I(this)))}).bind("click.inputmask",function(){var a=this;setTimeout(function(){var c=z(a),d=k();if(c.begin==c.end){var c=B?K(c.begin):c.begin,e=r(c),d=b.isNumeric?!1===b.skipRadixDance&&""!=b.radixPoint&&-1!=f.inArray(b.radixPoint,d)?b.numericInput?A(f.inArray(b.radixPoint,d)):f.inArray(b.radixPoint,d):A(e):A(e);ce&&(e=d),k++;if(k>p||k==p&&l>n&&m>e||k==p&&l==n&&m")[0]; F(f.extend(!0,{},c),e,{action:"mask",el:h});return h});C.data("_inputmask-multi",{activeMasksetIndex:0,elmasks:s});("rtl"==c.dir||e.numericInput&&e.rightAlignNumerics||e.isNumeric&&e.rightAlignNumerics)&&C.css("text-align","right");c.dir="ltr";C.removeAttr("dir");""!=C.attr("value")&&r("init",s);C.bind("mouseenter blur focus mouseleave click dblclick keydown keypress keypress",function(b){var k=h(c),p,l=!0;if("keydown"==b.type){p=b.keyCode;if(p==e.keyCode.DOWN&&t