var defaultEmptyOK = falsevar whitespace = " \t\n\r";// Check whether string s is empty.function isEmpty(s)	{   	return ((s == null) || (s.length == 0))}// Returns true if string s is empty or whitespace chars only.function isWhitespace (s)	{   	var i;	if (isEmpty(s)) return true;	// Search thru string's chars one by one	// until we find a non-whitespace char.	// When we do, return false; if we don't, return true.	for (i = 0; i < s.length; i++)	{		// Check that current char isn't whitespace.		var c = s.charAt(i);		if (whitespace.indexOf(c) == -1) return false;	}	// All chars are whitespace	return true;}// isEmail (STRING s [, BOOLEAN emptyOK])// // Email address must be of form 'a@b.c', i.e:// * there must be at least one character before the @// * there must be at least one character before and after the .// * the characters @ and . are both required//function isEmail (s)	{	if (isEmpty(s)) 		if (isEmail.arguments.length == 1) return defaultEmptyOK;		else return (isEmail.arguments[1] == true);	if (isWhitespace(s)) return false;	// there must be >= 1 character before @, so we	// start looking at character position 1  (i.e. 2nd char)	var i = 1;	var sLength = s.length;	// look for @	while ((i < sLength) && (s.charAt(i) != "@"))	{ 		i++	}	if ((i >= sLength) || (s.charAt(i) != "@")) return false;	else i += 2;	// look for .	while ((i < sLength) && (s.charAt(i) != "."))	{		i++	}	// there must be at least one character after the .	if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;	else return true;}// pass in the form's email field, e.g.// onsubmit="return checkEmail(this.email_field);"function checkEmail (f)	{	var v = f.value;	if (!isEmail(v))	{		var errMsg = "Sorry, the email address you entered:\n";		errMsg += v;		errMsg += "\ndoes not appear to be valid.";		alert (errMsg);		f.select();		f.focus();		return false;  	}	else return true;}