/* 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.6.0 */ (function(c){void 0===c.fn.inputmask&&(c.inputmask={defaults:{placeholder:"_",optionalmarker:{start:"[",end:"]"},quantifiermarker:{start:"{",end:"}"},groupmarker:{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,onUnMask:void 0,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:c.noop,skipOptionalPartCharacter:" ", showTooltip:!1,numericInput:!1,isNumeric:!1,radixPoint:"",skipRadixDance:!1,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:[8,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,c,g,h,b){b=a.length;c||("*"==g?b=h.length+1:1=k?f[k-1]:[],n=p.validator,p=p.cardinality;a.matches.splice(g++,0,{fn:n?"string"==typeof n?RegExp(n):new function(){this.test=n}:/./,cardinality:p?p:1,optionality:a.isOptional,casing:d.casing,def:d.definitionSymbol||b})}a.matches.splice(g++,0,{fn:d.validator?"string"==typeof d.validator?RegExp(d.validator):new function(){this.test=d.validator}:/./,cardinality:d.cardinality,optionality:a.isOptional, casing:d.casing,def:d.definitionSymbol||b})}else a.matches.splice(g++,0,{fn:null,cardinality:0,optionality:a.isOptional,casing:null,def:b}),h=!1}e.numericInput&&(b=b.split("").reverse().join(""));var f=/(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[]()|\\]+|./g,h=!1,d=new g,E,k,p=[];for(n=[];E=f.exec(b);)switch(k=E[0],k.charAt(0)){case e.optionalmarker.end:case e.groupmarker.end:E=p.pop();0f;O--)c+=P(K,a-(O-1),!0);b&&(c+=b);return null!=g(a).fn?g(a).fn.test(c,K,a,d,e):b==F(a)||b==e.skipOptionalPartCharacter? {refresh:!0,c:F(a),pos:a}:!1}if(l=!0===l){var C=A(f,z,l);!0===C&&(C={pos:f});return C}var t=[],C=!1,u=b,I=h().slice(),T=d().lastValidPosition;s(f);var N=[];c.each(a,function(a,e){if("object"==typeof e){b=a;var g=f,c=d().lastValidPosition,k;if(c==T){if(1= T||b==u)&&0<=g&&gb.result.pos)&&(l=b.result.pos,da=b.activeMasksetIndex)});e=c.map(e,function(e,k){if(-1!=c.inArray(e.activeMasksetIndex,g)){if(e.result.pos==l)return e;if(!1!==e.result){b=e.activeMasksetIndex;for(var Q=f;Qe.lastValidPosition?(e.activeMasksetIndex=a,e.lastValidPosition=d().lastValidPosition,e.next=r(d().lastValidPosition)):d().lastValidPosition==e.lastValidPosition&&(-1==e.next||e.next>r(d().lastValidPosition))&&(e.activeMasksetIndex=a,e.lastValidPosition=d().lastValidPosition,e.next=r(d().lastValidPosition)))});b=-1!=e.lastValidPosition&&a[f].lastValidPosition==e.lastValidPosition? f:e.activeMasksetIndex;f!=b&&($(h(),r(e.lastValidPosition),q()),d().writeOutBuffer=!0);t.data("_inputmask").activeMasksetIndex=b}function m(a){a=g(a);return void 0!=a?a.fn:!1}function q(){return e.getMaskLength(f(),d().greedy,d().repeat,h(),e)}function r(a){var b=q();if(a>=b)return b;for(;++a=a)return 0;for(;0<--a&&!m(a););return a}function v(a,b,d,e){e&&(b=V(a,b));e=g(b);var f=d;if(void 0!=f&&void 0!=e)switch(e.casing){case "upper":f=d.toUpperCase();break; case "lower":f=d.toLowerCase()}a[b]=f}function P(a,b,d){d&&(b=V(a,b));return a[b]}function V(a,b){for(var d;void 0==a[b]&&a.length=g&&e.lastValidPosition==h){for(var c=!0,k=0;k<=h;k++){var l=m(k);if(l&&(void 0==d[k]||d[k]==F(k))||!l&&d[k]!=F(k)){c=!1;break}}if(f=f||c)return!1}g=e.lastValidPosition}});b=h; return f}}var x=!1,D=h().join(""),t,ka;this.unmaskedvalue=function(a,b){x=a.data("_inputmask").isRTL;return la(a,b)};this.isComplete=function(a){return X(a)};this.mask=function(y){function z(a){a=c._data(a).events;c.each(a,function(a,b){c.each(b,function(a,b){if("inputmask"==b.namespace&&"setvalue"!=b.type&&"_keypress"!=b.type){var d=b.handler;b.handler=function(a){if(this.readOnly||this.disabled)a.preventDefault;else return d.apply(this,arguments)}}})})}function L(a){var b;Object.getOwnPropertyDescriptor&& (b=Object.getOwnPropertyDescriptor(a,"value"));if(b&&b.get){if(!a._valueGet){var d=b.get,e=b.set;a._valueGet=function(){return x?d.call(this).split("").reverse().join(""):d.call(this)};a._valueSet=function(a){e.call(this,x?a.split("").reverse().join(""):a)};Object.defineProperty(a,"value",{get:function(){var a=c(this),b=c(this).data("_inputmask"),e=b.masksets,f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"):d.call(this)!=e[f]._buffer.join("")?d.call(this):""},set:function(a){e.call(this, a);c(this).triggerHandler("setvalue.inputmask")}})}}else if(document.__lookupGetter__&&a.__lookupGetter__("value"))a._valueGet||(d=a.__lookupGetter__("value"),e=a.__lookupSetter__("value"),a._valueGet=function(){return x?d.call(this).split("").reverse().join(""):d.call(this)},a._valueSet=function(a){e.call(this,x?a.split("").reverse().join(""):a)},a.__defineGetter__("value",function(){var a=c(this),b=c(this).data("_inputmask"),e=b.masksets,f=b.activeMasksetIndex;return b&&b.opts.autoUnmask?a.inputmask("unmaskedvalue"): d.call(this)!=e[f]._buffer.join("")?d.call(this):""}),a.__defineSetter__("value",function(a){e.call(this,a);c(this).triggerHandler("setvalue.inputmask")}));else if(a._valueGet||(a._valueGet=function(){return x?this.value.split("").reverse().join(""):this.value},a._valueSet=function(a){this.value=x?a.split("").reverse().join(""):a}),void 0==c.valHooks.text||!0!=c.valHooks.text.inputmaskpatch)d=c.valHooks.text&&c.valHooks.text.get?c.valHooks.text.get:function(a){return a.value},e=c.valHooks.text&&c.valHooks.text.set? c.valHooks.text.set:function(a,b){a.value=b;return a},c.extend(c.valHooks,{text:{get:function(a){var b=c(a);if(b.data("_inputmask")){if(b.data("_inputmask").opts.autoUnmask)return b.inputmask("unmaskedvalue");a=d(a);b=b.data("_inputmask");return a!=b.masksets[b.activeMasksetIndex]._buffer.join("")?a:""}return d(a)},set:function(a,b){var d=c(a),f=e(a,b);d.data("_inputmask")&&d.triggerHandler("setvalue.inputmask");return f},inputmaskpatch:!0}})}function A(a,b,e,c){var l=h();if(!1!==c)for(;!m(a)&&0<= a-1;)a--;for(c=a;ca&&0<=l;l--)if(m(l)){var p=s(l),q=P(c,p);q!=F(p)&&!1!==k(p,q,!0)&&g(l).def==g(p).def&&(v(c,l, q,!0),U(p))}else U(l);void 0!=e&&P(c,a)==F(a)&&v(c,a,e);a=c.length;if(!1==d().greedy){e=aa(c.join("")).split("");c.length=e.length;l=0;for(p=c.length;l=c.end,h());d().lastValidPosition=B;)c=0==c?-1:s(c);c>=B?(C(B,q(),z),k=d().lastValidPosition,c=r(k),c!=q()&&k>=B&&P(h(),c,!0)!=F(c)&&(d().lastValidPosition=c)):d().writeOutBuffer=!1}else v(k,B,z,!0);if(-1==H||H>r(B))H=r(B)}else!I&&(k=B< q()?B+1:B,-1==H||H>k)&&(H=k);H>d().p&&(d().p=H)}});!0!==I&&(b=G,l());if(!1!==t&&(c.each(m,function(a,d){if(d.activeMasksetIndex==b)return A=d,!1}),void 0!=A)){var M=this;setTimeout(function(){e.onKeyValidation.call(M,A.result,e)},0);if(d().writeOutBuffer&&!1!==A.result){var L=h();t=g?void 0:e.numericInput?B>D?s(H):z==e.radixPoint?H-1:s(H-1):H;J(this,L,t);!0!==g&&setTimeout(function(){!0===X(L)&&y.trigger("complete");W=!0;y.trigger("input")},0)}else N&&(d().buffer=d().undoBuffer.split(""))}e.showTooltip&& y.prop("title",d().mask);f.preventDefault()}}function T(a){var b=c(this),d=a.keyCode,g=h();I&&d==e.keyCode.BACKSPACE&&ka==this._valueGet()&&ia.call(this,a);e.onKeyUp.call(this,a,g,e);d==e.keyCode.TAB&&e.showMaskOnFocus&&(b.hasClass("focus.inputmask")&&0==this._valueGet().length?(g=f().slice(),J(this,g),u(this,0),D=h().join("")):(J(this,g),g.join("")==f().join("")&&-1!=c.inArray(e.radixPoint,g)?(u(this,G(0)),b.click()):u(this,G(0),G(q()))))}t=c(y);if(t.is(":input")){t.data("_inputmask",{masksets:a, activeMasksetIndex:b,opts:e,isRTL:!1});e.showTooltip&&t.prop("title",d().mask);d().greedy=d().greedy?d().greedy:0==d().repeat;if(null!=t.attr("maxLength")){var M=t.prop("maxLength");-1=M&&-1f;f++)a[f]=function(){var a=f;return{validator:function(f,b,d,c,e){if(e.regex["urlpre"+(a+1)]){var m=f;0h)return a;if(ff?a:f}return h},onKeyUp:function(a,f,g){f=c(this);a.ctrlKey&&a.keyCode== g.keyCode.RIGHT&&(a=new Date,f.val(a.getDate().toString()+(a.getMonth()+1).toString()+a.getFullYear().toString()))},definitions:{1:{validator:function(a,c,g,h,b){var d=b.regex.val1.test(a);return h||d||a.charAt(1)!=b.separator&&-1=="-./".indexOf(a.charAt(1))||!(d=b.regex.val1.test("0"+a.charAt(0)))?d:(c[g-1]="0",{pos:g,c:a.charAt(0)})},cardinality:2,prevalidator:[{validator:function(a,c,g,h,b){var d=b.regex.val1pre.test(a);return h||d||!(d=b.regex.val1.test("0"+a))?d:(c[g]="0",g++,{pos:g})},cardinality:1}]}, 2:{validator:function(a,c,g,h,b){var d=c.join("").substr(0,3);-1!=d.indexOf(b.placeholder[0])&&(d="01"+b.separator);var k=b.regex.val2(b.separator).test(d+a);return h||k||a.charAt(1)!=b.separator&&-1=="-./".indexOf(a.charAt(1))||!(k=b.regex.val2(b.separator).test(d+"0"+a.charAt(0)))?k:(c[g-1]="0",{pos:g,c:a.charAt(0)})},cardinality:2,prevalidator:[{validator:function(a,c,g,h,b){var d=c.join("").substr(0,3);-1!=d.indexOf(b.placeholder[0])&&(d="01"+b.separator);var k=b.regex.val2pre(b.separator).test(d+ a);return h||k||!(k=b.regex.val2(b.separator).test(d+"0"+a))?k:(c[g]="0",g++,{pos:g})},cardinality:1}]},y:{validator:function(a,c,g,h,b){if(b.isInYearRange(a,b.yearrange.minyear,b.yearrange.maxyear)){if(c.join("").substr(0,6)!=b.leapday)return!0;a=parseInt(a,10);return 0===a%4?0===a%100?0===a%400?!0:!1:!0:!1}return!1},cardinality:4,prevalidator:[{validator:function(a,c,g,h,b){var d=b.isInYearRange(a,b.yearrange.minyear,b.yearrange.maxyear);if(!h&&!d){h=b.determinebaseyear(b.yearrange.minyear,b.yearrange.maxyear, a+"0").toString().slice(0,1);if(d=b.isInYearRange(h+a,b.yearrange.minyear,b.yearrange.maxyear))return c[g++]=h[0],{pos:g};h=b.determinebaseyear(b.yearrange.minyear,b.yearrange.maxyear,a+"0").toString().slice(0,2);if(d=b.isInYearRange(h+a,b.yearrange.minyear,b.yearrange.maxyear))return c[g++]=h[0],c[g++]=h[1],{pos:g}}return d},cardinality:1},{validator:function(a,c,g,h,b){var d=b.isInYearRange(a,b.yearrange.minyear,b.yearrange.maxyear);if(!h&&!d){h=b.determinebaseyear(b.yearrange.minyear,b.yearrange.maxyear, a).toString().slice(0,2);if(d=b.isInYearRange(a[0]+h[1]+a[1],b.yearrange.minyear,b.yearrange.maxyear))return c[g++]=h[1],{pos:g};h=b.determinebaseyear(b.yearrange.minyear,b.yearrange.maxyear,a).toString().slice(0,2);b.isInYearRange(h+a,b.yearrange.minyear,b.yearrange.maxyear)?c.join("").substr(0,6)!=b.leapday?d=!0:(b=parseInt(a,10),d=0===b%4?0===b%100?0===b%400?!0:!1:!0:!1):d=!1;if(d)return c[g-1]=h[0],c[g++]=h[1],c[g++]=a[0],{pos:g}}return d},cardinality:2},{validator:function(a,c,g,h,b){return b.isInYearRange(a, b.yearrange.minyear,b.yearrange.maxyear)},cardinality:3}]}},insertMode:!1,autoUnmask:!1},"mm/dd/yyyy":{placeholder:"mm/dd/yyyy",alias:"dd/mm/yyyy",regex:{val2pre:function(a){a=c.inputmask.escapeRegex.call(this,a);return RegExp("((0[13-9]|1[012])"+a+"[0-3])|(02"+a+"[0-2])")},val2:function(a){a=c.inputmask.escapeRegex.call(this,a);return RegExp("((0[1-9]|1[012])"+a+"(0[1-9]|[12][0-9]))|((0[13-9]|1[012])"+a+"30)|((0[13578]|1[02])"+a+"31)")},val1pre:/[01]/,val1:/0[1-9]|1[012]/},leapday:"02/29/",onKeyUp:function(a, f,g){f=c(this);a.ctrlKey&&a.keyCode==g.keyCode.RIGHT&&(a=new Date,f.val((a.getMonth()+1).toString()+a.getDate().toString()+a.getFullYear().toString()))}},"yyyy/mm/dd":{mask:"y/1/2",placeholder:"yyyy/mm/dd",alias:"mm/dd/yyyy",leapday:"/02/29",onKeyUp:function(a,f,g){f=c(this);a.ctrlKey&&a.keyCode==g.keyCode.RIGHT&&(a=new Date,f.val(a.getFullYear().toString()+(a.getMonth()+1).toString()+a.getDate().toString()))},definitions:{2:{validator:function(a,c,g,h,b){var d=c.join("").substr(5,3);-1!=d.indexOf(b.placeholder[5])&& (d="01"+b.separator);var k=b.regex.val2(b.separator).test(d+a);if(!(h||k||a.charAt(1)!=b.separator&&-1=="-./".indexOf(a.charAt(1)))&&(k=b.regex.val2(b.separator).test(d+"0"+a.charAt(0))))return c[g-1]="0",{pos:g,c:a.charAt(0)};if(k){if(c.join("").substr(4,4)+a!=b.leapday)return!0;a=parseInt(c.join("").substr(0,4),10);return 0===a%4?0===a%100?0===a%400?!0:!1:!0:!1}return k},cardinality:2,prevalidator:[{validator:function(a,c,g,h,b){var d=c.join("").substr(5,3);-1!=d.indexOf(b.placeholder[5])&&(d="01"+ b.separator);var k=b.regex.val2pre(b.separator).test(d+a);return h||k||!(k=b.regex.val2(b.separator).test(d+"0"+a))?k:(c[g]="0",g++,{pos:g})},cardinality:1}]}}},"dd.mm.yyyy":{mask:"1.2.y",placeholder:"dd.mm.yyyy",leapday:"29.02.",separator:".",alias:"dd/mm/yyyy"},"dd-mm-yyyy":{mask:"1-2-y",placeholder:"dd-mm-yyyy",leapday:"29-02-",separator:"-",alias:"dd/mm/yyyy"},"mm.dd.yyyy":{mask:"1.2.y",placeholder:"mm.dd.yyyy",leapday:"02.29.",separator:".",alias:"mm/dd/yyyy"},"mm-dd-yyyy":{mask:"1-2-y",placeholder:"mm-dd-yyyy", leapday:"02-29-",separator:"-",alias:"mm/dd/yyyy"},"yyyy.mm.dd":{mask:"y.1.2",placeholder:"yyyy.mm.dd",leapday:".02.29",separator:".",alias:"yyyy/mm/dd"},"yyyy-mm-dd":{mask:"y-1-2",placeholder:"yyyy-mm-dd",leapday:"-02-29",separator:"-",alias:"yyyy/mm/dd"},datetime:{mask:"1/2/y h:s",placeholder:"dd/mm/yyyy hh:mm",alias:"dd/mm/yyyy",regex:{hrspre:/[012]/,hrs24:/2[0-9]|1[3-9]/,hrs:/[01][0-9]|2[0-3]/,ampm:/^[a|p|A|P][m|M]/},timeseparator:":",hourFormat:"24",definitions:{h:{validator:function(a,c,g,h, b){var d=b.regex.hrs.test(a);return h||d||a.charAt(1)!=b.timeseparator&&-1=="-.:".indexOf(a.charAt(1))||!(d=b.regex.hrs.test("0"+a.charAt(0)))?d&&"24"!==b.hourFormat&&b.regex.hrs24.test(a)?(a=parseInt(a,10),c[g+5]=24==a?"a":"p",c[g+6]="m",a-=12,10>a?(c[g]=a.toString(),c[g-1]="0"):(c[g]=a.toString().charAt(1),c[g-1]=a.toString().charAt(0)),{pos:g,c:c[g]}):d:(c[g-1]="0",c[g]=a.charAt(0),g++,{pos:g})},cardinality:2,prevalidator:[{validator:function(a,c,g,h,b){var d=b.regex.hrspre.test(a);return h||d|| !(d=b.regex.hrs.test("0"+a))?d:(c[g]="0",g++,{pos:g})},cardinality:1}]},t:{validator:function(a,c,g,h,b){return b.regex.ampm.test(a+"m")},casing:"lower",cardinality:1}},insertMode:!1,autoUnmask:!1},datetime12:{mask:"1/2/y h:s t\\m",placeholder:"dd/mm/yyyy hh:mm xm",alias:"datetime",hourFormat:"12"},"hh:mm t":{mask:"h:s t\\m",placeholder:"hh:mm xm",alias:"datetime",hourFormat:"12"},"h:s t":{mask:"h:s t\\m",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"},"mm/yyyy":{mask:"1/y",placeholder:"mm/yyyy",leapday:"donotuse",separator:"/",alias:"mm/dd/yyyy"}})})(jQuery); (function(c){c.extend(c.inputmask.defaults.aliases,{decimal:{mask:"~",placeholder:"",repeat:"*",greedy:!1,numericInput:!1,isNumeric:!0,digits:"*",groupSeparator:"",radixPoint:".",groupSize:3,autoGroup:!1,allowPlus:!0,allowMinus:!0,integerDigits:"*",defaultValue:"",prefix:"",suffix:"",getMaskLength:function(a,f,g,h,b){var d=a.length;f||("*"==g?d=h.length+1:1=g&&"0"===f[0]&&/[\d-]/.test(a)&&1==f.length)return f[0]="",{pos:0};var d=h?f.slice(0,g):f.slice();d.splice(g,0,a);var d=d.join(""),k=c.inputmask.escapeRegex.call(this,b.groupSeparator),d=d.replace(RegExp(k,"g"),""),k=b.regex.number(b).test(d);if(!k&&(d+="0",k=b.regex.number(b).test(d),!k)){k=d.lastIndexOf(b.groupSeparator);for(i=d.length-k;3>=i;i++)d+="0";k=b.regex.number(b).test(d);if(!k&&!h&&a==b.radixPoint&&(k=b.regex.number(b).test("0"+ d+"0")))return f[g]="0",g++,{pos:g}}return!1==k||h||a==b.radixPoint?k:{pos:b.postFormat(f,g,!1,b)}},cardinality:1,prevalidator:null}},insertMode:!0,autoUnmask:!1},integer:{regex:{number:function(a){var f=c.inputmask.escapeRegex.call(this,a.groupSeparator);return RegExp("^"+(a.allowPlus||a.allowMinus?"["+(a.allowPlus?"+":"")+(a.allowMinus?"-":"")+"]?":"")+"(\\d+|\\d{1,"+a.groupSize+"}(("+f+"\\d{"+a.groupSize+"})?)+)$")}},alias:"decimal"}})})(jQuery); (function(c){c.extend(c.inputmask.defaults.aliases,{Regex:{mask:"r",greedy:!1,repeat:"*",regex:null,regexTokens:null,tokenizer:/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,quantifierFilter:/[0-9]+[^,]/,definitions:{r:{validator:function(a,c,g,h,b){function d(){this.matches=[];this.isLiteral=this.isQuantifier=this.isGroup=!1}function k(){var a= new d,c,e=[];for(b.regexTokens=[];c=b.tokenizer.exec(b.regex);)switch(c=c[0],c.charAt(0)){case "[":case "\\":0