function validate_username(sender, args)
{
   if(!ContainsAllowedLetters(args.Value))
   {
      args.IsValid = false;
      return;
   }
   args.IsValid = true;
}

function validate_username_EmailOk(sender, args)
{
   if(!ContainsAllowedLetters(args.Value, true))
   {
      args.IsValid = false;
      return;
   }
   args.IsValid = true;
}

function ContainsAllowedLetters(strVal, isEmailOk)
{
   var isemailok = isEmailOk || false;
    
   var ALLOWEDCHARS = isemailok ? "abcdefghijklmnopqrstuvwxyz0123456789_.@" : "abcdefghijklmnopqrstuvwxyz0123456789_."  ;
   
   
   for (i = 0; i < strVal.length; i++)
   {
      if (ALLOWEDCHARS.indexOf(strVal.charAt(i).toLowerCase()) == -1)
      {
        return false;
      }
   }
   return true;
}