if (defaultEmptyOk == undefined) var defaultEmptyOk = true;
function isEmpty(strSource)
{ return ((strSource == null) || (strSource.length == 0));}

function isUSPhone(strSource)
{ if (isEmpty(strSource))
return ((isUSPhone.arguments.length == 1) ? defaultEmptyOk : (isUSPhone.arguments[1] == true)); return (strSource.search(/^(1[\-\.\s]?)?(\(\d{3}\)[\s\-\.]?|\d{3}[\s\-\.]?)?\d{3}[\-\.\s]?\d{4}(\s?x\d+)?$/) != -1);}

function isEmail(strSource)
{ if (isEmpty(strSource))
return ((isEmail.arguments.length == 1) ? defaultEmptyOk : (isEmail.arguments[1] == true)); return (strSource.search(/^[a-z\d][\w\-\.]*\@([a-z\d][\w\-]*\.)+[a-z]{2,4}$/i) != -1);}


function formvalidator ( form )
{

	var bValid = true;
	var strError = "The following fields require entries:\n";
	

	if (isEmpty(form.FullName.value))
	{
		strError += "- Full Name\n";
		bValid = false;
	}
	if (isEmpty(form.Telephone.value))
	{
		strError += "- Telephone Number\n";
		bValid = false;
	}

	if (isEmpty(form.EmailAddress.value))
	{
		strError += "- Email\n";
		bValid = false;
	}
	if (isEmpty(form.ZipCode.value))
	{
		strError += "- ZipCode\n";
		bValid = false;
	}
	if (!isUSPhone(form.Telephone.value))
	{
		strError += "- Telephone number must be a valid phone number in the format \'(ddd) ddd-dddd\'\n";
		bValid = false;
	}


	if (!isEmail(form.EmailAddress.value))
	{
		strError += "- Email Address must be a valid email address in the format \'name@domain.com\'\n";
		bValid = false;
	}
	if (!bValid)
		alert(strError);

	return bValid;
}