﻿// JScript File
function ASI_InputMask_LostFocus($a){if($a.mask!=null&&$a.value==ASI_InputMask_GetDisplayMask($a,true)){$a.value="";}else{if($a.value!=null&&$a.value.length>0)
{if($a.RegexPattern!=null&&$a.RegexPattern.length>0){var re=new RegExp($a.RegexPattern);if($a.value.match(re)){if($a.OnRegexMatch!=null&&$a.OnRegexMatch.length>0){eval($a.OnRegexMatch);}}
else{if($a.OnRegexNoMatch!=null&&$a.OnRegexNoMatch.length>0){eval($a.OnRegexNoMatch);}}}}}};function ASI_InputMask_KeyDown($a){if($a.mask!=null&&$a.mask.length>0)
{var k=ASI_InputMask_GetKeyCode();if(k==8||(k>=33&&k<=40)||k==46){switch(k){case 8:ASI_InputMask_KeyBackspace($a);break;case 33:ASI_InputMask_PushPosBegin($a);break;case 34:ASI_InputMask_PushPosEnd($a);break;case 35:ASI_InputMask_PushPosEnd($a);break;case 36:ASI_InputMask_PushPosBegin($a);
break;case 37:ASI_InputMask_PushPosLeft($a);break;case 38:ASI_InputMask_PushPosLeft($a);break;case 39:ASI_InputMask_PushPosRight($a);break;case 40:ASI_InputMask_PushPosRight($a);break;case 46:ASI_InputMask_KeyDelete($a);break;}event.returnValue=false;}}};function ASI_InputMask_KeyPress($a)
{if($a.mask!=null&&$a.mask.length>0)
{var kc=ASI_InputMask_GetKeyCode();var ss=ASI_InputMask_GetSelectionStart($a);if(ASI_InputMask_KeyIsValid($a,ss,kc)){var ks=String.fromCharCode(kc);ASI_InputMask_UpdateChar($a,ss,ks);ASI_InputMask_PutCaretPos($a,ss+1);}
else{var $b=$a.OnWrongKeyPressed;if($b!=null&&$b.length>0){eval($b);}}event.returnValue=false;}};function ASI_InputMask_GotFocus($a){if($a.mask!=null&&$a.mask.length>0)
{var $z=ASI_InputMask_GetValidPos($a,0);if($z!=-1){if($a.value==null||$a.value.length==0){$a.value=ASI_InputMask_GetDisplayMask($a,true);};ASI_InputMask_PutCaretPos($a,0);}else{$a.blur();}}};function ASI_InputMask_OnClick($a)
{if($a.mask!=null&&$a.mask.length>0){var $d=ASI_InputMask_GetSelectionStart($a);ASI_InputMask_PutCaretPos($a,$d);}};function ASI_InputMask_GetKeyCode(){var $e=(document.layers)?$f.which:event.keyCode;return $e;};function ASI_InputMask_KeyDelete($a)
{var $z=ASI_InputMask_GetSelectionStart($a);ASI_InputMask_UpdateChar($a,$z,$a.maskDisplay);ASI_InputMask_PutCaretPos($a,$z+1);};function ASI_InputMask_KeyBackspace($a)
{var $z=ASI_InputMask_GetSelectionStart($a);$z=ASI_InputMask_GetValidPos($a,--$z,true);ASI_InputMask_UpdateChar($a,$z,$a.maskDisplay);ASI_InputMask_PutCaretPos($a,$z,true);};function ASI_InputMask_PushPosLeft($a)
{var k=ASI_InputMask_GetSelectionStart($a);if((k-1)>=0){ASI_InputMask_PutCaretPos($a,(k-1),true);}};function ASI_InputMask_PushPosRight($a){var k=ASI_InputMask_GetSelectionStart($a);if((k+1)<$a.value.length){ASI_InputMask_PutCaretPos($a,(k+1));}};
function ASI_InputMask_PushPosBegin($a){ASI_InputMask_PutCaretPos($a,0);};function ASI_InputMask_PushPosEnd($a){ASI_InputMask_PutCaretPos($a,$a.mask.length);};function ASI_InputMask_UpdateChar($a,$z,ks){var x=$a.value;var $g=x.substring(0,$z);var $h=x.substring($z+1,x.length);$a.value=$g+ks+$h;};
function ASI_InputMask_PutCaretPos($a,$z,$i){if($z<=0){$z=0;};if($z>=$a.value.length-1){$z=$a.value.length-1};$z=ASI_InputMask_GetValidPos($a,$z,$i);if($z!=-1){if($a.createTextRange){var r=$a.createTextRange();r.moveStart("character",$z);r.moveEnd('character',$z+1-$a.value.length);r.select();}}else{$a.blur();}};
function ASI_InputMask_GetValidPos($a,$z,$i){if($i==null){$i=false;};if(ASI_InputMask_PosIsValid($a,$z)){return $z;}else{if($i){while($z>=0){if(ASI_InputMask_PosIsValid($a,$z)){return $z;};$z--;};while($z<$a.mask.length-1){if(ASI_InputMask_PosIsValid($a,$z))
{return $z;};$z++;}}else{while($z<$a.mask.length-1){if(ASI_InputMask_PosIsValid($a,$z)){return $z;};$z++;};while($z>=0){if(ASI_InputMask_PosIsValid($a,$z))
{return $z;};$z--;}};return -1;}};function ASI_InputMask_PosIsValid($a,$z){var m=$a.mask.split("");if(m.length>$z){if(m[$z]!=null){if(m[$z]==$a.maskAlpha||m[$z]==$a.maskNumeric||m[$z]==$a.maskAlphaNumeric){return true;}else{return false;}}else{return false;}}else{return false;}};
function ASI_InputMask_KeyIsValid($a,$z,$j){var m=$a.mask.split("");if(m.length>$z){var $k=m[$z];if($k==$a.maskAlpha){if(($j>=65&&$j<=90)||($j>=97&&$j<=122)){return true;}else{return false;}}else if($k==$a.maskNumeric){if($j>=48&&$j<=57){return true;}else{return false;}}
else if($k==$a.maskAlphaNumeric){if(($j>=48&&$j<=57)||($j>=65&&$j<=90)||($j>=97&&$j<=122))
{return true;}else{return false;}}else{return false;}}else{return false;}};function ASI_InputMask_GetSelectionStart($a){if($a.createTextRange){$l=document.selection.createRange().duplicate();$l.moveEnd("character",$a.value.length);$z=$a.value.lastIndexOf($l.text);if($l.text=="")$z=$a.value.length;return $z;}
else{return $a.selectionStart;}};function ASI_InputMask_GetSelectionEnd($a){if($a.createTextRange){$l=document.selection.createRange().duplicate();$l.moveStart("character",-$a.value.length);$z=$l.text.length;return $z;}else{return $a.selectionEnd;}};
function ASI_InputMask_GetDisplayMask($a,$m){if($m==true){var f="";var m=$a.mask.split("");for(mi=0;mi<m.length;mi++){if(m[mi]==$a.maskAlpha||m[mi]==$a.maskNumeric||m[mi]==$a.maskAlphaNumeric){f+=$a.maskDisplay;}else{f+=m[mi];}};return f;}else{return $a.mask;}}


