function validate(form) {
	var isvalid = true;

	var esalutation = document.getElementById("esalutation");
	var efirst = document.getElementById("efirst");
	var elast = document.getElementById("elast");
	var eaddress1 = document.getElementById("eaddress1");
	var ecity = document.getElementById("ecity");
	var estate = document.getElementById("estate");
	var ezip = document.getElementById("ezip");
	var ecountry = document.getElementById("ecountry");
	var ephone = document.getElementById("ephone");
	var eemail = document.getElementById("eemail");
	var ebirthdate = document.getElementById("ebirthdate");

	esalutation.style.display = "none";
	efirst.style.display = "none";
	elast.style.display = "none";
	eaddress1.style.display = "none";
	ecity.style.display = "none";
	estate.style.display = "none";
	ezip.style.display = "none";
	ecountry.style.display = "none";
	ephone.style.display = "none";
	eemail.style.display = "none";
	ebirthdate.style.display = "none";
	
	var foundSalutation = false;
	var r = form.salutation;
	for (var i=0; i<r.length; i++) {
		if (r[i].checked) { foundSalutation = true; } 
	}
	if (!foundSalutation) {
		esalutation.style.display = "inline";
		isvalid = false; 
	}
	
	if (
		form.first.value == "" ||
		form.first.value == " "
	)	
	{
		efirst.style.display = "inline";
		isvalid = false; 
	}

	if (
		form.last.value == "" ||
		form.last.value == " "
	)	
	{
		elast.style.display = "inline";
		isvalid = false; 
	}

	if (
		form.address1.value == "" || 
		form.address1.value == " "
	)	
	{
		eaddress1.style.display = "inline";
		isvalid = false; 
	}

	if (
		form.city.value == "" || 
		form.city.value == " "
	)	
	{
		ecity.style.display = "inline";
		isvalid = false; 
	}
	
	if (
		( (form.country.value == "Canada" || form.country.value == "USA")  &&
		form.state.value == "-1" )
	)	
	{
		estate.style.display = "inline";
		isvalid = false; 
	}

	if (
		( (form.country.value == "Canada" || form.country.value == "USA") ) &&
		(form.zip.value == "" ||
		form.zip.value == " " ||
		form.zip.value.length != 5 )
	)	
	{
		ezip.style.display = "inline";
		isvalid = false; 
	}

	//parse out any non-numeric characters from phone number
	var newPhone = form.phone.value.replace(/[\(\)\.\-\ ]/g, '');

	if 	(
		newPhone == "" ||
		newPhone == " " ||
		newPhone.length < 10 || //US numbers min 10 foreign numbers are 10 or greater
		isNaN(newPhone)
	)	
	{
		ephone.style.display = "inline";
		isvalid = false; 
	}
	
	if (
		form.email.value == "" ||
		form.email.value == " " ||
		form.email.value.indexOf("@") == "-1" ||
		form.email.value.indexOf(".") == "-1"
	)	
	{
		eemail.style.display = "inline";
		isvalid = false; 
	}

		
	if (
		form.bmo.value == "-1" ||
		form.bday.value == "-1" ||
		form.byr.value == "-1" 
	)     
	{
		ebirthdate.style.display = "inline";
		isvalid = false; 
	}
	
	return isvalid;
}

