function validate(form)		{
				// Set the hidden field to yes, because JavaScript is available and enabled
				// If unavailable or disabled, the estimate-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	=	/[\(\)\<\>\,\;\:\\\/\"\[\]]/;
				var fsfm_date_format_regexp	=	/^\d{2}\/\d{2}\/\d{4}$/;

				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";
					}
				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";
					}

				// Check to see a valid date is entered.  Update later to confirm the date is in the future.
				var fsfm_date_neededby = form.neededby.value;
				if (fsfm_date_format_regexp.test(fsfm_date_neededby))
					{
					//Check to make sure date is valid
					var fsfm_date_split = fsfm_date_neededby.split("/");
					var fsfm_js_date_split_month = fsfm_date_split[0] - 1;
					var fsfm_date_neededby_obj = new Date(fsfm_date_split[2],fsfm_js_date_split_month,fsfm_date_split[1]);
					var fsfm_date_neededby_obj_month = fsfm_date_neededby_obj.getMonth();
					if (fsfm_js_date_split_month !== fsfm_date_neededby_obj_month)
						{
						fsfm_errors++;
						document.getElementById('neededby').style.color = "#ff0000";
						}
					}	else	{
					fsfm_errors++;
					document.getElementById('neededby').style.color = "#ff0000";
					}
				if (form.servicesneeded.value == "")
					{
					fsfm_errors++;
					document.getElementById('servicesneeded').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;
					}						
				}