/* Input Mask plugin for jquery http://github.com/RobinHerbots/jquery.inputmask Copyright (c) 2010 - 2013 Robin Herbots Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) Version: 2.2.5 */ (function(f){void 0==f.fn.inputmask&&(f.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:f.noop,onincomplete:f.noop,oncleared:f.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:f.noop,onKeyDown:f.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:f.noop,skipOptionalPartCharacter:" ",showTooltip:!1,numericInput:!1,radixPoint:"",rightAlignNumerics:!0,definitions:{9:{validator:"[0-9]", cardinality:1},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451]",cardinality:1},"*":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1}},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32, TAB:9,UP:38,WINDOWS:91},ignorables:[9,13,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123],getMaskLength:function(a,d,c){var e=a.length;!d&&1=m?f[m-1]:[],p=g.validator,g=g.cardinality;z.push({fn:p?"string"==typeof p?RegExp(p):new function(){this.test=p}:/./,cardinality:g?g:1,optionality:b,newBlockMarker:!0==b?d:!1,offset:0,casing:e.casing,def:e.definitionSymbol|a});!0==b&&(d=!1)}z.push({fn:e.validator?"string"==typeof e.validator?RegExp(e.validator): new function(){this.test=e.validator}:/./,cardinality:e.cardinality,optionality:b,newBlockMarker:d,offset:0,casing:e.casing,def:e.definitionSymbol|a})}else z.push({fn:null,cardinality:0,optionality:b,newBlockMarker:d,offset:0,casing:null,def:a}),c=!1;d=!1;return z}})}function C(){function a(b){var c=b.length;for(i=0;iz;p--)f+=B(c,e-(p-1));b&&(f+=b);return null!=g.tests[e].fn?g.tests[e].fn.test(f,c,a,d,j):!1}if(d)return h(a,t());var p=[],o=!1,k=q;f.each(v,function(d){q=d;var g=a;if(k!=q&&!A(a)){if(b==this._buffer[g]||b==j.skipOptionalPartCharacter)return p[d]={refresh:!0},this.lastValidPosition=g,!1;g=e?L(c,a):y(c,a)}if(((void 0==this.lastValidPosition&&g==e?L(c,r(c)):y(c,-1))||e||j.numericInput?this.lastValidPosition<= j.numericInput?r(c):y(c,g):this.lastValidPosition>=L(c,g))&&0<=g&&g=b){q=e;if(q!=c){var e=r(a),f=l();if(d||j.numericInput)a.reverse(), f.reverse();for(var h=a.length=b;h=c)return c;for(var d=b;++d=c)return 0;for(;0<--c&&!A(c););return c}function J(a,b,c){var d=H()[D(b)], e=c;if(void 0!=e)switch(d.casing){case "upper":e=c.toUpperCase();break;case "lower":e=c.toLowerCase()}a[b]=e}function B(a,b,c){c&&(b=V(a,b));return a[b]}function V(a,b,c){if(c)for(;0>b&&a.length=c&&e.lastValidPosition==h-1){for(var f=!0,j=0;jk?(n-=1,j.numericInput&&""!=j.radixPoint&&g[n]==j.radixPoint?(n=C(k,g.length-1==n?n:n-1,G(n),!0),n++):x?(n=C(k,n,G(n),!0),n=g[n+1]==j.radixPoint?n+1:y(g,n)):n=p(n,e),S(g,n,q),E(b,g,n)):0=k;)m=0==m?-1:L(g,m);m>=k?C(k,g.length,h):d=!1}else J(g,k,h);d&&(h=y(g,k),E(this,g,h),setTimeout(function(){R(g)&&b.trigger("complete")},0))}U&&s(this,c,e);j.showTooltip&&b.prop("title",t().mask);a.preventDefault()}}function k(a){var b=f(this),c=a.keyCode;j.onKeyUp.call(this,a,g,j);c==j.keyCode.TAB&&(b.hasClass("focus.inputmask")&& 0==this._valueGet().length&&j.showMaskOnFocus)&&(g=l().slice(),E(this,g),x||s(this,0),P=this._valueGet())}var m=f(a);if(m.is(":input")){j.showTooltip&&m.prop("title",t().mask);var g=l().slice();t().greedy=t().greedy?t().greedy:0==t().repeat;var K=m.prop("maxLength");r(g)>K&&-1M&&(I(c,g[c],g,true,x)!==false||!A(c))?c:M):s(a,c=parseInt(RegExp(/[0-9]+/).exec(ca))}var v,q=0;if("string"==typeof a)switch(a){case "mask":return b(j.alias,d),v=C(),this.each(function(){O(this)});case "unmaskedvalue":return v=this.data("inputmask").masksets,q=this.data("inputmask").activeMasksetIndex,j=this.data("inputmask").opts,Y(this);case "remove":return this.each(function(){var a=f(this),b=this;setTimeout(function(){if(a.data("inputmask")){v=a.data("inputmask").masksets;q=a.data("inputmask").activeMasksetIndex; j=a.data("inputmask").opts;b._valueSet(Y(a,!0));a.removeData("inputmask");a.unbind(".inputmask");a.removeClass("focus.inputmask");var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(b,"value"));c&&c.get?b._valueGet&&Object.defineProperty(b,"value",{get:b._valueGet,set:b._valueSet}):document.__lookupGetter__&&b.__lookupGetter__("value")&&b._valueGet&&(b.__defineGetter__("value",b._valueGet),b.__defineSetter__("value",b._valueSet));delete b._valueGet;delete b._valueSet}},0)}); case "getemptymask":return this.data("inputmask")?(v=this.data("inputmask").masksets,q=this.data("inputmask").activeMasksetIndex,v[q]._buffer.join("")):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return v=this.data("inputmask").masksets,q=this.data("inputmask").activeMasksetIndex,j=this.data("inputmask").opts,R(this[0]._valueGet().split(""));default:return b(a,d)||(j.mask=a),v=C(),this.each(function(){O(this)})}else{if("object"== typeof a)return j=f.extend(!0,{},f.inputmask.defaults,a),b(j.alias,a),v=C(),this.each(function(){O(this)});if(void 0==a)return this.each(function(){var a=f(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),c=f.parseJSON("{"+a+"}");j=f.extend(!0,{},f.inputmask.defaults,c);b(j.alias,c);j.alias=void 0;f(this).inputmask(j)}catch(d){}})}return this})})(jQuery); (function(f){f.extend(f.inputmask.defaults.definitions,{A:{validator:"[A-Za-z]",cardinality:1,casing:"upper"},"#":{validator:"[A-Za-z\u0410-\u044f\u0401\u04510-9]",cardinality:1,casing:"upper"}});f.extend(f.inputmask.defaults.aliases,{url:{mask:"ir",placeholder:"",separator:"",defaultPrefix:"http://",regex:{urlpre1:/[fh]/,urlpre2:/(ft|ht)/,urlpre3:/(ftp|htt)/,urlpre4:/(ftp:|http|ftps)/,urlpre5:/(ftp:\/|ftps:|http:|https)/,urlpre6:/(ftp:\/\/|ftps:\/|http:\/|https:)/,urlpre7:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/, urlpre8:/(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/\/)/},definitions:{i:{validator:function(){return!0},cardinality:8,prevalidator:function(){for(var a=[],d=0;8>d;d++)a[d]=function(){var a=d;return{validator:function(d,b,h,f,C){if(C.regex["urlpre"+(a+1)]){var t=d;0c?a:da?(d[c]=a.toString(), d[c-1]="0"):(d[c]=a.toString().charAt(1),d[c-1]=a.toString().charAt(0)),{pos:c,c:d[c]}):h},cardinality:2,prevalidator:[{validator:function(a,d,c,e,b){var h=b.regex.hrspre.test(a);return!e&&!h&&(h=b.regex.hrs.test("0"+a))?(d[c]="0",c++,{pos:c}):h},cardinality:1}]},t:{validator:function(a,d,c,e,b){var h=b.regex.ampm.test(a);return!e&&!h&&(h=b.regex.ampm.test(a+"m"))?(d[c-1]=a.charAt(0),d[c]="m",c++,c):h},casing:"lower",cardinality:2,prevalidator:[{validator:function(a,d,c,e,b){if(e=b.regex.ampmpre.test(a))if(e= b.regex.ampm.test(a+"m"))return d[c]=a,d[c+1]="m",c;return e},cardinality:1}]}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm:ss":{mask:"h:s:s",autoUnmask:!1},"hh:mm":{mask:"h:s",autoUnmask:!1},date:{alias:"dd/mm/yyyy"}})})(jQuery); (function(f){f.extend(f.inputmask.defaults.aliases,{decimal:{mask:"~",placeholder:"",repeat:10,greedy:!1,numericInput:!0,digits:"*",groupSeparator:",",radixPoint:".",groupSize:3,autoGroup:!1,getMaskLength:function(a,d,c,e,b){var h=a.length;!d&&1=i;i++)h+="0";f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test(h);if(!f&&!e&&a==b.radixPoint&&(f=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test("0"+h+"0")))return d[c]="0",c++,{pos:c}}return!1!=f&&!e&&a!=b.radixPoint?{pos:b.postFormat(d,c+1,!1,b)}:f},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1}, "non-negative-decimal":{regex:{number:function(a,d,c,e){a=f.inputmask.escapeRegex.call(this,a);c=f.inputmask.escapeRegex.call(this,c);e=isNaN(e)?e:"{0,"+e+"}";return RegExp("^[+]?(\\d+|\\d{1,"+d+"}(("+a+"\\d{"+d+"})?)+)("+c+"\\d"+e+")?$")}},alias:"decimal"},integer:{regex:{number:function(a,d){var c=f.inputmask.escapeRegex.call(this,a);return RegExp("^[+-]?(\\d+|\\d{1,"+d+"}(("+c+"\\d{"+d+"})?)+)$")}},alias:"decimal"}})})(jQuery);