// $Id: validators.js,v 1.1 2004/06/24 01:30:42 cfox Exp $
// format of an email.  ex. blah@blue.com
var email_re = /^\w+[\w.-]*@([\w-]+\.)+\w+$/;


/* This function will return true or false depending on whether this key was
 * allowed or not.
 */
function filterEmailChars(event, field)
    {
    var allowed_chars = /[a-zA-Z0-9_+-@\.]/;
    var email = field.value.toLowerCase();
    field.value = email;
    var filter = RegExp(allowed_chars)

    if(event.charCode == 8 || event.charCode == 0)
        return true;

    var keychar = String.fromCharCode(event.charCode);
    var result = (filter.test(keychar));
    if(!result)
	{
	keychar = String.fromCharCode(event.keyCode);
	result = (filter.test(keychar));
	if (!result)
	{
		/* the returnValue thing is for IE */
		event.returnValue = false;
	}
	}
    return result;
    }

function filterChars(event, field, allowed_chars)
    {
    var filter = RegExp(allowed_chars)

    if(event.charCode == 8 || event.charCode == 0)
        return true;

    var keychar = String.fromCharCode(event.charCode);
    var result = (filter.test(keychar));
    if(!result)
	{
	keychar = String.fromCharCode(event.keyCode);
	result = (filter.test(keychar));
	if (!result)
	{
		/* the returnValue thing is for IE */
		event.returnValue = false;
	}
	}
    return result;
    }

function testEmail( field )
    {
    var email = field.value.toLowerCase();
    field.value = email;
    var ok = email_re.exec(email);
    if( !ok )
	{
	/*window.alert("\"" + email + "\" is not a valid email address.  Please re-enter.");
	*/
	return false;
	}
    else
	{ return true; }
    }

// This forces the date format of 'Jan 1 2004 13:00', though it's
// currently set up to allow the time to be optional.
// Note that the time is in 24 hour time.
// The date is lowercased, so it doesn't matter if it's Jan, JAN or jan.

var date_re = /[a-z]{3} [0-9]{1,2} [0-9]{4}( [0-9]{2}:[0-9]{2})?/;
function validateDate( field )
    {
    var thedate = field.valuetoLowerCase();
    var ok = date_re.exec(thedate)
    return ok;
    }

 
/* This arch-tag is automatically generated. Do not remove. */
/*  arch-tag: cc5b059e-bac2-430e-bfa3-51c882ddd3cf  */
 
