/* 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.8 */ (function(h){void 0==h.fn.inputmask&&(h.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:h.noop,onincomplete:h.noop,oncleared:h.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:h.noop,onKeyDown:h.noop,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:h.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=l?h[l-1]:[],n=f.validator,f=f.cardinality;t.push({fn:n?"string"==typeof n?RegExp(n):new function(){this.test=n}:/./,cardinality:f?f:1,optionality:b,newBlockMarker:!0==b?d:!1,offset:0,casing:e.casing,def:e.definitionSymbol|a});!0==b&&(d=!1)}t.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 t.push({fn:null,cardinality:0,optionality:b,newBlockMarker:d,offset:0,casing:null,def:a}),c=!1;d=!1;return t}})}function C(){function a(b){var c=b.length;for(i=0;it;n--)h+=B(c,e-(n-1));b&&(h+=b);return null!=f.tests[e].fn?f.tests[e].fn.test(h,c,a,d,j):!1}if(d)return g(a,u());var n=[],m=!1,k=p;h.each(x,function(d){p=d;var f=a;if(k!=p&&!A(a)){if(b==this._buffer[f]||b==j.skipOptionalPartCharacter)return n[d]={refresh:!0},this.lastValidPosition=f,!1;f=e?L(c,a):z(c,a)}if((void 0==this.lastValidPosition&&f==(e?L(c,r(c)):z(c,-1))||e||j.numericInput?this.lastValidPosition<= j.numericInput?r(c):z(c,f):this.lastValidPosition>=L(c,f))&&0<=f&&f=b){p=e;if(p!=c){var e=r(a),h=m();if(d||j.numericInput)a.reverse(), h.reverse();for(var g=a.length=b;g=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=W(a,b));return a[b]}function W(a,b,c){if(c)for(;0>b&&a.length=c&&e.lastValidPosition==g-1){for(var h=!0,j=0;jk?(o-=1,j.numericInput&&""!=j.radixPoint&&f[o]==j.radixPoint?(o=C(k,f.length-1==o?o:o-1,G(o),!0),o++):w?(o=C(k,o,G(o),!0),o=f[o+1]==j.radixPoint?o+1:z(f,o)):o=n(o,e),S(f,o,p),E(b,f,o)):0=k;)m=0==m?-1:L(f,m);m>=k?C(k,f.length,g):d=!1}else J(f,k,g);d&&(g=z(f,k),E(this,f,g),setTimeout(function(){R(f)&&b.trigger("complete")},0))}V&&s(this,c,e);j.showTooltip&&b.prop("title",u().mask);a.preventDefault()}}function k(a){var b=h(this),c=a.keyCode;j.onKeyUp.call(this,a,f,j);c==j.keyCode.TAB&&(b.hasClass("focus.inputmask")&& 0==this._valueGet().length&&j.showMaskOnFocus)&&(f=m().slice(),E(this,f),w||s(this,0),P=this._valueGet())}var l=h(a);if(l.is(":input")){j.showTooltip&&l.prop("title",u().mask);var f=m().slice();u().greedy=u().greedy?u().greedy:0==u().repeat;var K=l.prop("maxLength");r(f)>K&&-1M&&(I(c,f[c],f,true,w)!==false||!A(c))?c:M):s(a,c=parseInt(RegExp(/[0-9]+/).exec(ca))}var x,p=0;if("string"==typeof a)switch(a){case "mask":return b(j.alias,d),x=C(),this.each(function(){O(this)});case "unmaskedvalue":return x=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,j=this.data("inputmask").opts,Y(this);case "remove":return this.each(function(){var a=h(this),b=this;setTimeout(function(){if(a.data("inputmask")){x=a.data("inputmask").masksets;p=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")?(x=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,x[p]._buffer.join("")):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").opts.autoUnmask:!1;case "isComplete":return x=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,j=this.data("inputmask").opts,R(this[0]._valueGet().split(""));default:return b(a,d)||(j.mask=a),x=C(),this.each(function(){O(this)})}else{if("object"== typeof a)return j=h.extend(!0,{},h.inputmask.defaults,a),b(j.alias,a),x=C(),this.each(function(){O(this)});if(void 0==a)return this.each(function(){var a=h(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),c=h.parseJSON("{"+a+"}");j=h.extend(!0,{},h.inputmask.defaults,c);b(j.alias,c);j.alias=void 0;h(this).inputmask(j)}catch(d){}})}return this})})(jQuery); (function(h){h.extend(h.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"}});h.extend(h.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,g,h,C){if(C.regex["urlpre"+(a+1)]){var u=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]}):g},cardinality:2,prevalidator:[{validator:function(a,d,c,e,b){var g=b.regex.hrspre.test(a);return!e&&!g&&(g=b.regex.hrs.test("0"+a))?(d[c]="0",c++,{pos:c}):g},cardinality:1}]},t:{validator:function(a,d,c,e,b){var g=b.regex.ampm.test(a);return!e&&!g&&(g=b.regex.ampm.test(a+"m"))?(d[c-1]=a.charAt(0),d[c]="m",c++,c):g},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(h){h.extend(h.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 g=a.length;!d&&1=i;i++)g+="0";n=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test(g);if(!n&&!e&&a==b.radixPoint&&(n=b.regex.number(b.groupSeparator,b.groupSize,b.radixPoint,b.digits).test("0"+g+"0")))return d[c]="0",c++,{pos:c}}return!1!=n&&!e&&a!=b.radixPoint?{pos:b.postFormat(d, c+1,!1,b)}:n},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},"non-negative-decimal":{regex:{number:function(a,d,c,e){a=h.inputmask.escapeRegex.call(this,a);c=h.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=h.inputmask.escapeRegex.call(this,a);return RegExp("^[+-]?(\\d+|\\d{1,"+d+"}(("+c+"\\d{"+d+"})?)+)$")}},alias:"decimal"},"non-negative-integer":{regex:{number:function(a, d){var c=h.inputmask.escapeRegex.call(this,a);return RegExp("^[+]?(\\d+|\\d{1,"+d+"}(("+c+"\\d{"+d+"})?)+)$")}},alias:"integer"}})})(jQuery);