function validateForm(form) {
	var returnValue = true;
	var errorMessage = 'The following fields are required but do not contain any information:\n\n';
	var focusField = null;

	if (!form.product.value) {
		errorMessage += ' - Product\n';
		if (!focusField)
			focusField = form.product;
		returnValue = false;
	}
	if (!form.contact.value) {
		errorMessage += ' - Contact Name\n';
		if (!focusField)
			focusField = form.contact;
		returnValue = false;
	}
	if (!form.company.value) {
		errorMessage += ' - Company\n';
		if (!focusField)
			focusField = form.company;
		returnValue = false;
	}
	if (!form.emailfrom.value) {
		errorMessage += ' - Email Address\n';
		if (!focusField)
			focusField = form.emailfrom;
		returnValue = false;
	}
	if (!form.msg.value) {
		errorMessage += ' - Description\n';
		if (!focusField)
			focusField = form.msg;
		returnValue = false;
	}
	if (!returnValue) {
		alert(errorMessage);
		if (focusField)
			focusField.focus();
	}
	else if (form.urgent.checked && !form.phone.value) {
		alert("Please enter your phone number in the Phone field")
		form.phone.focus()
		returnValue = false;
	}
	else if (!validEmail(form.emailfrom.value)) {
		alert('Invalid email address in Email Address field');
		form.emailfrom.focus();
		form.emailfrom.select();
		returnValue = false;
	}
	return returnValue;
}


function validEmail(email) {
	var emailOK = true;
	var invalidChars = ' /:,;';
	var atPos = email.indexOf("@",1);
	var periodPos = email.indexOf(".",atPos);
	if ((email == "") || (atPos == -1) || (email.indexOf("@",atPos+1) != -1) || 
		(periodPos == -1) || (periodPos+3 > email.length)) {
		emailOK = false;
	}
	for (i=0; i<invalidChars.length; i++) {
		var badChar = invalidChars.charAt(i)
		if (email.indexOf(badChar,0) > -1) {
			emailOK = false;
		}
	}
	return emailOK;
}