﻿function isEmailAddr(email)
{
	var result = false;
	var theStr = new String(email);
	var index = theStr.indexOf("@");
	if (index > 0)
	{
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
			result = true;
	}
	return result;
}
function validRequired(formField,fieldLabel)
{
	var result = true;
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	return result;
}
function validSelected(formField,fieldLabel)
{
	var result = true;
	if (formField.options[0].selected)
	{
		alert('Please select a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	return result;
}
function validOther(formField,formOtherField,fieldLabel)
{
	var result = true;
	if (formField.value == "99")
	{
		if (formOtherField.value == "")
		{
			alert('Please enter a value for the "' + fieldLabel +'" field.');
			formOtherField.focus();
			result = false;
		}
	}
	return result;
}
function validEmail(formField,fieldLabel,required)
{
	var result = true;
	if (required && !validRequired(formField,fieldLabel))
		result = false;
	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
	return result;
}
function compareEmail(formField,formField2)
{
	var result = false;
	if (formField.value == formField2.value) {
		result = true;
	} else {
		alert("The 2 e-mails you have entered differ");
		formField2.focus();
	}
	return result;
}
function validateForm(theForm)
{
	if (!validRequired(theForm.firstname,"First name"))
		return false;
	if (!validRequired(theForm.lastname,"Last name"))
		return false;
	if (!validRequired(theForm.affiliation,"Affiliation"))
		return false;
	if (!validSelected(theForm.jobtitle,"Job title"))
		return false;
	if (!validOther(theForm.jobtitle,theForm.otherjobtitle,"Other job title"))
		return false;
	if (!validRequired(theForm.address1,"Address line 1"))
		return false;
	if (!validRequired(theForm.city,"City"))
		return false;
	if (!validRequired(theForm.state,"State"))
		return false;
	if (!validRequired(theForm.zip,"ZIP"))
		return false;
	if (!validSelected(theForm.country,"Country"))
		return false;
	if (!validRequired(theForm.phone,"Phone"))
		return false;
	if (!validRequired(theForm.email,"E-mail"))
		return false;
	if (!validEmail(theForm.email,"E-mail",true))
		return false;
	if (!validRequired(theForm.email2,"Confirm e-mail"))
		return false;
	if (!validEmail(theForm.email2,"Confirm e-mail",true))
		return false;
	if (!compareEmail(theForm.email,theForm.email2))
		return false;
	if (!validSelected(theForm.sector,"Primary industry/sector"))
		return false;
	if (!validOther(theForm.sector,theForm.othersector,"Other primary industry/sector"))
		return false;
	if (!validSelected(theForm.industry,"Additional industries"))
		return false;
	if (!validOther(theForm.industry,theForm.otherindustry,"Other additional industries"))
		return false;
	if (!validSelected(theForm.involvment,"Primary involvment in nano"))
		return false;
	if (!validOther(theForm.involvment,theForm.otherinvolvment,"Other involvement in nanotech"))
		return false;
	if (!validSelected(theForm.employee,"Number of employees"))
		return false;
	return true;
}
