			function validateForm(frm) {
				
				var errors = new String();
				
				if (frm.first_name.value.length == 0)
				{
					errors += "<br/>Please enter your first name.";
					document.getElementById("errorField1").style.border = "1px solid #E4403F";
				}
				else
					document.getElementById("errorField1").style.border = "";
					
				if (frm.last_name.value.length == 0)
				{
					errors += "<br/>Please enter your last name.";
					document.getElementById("errorField2").style.border = "1px solid #E4403F";
				}
				else
					document.getElementById("errorField2").style.border = "";
					
				if (frm.company.value.length == 0)
				{
					errors += "<br/>Please enter your company's name.";
					document.getElementById("errorField3").style.border = "1px solid #E4403F";
				}
				else
					document.getElementById("errorField3").style.border = "";
					
				errors += checkEmail(frm.email.value);
				errors += checkPhone(frm.phone.value);

				if(errors.length > 0) {
					document.getElementById("errorDisplay").innerHTML = errors + "";
					document.getElementById("errorDisplay").style.display = "";
					return false;
				}
				else {
					frm.referrer.value = document.referrer;
					frm.entryPoint.value = self.location;
					return true;
				}
			}
			
			// email
			function checkEmail (strng) {
				var error="";
				if (strng == "") {
				   error = "<br/>You didn't enter an email address.";
				   document.getElementById("errorField4").style.border = "1px solid #E4403F";
				}
				else
				{
				    var emailFilter=/^.+@.+\..{2,3}$/;
				    if (!(emailFilter.test(strng))) { 
				       error = "<br/>Please enter a valid email address.";
					   document.getElementById("errorField4").style.border = "1px solid #E4403F";
				    }
				    else {
						//test email for illegal characters
						var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
						if (strng.match(illegalChars)) {
							error = "<br/>The email address contains illegal characters.";
							document.getElementById("errorField4").style.border = "1px solid #E4403F";
						}
						else
							document.getElementById("errorField4").style.border = "";
				    }
				}
			return error;    
			}

			// phone number - strip out delimiters and check for 10 digits
			function checkPhone (strng) {
				var error = "";
				if (strng == "") {
				   error = "<br/>You didn't enter a phone number.";
				   document.getElementById("errorField5").style.border = "1px solid #E4403F";
				}
				else
				{
					var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
				    if (isNaN(parseInt(stripped))) {
						error = "<br/>The phone number contains illegal characters.";
						document.getElementById("errorField5").style.border = "1px solid #E4403F";
				  
				    }
				    else if (!(stripped.length == 10)) {
						error = "<br/>The phone number is the wrong length. Make sure you included an area code.";
						document.getElementById("errorField5").style.border = "1px solid #E4403F";
				    } 
					else
						document.getElementById("errorField5").style.border = "";
				}
			return error;
			}

			// non-empty textbox
			function isEmpty(strng) {
			var error = "";
			  if (strng.length == 0) {
			     error = "<br/>One of the mandatory fields has been left blank."
			  }
			return error;	  
			}