var KT_focusedEl=null;function KT_validateSingle(ascchar,maskchar){var cchar=ascchar.charCodeAt(0);switch(maskchar){case"9":if(cchar<58&&cchar>47){return true}break;case"A":if((cchar<91&&cchar>64)||(cchar<123&&cchar>96)){return true}break;case"X":if((cchar<91&&cchar>64)||(cchar<123&&cchar>96)||(cchar<58&&cchar>47)){return true}break;case"?":return true;break;default:return true;break}}function KT_maskDefaultValue(maskchar){switch(maskchar){case"9":return'0';break;case"A":return'a';break;case"X":return'0';break;case"?":return'0';break;default:return'0';break}}function KT_isSpecialChar(ascchar){if(ascchar=='9'||ascchar=='A'||ascchar=='X'||ascchar=='?'){return true}else{return false}}function mask_onValueChanged(){if((typeof window.getSelection=='undefined'&&typeof document.selection=='undefined')){return}if(KT_focusedEl==null||KT_focusedEl.mask==null||KT_focusedEl.mask==''){return}var mask=KT_focusedEl.mask;var val=KT_focusedEl.value;var i=0;var moveCursor=false;if(val==KT_focusedEl.oldText){return}if(val.length>mask.length){val=val.substr(0,mask.length);moveCursor=true}for(;i<mask.length;i++){if(val.charCodeAt(i).toString()!='NaN'){if(KT_isSpecialChar(mask.charAt(i))){if(KT_validateSingle(val.charAt(i),mask.charAt(i))){continue}else{val=KT_focusedEl.oldText;i=mask.length;break}}else{if(val.charAt(i)!=mask.charAt(i)){if(i==val.length-1){var lastChar=val.substr(val.length-1,val.length);val=val.substr(0,val.length-1)+mask.charAt(i)+lastChar;moveCursor=true;continue}else{val=KT_focusedEl.oldText;i=mask.length}break}}}else{if(val.length<KT_focusedEl.oldText.length){break}for(;i<mask.length;i++){if(!KT_isSpecialChar(mask.charAt(i))){val+=mask.charAt(i);moveCursor=true}else{break}}break}}if(val.length>mask.length){val=val.substr(0,mask.length);moveCursor=true}if(KT_focusedEl.value!=val){KT_focusedEl.value=val}KT_focusedEl.oldText=val;if(moveCursor){}}function mask_parseFirstTime(value,mask){var strippedmask='';var strippedvalue='';cond=1;imask=0;ival=0;cnt=0;while(cond==1){cond=1;if(!KT_isSpecialChar(mask.charAt(imask))){if(value.charCodeAt(ival).toString()!='NaN'){if(mask.charAt(imask)==value.charAt(ival)){imask++;ival++}else{value=value.substr(0,ival)+mask.charAt(imask)+value.substr(ival,value.length);imask=0;ival=0;cond=1}}else{value+=KT_maskDefaultValue(mask.charAt(imask))}}else{imask++;ival++}if(imask>=mask.length||ival>=value.length){cond=0}}for(i=0;i<mask.length;i++){if(KT_isSpecialChar(mask.charAt(i))){strippedmask+=mask.charAt(i);if(value.charCodeAt(i).toString()!='NaN'){strippedvalue+=value.charAt(i)}else{strippedvalue+=KT_maskDefaultValue(mask.charAt(i))}}}oldvalue=value;value=strippedvalue;var newvalue='';for(i=0;i<strippedmask.length;i++){if(!KT_validateSingle(value.charAt(i),strippedmask.charAt(i))){newvalue+=KT_maskDefaultValue(strippedmask.charAt(i))}else{newvalue+=value.charAt(i)}}var toret='';var j=0;for(i=0;i<mask.length;i++){if(KT_isSpecialChar(mask.charAt(i))){toret+=newvalue.charAt(j++)}else{toret+=mask.charAt(i)}}return toret}function mask_onSetFocus(obj,mask){if((typeof window.getSelection=='undefined'&&typeof document.selection=='undefined')){return}if(typeof obj.mask=='undefined'){ret='';if(obj.value!=''){ret=mask_parseFirstTime(obj.value,mask)}obj.value=ret;obj.mask=mask}KT_focusedEl=obj;if(typeof KT_focusedEl.oldText=='undefined'){KT_focusedEl.oldText=obj.value;mask_onValueChanged()}}function mask_onKillFocus(){if((typeof window.getSelection=='undefined'&&typeof document.selection=='undefined')){return}mask_onValueChanged();KT_focusedEl=null}