function validate(form)		{
				// Set the hidden field to yes, because JavaScript is available and enabled
				// If unavailable or disabled, the contact-submit script will process the form content in PHP
				form.userJS.value = "Yes"; 

				var fsfm_errors			=	0;
				var fsfm_alert			=	"Please provide a valid entry in the field marked in red.  Thank you.";
				var fsfm_email_regexp		=	/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
				var fsfm_email_illegal_regexp	=	/[\(\)\<\>\,\;\:\\\/\"\[\]]/;

				if (form.firstname.value == "")
					{
					fsfm_errors++;
					document.getElementById('firstname').style.color = "#ff0000";
					}
				if (form.lastname.value == "")
					{
					fsfm_errors++;
					document.getElementById('lastname').style.color = "#ff0000";
					}
				if (!form.emailaddress.value.match(fsfm_email_regexp) || form.emailaddress.value.match(fsfm_email_illegal_regexp))
					{
					fsfm_errors++;
					document.getElementById('emailaddress').style.color = "#ff0000";
					}
				if (form.phone.value !== "")
					{
					var fsfm_phone_number = form.phone.value.replace(/[\(\)\+\.\-\ ]/g, '');
					if (isNaN(fsfm_phone_number) || (fsfm_phone_number.length < 10 || fsfm_phone_number.length > 12))
						{
						fsfm_errors++;
						document.getElementById('phone').style.color = "#ff0000";
						}
					}
				if (form.message.value == "")
					{
					fsfm_errors++;
					document.getElementById('message').style.color = "#ff0000";
					}

				// Done validating, actually make the alert and return true or false
				if (fsfm_errors > "0")
					{
					if (fsfm_errors > "1")
						{
						fsfm_alert = "Please provide valid entries in the fields marked in red.  Thank you.";
						}
					alert(fsfm_alert);
					return false;
					}	else	{
					return true;
					}						
				}
