/* 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: 0.0.0 */ (function(c){void 0==c.fn.inputmask&&(c.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},escapeChar:"\\",mask:null,oncomplete:c.noop,onincomplete:c.noop,oncleared:c.noop,repeat:0,greedy:!0,autoUnmask:!1,clearMaskOnLostFocus:!0,insertMode:!0,clearIncomplete:!1,aliases:{},onKeyUp:c.noop,onKeyDown:c.noop,showMaskOnHover:!0,onKeyValidation:c.noop,skipOptionalPartCharacter:" ",numericInput:!1,radixPoint:"",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]},val:c.fn.val,escapeRegex:function(c){return c.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)","gim"),"\\$1")},getMaskLength:function(c,N,B){var I=c.length;!N&&1=d?j[d-1]:[],s=F.validator,F=F.cardinality;c.push({fn:s?"string"==typeof s?RegExp(s):new function(){this.test=s}:/./,cardinality:F?F:1,optionality:f,newBlockMarker:!0==f?e:!1,offset:0,casing:g.casing,def:a});!0==f&&(e=!1)}c.push({fn:g.validator?"string"==typeof g.validator?RegExp(g.validator):new function(){this.test=g.validator}:/./,cardinality:g.cardinality,optionality:f,newBlockMarker:e, offset:0,casing:g.casing,def:a})}else c.push({fn:null,cardinality:0,optionality:f,newBlockMarker:e,offset:0,casing:null,def:a}),k=!1;e=!1;return c}})}function T(){function a(k,c){var n=c.split(b.optionalmarker.end,2),h,g=n[0].split(b.optionalmarker.start);1n;s--)j+=w(k,g-(s-1));f&&(j+=f);return null!=c.tests[g].fn?c.tests[g].fn.test(j,k,a,e,b):!1}if(e)return h(a,t[p]); var g=[],j=!1,l=p;c.each(t,function(d){p=d;var c=a;if(l!=p&&!x(a)){if(f==this._buffer[c]||f==b.skipOptionalPartCharacter)return g[d]={refresh:!0},this.lastValidPosition=c,!1;c=n?L(k,a):y(k,a)}if((n?this.lastValidPosition<=b.numericInput?s():y(k,c):this.lastValidPosition>=L(k,c))&&0<=c&&c=b){p=c;if(p!=k){c=s();var r=h();e&&(a.reverse(),r.reverse());for(var g=a.length=b;g=c)return c;for(var e=b;++e=c)return 0;for(;0<--c&&!x(c););return c}function K(a,b,c){var e=G()[C(b)],h=c;if(void 0!=h)switch(e.casing){case "upper":h=c.toUpperCase();break;case "lower":h=c.toLowerCase()}a[b]=h}function w(a,b,c){c&&(b=V(a,b));return a[b]}function V(a,b,c){if(c)for(;0>b&&a.length=highestValidPosition&&a.lastValidPosition==c-1){for(var g= !0,j=0;j=A&&(b.numericInput&&b.greedy&&g==b.keyCode.DELETE&&d[m]==b.radixPoint?(m=y(d,m),v=!1):b.numericInput&&(b.greedy&&g==b.keyCode.BACKSPACE&&d[m]==b.radixPoint)&& (m--,v=!0),v?(m=k(A,m,E(m),!0),m=b.numericInput&&b.greedy&&g==b.keyCode.BACKSPACE&&d[m+1]==b.radixPoint?m+1:y(d,m)):m=f(m,j),U(d,m,p),D(u,d,m))}u._valueGet()==h().join("")&&c(u).trigger("cleared");a.preventDefault()}else g==b.keyCode.END||g==b.keyCode.PAGE_DOWN?setTimeout(function(){var c=z(u,d,!1,!0);!b.insertMode&&(c==s()&&!a.shiftKey)&&c--;r(u,a.shiftKey?e.begin:c,c)},0):g==b.keyCode.HOME||g==b.keyCode.PAGE_UP?r(u,0,a.shiftKey?e.begin:0):g==b.keyCode.ESCAPE?(u._valueSet(F),r(u,0,z(u,d))):g==b.keyCode.INSERT? (b.insertMode=!b.insertMode,r(u,!b.insertMode&&e.begin==s()?e.begin-1:e.begin)):a.ctrlKey&&88==g?setTimeout(function(){r(u,z(u,d,!0))},0):b.insertMode||(g==b.keyCode.RIGHT?(j=e.begin==e.end?e.end+1:e.end,j=j=m;)n=0==n?-1:L(d,n);n>=m?k(m,d.length,h):j=!1}else K(d,m,h);j&& (h=y(d,m),D(e,d,h),setTimeout(function(){Q(e)&&g.trigger("complete")},0))}else O&&D(e,d,n.begin);a.preventDefault()}}function H(a){var e=c(this),f=a.keyCode;b.onKeyUp.call(this,a,b);f==b.keyCode.TAB&&(e.hasClass("focus.inputmask")&&0==this._valueGet().length)&&(d=h().slice(),D(this,d),v||r(this,0),F=this._valueGet())}var g=c(a);if(g.is(":input")){b.greedy=b.greedy?b.greedy:0==b.repeat;var j=g.prop("maxLength");s()>j&&-1q&&(!1!==M(b,d[b],d,!0,v)||!x(b))?b:q):r(a,b=parseInt(RegExp(/[0-9]+/).exec(J)));var t,p=0;if("string"==typeof H)switch(H){case "mask":return B(b.alias, N),t=T(),this.each(function(){Y(this)});case "unmaskedvalue":return t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,b.greedy=this.data("inputmask").greedy,b.repeat=this.data("inputmask").repeat,b.definitions=this.data("inputmask").definitions,ba(this);case "remove":return this.each(function(){var a=c(this),f=this;setTimeout(function(){if(a.data("inputmask")){t=a.data("inputmask").masksets;p=a.data("inputmask").activeMasksetIndex;b.greedy=a.data("inputmask").greedy;b.repeat= a.data("inputmask").repeat;b.definitions=a.data("inputmask").definitions;f._valueSet(ba(a,!0));a.removeData("inputmask");a.unbind(".inputmask");a.removeClass("focus.inputmask");var c;Object.getOwnPropertyDescriptor&&(c=Object.getOwnPropertyDescriptor(f,"value"));c&&c.get?f._valueGet&&Object.defineProperty(f,"value",{get:f._valueGet,set:f._valueSet}):document.__lookupGetter__&&f.__lookupGetter__("value")&&f._valueGet&&(f.__defineGetter__("value",f._valueGet),f.__defineSetter__("value",f._valueSet)); delete f._valueGet;delete f._valueSet}},0)});case "getemptymask":return this.data("inputmask")?(t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,t[p]._buffer.join("")):"";case "hasMaskedValue":return this.data("inputmask")?!this.data("inputmask").autoUnmask:!1;case "isComplete":return t=this.data("inputmask").masksets,p=this.data("inputmask").activeMasksetIndex,b.greedy=this.data("inputmask").greedy,b.repeat=this.data("inputmask").repeat,b.definitions=this.data("inputmask").definitions, Q(this[0]);default:return B(H,N)||(b.mask=H),t=T(),this.each(function(){Y(this)})}else{if("object"==typeof H)return b=c.extend(!0,{},c.inputmask.defaults,H),B(b.alias,H),t=T(),this.each(function(){Y(this)});if(void 0==H)return this.each(function(){var a=c(this).attr("data-inputmask");if(a&&""!=a)try{var a=a.replace(RegExp("'","g"),'"'),f=c.parseJSON("{"+a+"}");b=c.extend(!0,{},c.inputmask.defaults,f);B(b.alias,f);b.alias=void 0;c(this).inputmask(b)}catch(h){}})}return this})})(jQuery); /* Input Mask plugin extensions 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: 0.0.0 Optional extensions on the jquery.inputmask base */ (function(a){a.extend(a.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"}});a.extend(a.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=[],c=0;8>c;c++)a[c]=function(){var a=c;return{validator:function(e,c,d,b,g){if(g.regex["urlpre"+(a+1)]){var f=e;0