function checkformestimate ( form )
{
	 // ** START **
		// ** spam detector ** 
		var spam;
		
		if (form.firstname.value == "") {
    alert( "Please enter your first name." );
    form.firstname.focus();
    return false ;
			}

			spam = form.firstname.value;
		
					if (form.lastname.value == "") {
    alert( "Please enter your last name." );
    form.lastname.focus();
    return false ;
			}
			
			spam = spam + form.lastname.value;
			
		if (form.address.value == "") {
			alert( "Please enter your address." );
			form.address.focus();
			return false ;
  }		
		
			spam = spam + form.address.value;
			
		if (form.city.value == "") {
			alert( "Please enter your city." );
			form.city.focus();
			return false ;
  }	
		
				spam = spam + form.city.value;
				
		if (form.stateprovince.value == "") {
			alert( "Please select your state or province." );
			form.stateprovince.focus();
			return false ;		
  }		
		
		spam = spam + form.stateprovince.value;
		
		if (form.zip_postal_code.value == "") {
			alert( "Please enter your zip or postal code." );
			form.zip_postal_code.focus();
			return false ;
		}
		
		spam = spam + form.zip_postal_code.value;
		
		if (form.email.value == "") {
			alert( "Please enter your email address." );
			form.email.focus();
			return false ;
		}		
		
		spam = spam + form.email.value;
		
		if (form.phone.value == "") {
			alert( "Please enter your phone number." );
			form.phone.focus();
			return false ;
		}			

		spam = spam + form.phone.value;
		
		if (form.comments.value.length > 500) {
			alert( "Please limit your message to 500 characters." );
			form.comments.focus();
			return false ;
  }		
		
		spam = spam + form.comments.value;
			var spamtest = spam.search(/</);
			if (spamtest > -1) {
					alert("Please do not use any of the these characters in the form: " + "<");
					form.comments.focus();
					return false;
				}
	
  // ** END **
  return true ;
}