//Email Validation Function
function Validate_String(string, return_invalid_chars)
{
    valid_chars = '1234567890-_.^~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    invalid_chars = '';

    if(string == null || string == '')
        return(true);

    //For every character on the string.   
    for(index = 0; index < string.length; index++)
    {
        char = string.substr(index, 1);                        

        //Is it a valid character?
        if(valid_chars.indexOf(char) == -1)
        {
            //If not, is it already on the list of invalid characters?
            if(invalid_chars.indexOf(char) == -1)
            {
                //If it's not, add it.
                if(invalid_chars == '')
                    invalid_chars += char;
                else
                    invalid_chars += ', ' + char;
            }
        }
    }                     

    //If the string does not contain invalid characters, the function will return true.
    //If it does, it will either return false or a list of the invalid characters used
    //in the string, depending on the value of the second parameter.
    if(return_invalid_chars == true && invalid_chars != '')
    {
        last_comma = invalid_chars.lastIndexOf(',');

        if(last_comma != -1)
            invalid_chars = invalid_chars.substr(0, $last_comma) + 
        ' and ' + invalid_chars.substr(last_comma + 1, invalid_chars.length);

    return(invalid_chars);
}
else
    return(invalid_chars == ''); 
         }


         function Validate_Email_Address(email_address)
         {
             //Assumes that valid email addresses consist of user_name@domain.tld
             at = email_address.indexOf('@');
             dot = email_address.indexOf('.', at);

             if(at == -1 || 
                 dot == -1 || 
                 dot <= at + 1 ||
                 dot == 0 || 
                 dot == email_address.length - 1)
             return(false);

             user_name = email_address.substr(0, at);
             domain_name = email_address.substr(at + 1, email_address.length);                  

             if(Validate_String(user_name) === false || 
                 Validate_String(domain_name) === false)
             return(false);                     

             return(true);
         }

 
