function check_numeric(numeric_string,spaces_allowed)
	// returns true if numeric_string only contains numbers
{	numeric_valid = true;
	for(k = 0 ; k < numeric_string.length && numeric_valid ; k++)
	{	test_char = numeric_string.charAt(k);
		numeric_valid &= (test_char >= '0' && test_char <= '9')
			|| (spaces_allowed && (test_char == ' '));
	}
	return numeric_valid;
}

function check_alphabetic(alphabetic_string,spaces_allowed)
	// returns true if alphabetic_string only contains letters
{	alphabetic_valid = true;
	for(k = 0 ; k < alphabetic_string.length && alphabetic_valid ; k++)
	{	test_char = alphabetic_string.charAt(k);
		alphabetic_valid &= (test_char >= 'a' && test_char <= 'z')
			|| (test_char >= 'A' && test_char <= 'Z')
			|| (spaces_allowed && (test_char == ' '));
	}
	return alphabetic_valid;
}

function validateform()
{
	// set variable defaults
	var isEmail="no";
	var isMail="no";
	var isBoth="no";
	
	//check all the checkboxes
	if(document.forms["epress"].frmReleaseEmail.checked==true){isEmail="yes";}
	if(document.forms["epress"].frmNewsletterEmail.checked==true){isEmail="yes";}
	if(document.forms["epress"].frmReportEmail.checked==true){isEmail="yes";}
	if(document.forms["epress"].frmProspectusEmail.checked==true){isEmail="yes";}
	
	if(document.forms["epress"].frmReleaseMail.checked==true){isMail="yes";}
	if(document.forms["epress"].frmNewsletterMail.checked==true){isMail="yes";}
	if(document.forms["epress"].frmReportMail.checked==true){isMail="yes";}
	if(document.forms["epress"].frmProspectusMail.checked==true){isMail="yes";}
	
	//check if both are checked
	if(isEmail=="yes" && isMail=="yes"){isBoth = "yes"}
	
	//validate document acordingly
	if(isBoth=="yes"){validateboth();}
	else if(isEmail=="yes"){validateemail();}
	else if(isMail=="yes"){validatemail();}
	else{alert("Please select the documents you would like to receive");document.forms["epress"].frmReleaseEmail.focus();}
}

function validateboth()
{
	if(document.forms["epress"].frmFirstName.value==""){alert("Please fill in your first name.");document.forms["epress"].frmFirstName.focus();return false;}
	if(document.forms["epress"].frmLastName.value==""){alert("Please fill in your last name.");document.forms["epress"].frmLastName.focus();return false;}
	if(document.forms["epress"].frmOrganization.value==""){alert("Please fill in your Media / News Organization.");document.forms["epress"].frmOrganization.focus();return false;}
	if(document.forms["epress"].frmAddress1.value==""){alert("Please fill in your Street Address.");document.forms["epress"].Address1.focus();return false;}
	if(document.forms["epress"].frmCity.value==""){alert("Please fill in your City.");document.forms["epress"].frmCity.focus();return false;}
	if(document.forms["epress"].frmState.value==""){alert("Please fill in your State.");document.forms["epress"].frmState.focus();return false;}
	if(document.forms["epress"].frmZip.value==""){alert("Please fill in your Zip / Postal Code.");document.forms["epress"].frmZip.focus();return false;}
	
	email_halves = document.forms["epress"].frmEmail.value.split('@');
	
	if(email_halves.length != 2)
	{
	alert("Please enter a valid email address.");
	document.forms["epress"].frmEmail.focus();
	return false;
	}
	
	email_name = email_halves[0];
	email_domain = email_halves[1];
	
	if((email_domain.charAt(0) == "[") || (email_domain.charAt(email_domain.length - 1) == "]"))
	{	
		if((email_domain.charAt(0) == "[")	&& (email_domain.charAt(email_domain.length - 1) == "]"))
		{	
			ip_octets = (email_domain.substring(1,email_domain.length - 1)).split('.');
		
			if(ip_octets.length != 4)
			{
			alert("Please enter a valid email address.");
			document.forms["epress"].frmEmail.focus();
			return false;
			}
			
			for(k = 0 ; k < ip_octets.length ; k++)
			{
				if(ip_octets[k].length == 0 || ip_octets[k].length > 3 || !check_numeric(ip_octets[k],false))
				{
				alert("Please enter a valid email address.");
				document.forms["epress"].frmEmail.focus();
				return false;
				}
			}
		}
		else
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
	document.forms["epress"].submit();
	}
	else
	{	
	domain_parts = (email_domain).split('.');
	domain_suffix = domain_parts[domain_parts.length - 1];
		
		if(!check_alphabetic(domain_suffix,false))
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
		
		suffix_len = domain_suffix.length;
		
		if(suffix_len < 2 || suffix_len > 3)
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
		
		for(k = 0 ; k < domain_parts.length ; k++)
		{
			if(domain_parts[k].length == 0)
			{
			alert("Please enter a valid email address.");
			document.forms["epress"].frmEmail.focus();
			return false;
			}
		}
		document.forms["epress"].submit();
	}
	
	name_parts = (email_name).split('.');
	
	for(k = 0 ; k < name_parts.length ; k++)
	{
		if(name_parts[k].length == 0)
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
	}	
	
	document.forms["epress"].submit();	
}

function validateemail()
{
	if(document.forms["epress"].frmFirstName.value==""){alert("Please fill in your first name.");document.forms["epress"].frmFirstName.focus();return false;}
	if(document.forms["epress"].frmLastName.value==""){alert("Please fill in your last name.");document.forms["epress"].frmLastName.focus();return false;}
	if(document.forms["epress"].frmOrganization.value==""){alert("Please fill in your Media / News Organization.");document.forms["epress"].frmOrganization.focus();return false;}
		email_halves = document.forms["epress"].frmEmail.value.split('@');
	
	if(email_halves.length != 2)
	{
	alert("Please enter a valid email address.");
	document.forms["epress"].frmEmail.focus();
	return false;
	}
	
	email_name = email_halves[0];
	email_domain = email_halves[1];
	
	if((email_domain.charAt(0) == "[") || (email_domain.charAt(email_domain.length - 1) == "]"))
	{	
		if((email_domain.charAt(0) == "[")	&& (email_domain.charAt(email_domain.length - 1) == "]"))
		{	
			ip_octets = (email_domain.substring(1,email_domain.length - 1)).split('.');
		
			if(ip_octets.length != 4)
			{
			alert("Please enter a valid email address.");
			document.forms["epress"].frmEmail.focus();
			return false;
			}
			
			for(k = 0 ; k < ip_octets.length ; k++)
			{
				if(ip_octets[k].length == 0 || ip_octets[k].length > 3 || !check_numeric(ip_octets[k],false))
				{
				alert("Please enter a valid email address.");
				document.forms["epress"].frmEmail.focus();
				return false;
				}
			}
		}
		else
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
	document.forms["epress"].submit();
	}
	else
	{	
	domain_parts = (email_domain).split('.');
	domain_suffix = domain_parts[domain_parts.length - 1];
		
		if(!check_alphabetic(domain_suffix,false))
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
		
		suffix_len = domain_suffix.length;
		
		if(suffix_len < 2 || suffix_len > 3)
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
		
		for(k = 0 ; k < domain_parts.length ; k++)
		{
			if(domain_parts[k].length == 0)
			{
			alert("Please enter a valid email address.");
			document.forms["epress"].frmEmail.focus();
			return false;
			}
		}
		document.forms["epress"].submit();
	}
	
	name_parts = (email_name).split('.');
	
	for(k = 0 ; k < name_parts.length ; k++)
	{
		if(name_parts[k].length == 0)
		{
		alert("Please enter a valid email address.");
		document.forms["epress"].frmEmail.focus();
		return false;
		}
	}	
	
	document.forms["epress"].submit();	
}

function validatemail()
{
	if(document.forms["epress"].frmFirstName.value==""){alert("Please fill in your first name.");document.forms["epress"].frmFirstName.focus();return false;}
	if(document.forms["epress"].frmLastName.value==""){alert("Please fill in your last name.");document.forms["epress"].frmLastName.focus();return false;}
	if(document.forms["epress"].frmOrganization.value==""){alert("Please fill in your Media / News Organization.");document.forms["epress"].frmOrganization.focus();return false;}
	if(document.forms["epress"].frmAddress1.value==""){alert("Please fill in your Street Address.");document.forms["epress"].frmAddress1.focus();return false;}
	if(document.forms["epress"].frmCity.value==""){alert("Please fill in your City.");document.forms["epress"].frmCity.focus();return false;}
	if(document.forms["epress"].frmState.value==""){alert("Please fill in your State.");document.forms["epress"].frmState.focus();return false;}
	if(document.forms["epress"].frmZip.value==""){alert("Please fill in your Zip / Postal Code.");document.forms["epress"].frmZip.focus();return false;}
	
	document.forms["epress"].submit();	
}
