function element(id) 
{
  if (document.getElementById != null) {
	  return document.getElementById(id);
	}
	
	if (document.all != null) {
	  return document.all[id];
	}
	
	if (document.layers != null) {
	  return document.layers[id];
	}
	
	return null;
}

function validate(form)
{
  var firstname = form.firstname.value;
	var lastname = form.lastname.value;
	var email = form.email.value;
	var regex_email = /^[a-z0-9][^\(\)\<\>\@\,\;\:\\\"\[\]]*\@[a-z0-9][a-z0-9\-\.]*\.[a-z]{2,4}$/i;
	var address = form.address.value;
	var city = form.city.value;
	var state = form.state.value;
	var homephone = form.homephone.value;
	var regex_homephone = /\d\d\d\-\d\d\d\-\d\d\d\d/;
	
	if (firstname == "") {
	  alert("Please enter your first name.");
		form.firstname.focus();
		return postvalidation(form);
	}
	
	if (lastname == "") {
	  alert("Please enter your last name.");
		form.lastname.focus();
		return postvalidation(form);
	}
	
	if (email == "") {
	  alert("Please enter your email address.");
		form.email.focus();
		return postvalidation(form);
	}
	
	if (!regex_email.test(email)) {
	  alert("The email address you've entered does appear valid.");
		form.email.focus();
		return postvalidation(form);
	}
	
	if (address == "") {
	  alert("Please enter your address.");
		form.address.focus();
		return postvalidation(form);
	}
	
	if (city == "") {
	  alert("Please enter your city.");
		form.city.focus();
		return postvalidation(form);
	}
	
	if (state == "0") {
	  alert("Please select a state.");
		form.state.focus();
		return postvalidation(form);
	}
	
	if (homephone == "") {
	  alert("Please enter your home phone number.")
		form.homephone.focus();
		return postvalidation(form);
	}
	
	if (!regex_homephone.test(homephone)) {
	  alert("Please enter your phone number in the following format: XXX-XXX-XXXX");
		form.homephone.focus();
		return postvalidation(form);
	}
	
	element('flag').value = "true";
	return true;
}

function postvalidation(form)
{
	element('errormsg').style.display = "block";
	
	form.firstname.style.backgroundColor = '#FFFF00';
	form.lastname.style.backgroundColor = '#FFFF00';
	form.email.style.backgroundColor = '#FFFF00';
	form.address.style.backgroundColor = '#FFFF00';
	form.city.style.backgroundColor = '#FFFF00';
	form.state.style.backgroundColor = '#FFFF00';
	form.homephone.style.backgroundColor = '#FFFF00';
	
	return false;
}