function checkFieldsAndSubmit(type) {
	if (type=="sample") {
		if(checkSampleFields(document.form1)) {
			document.form1.submit();
		}
	} else if (type=="coupon_hcp") {
		if(checkCouponHcpFields(document.form1)) {
			document.form1.submit();
		}
	} else if (type=="coupon") {
		if(checkCouponFields(document.form1)) {
			document.form1.submit();
		}
	} else if (type=="optout") {
		if(checkOptoutFields(document.form1)) {
			document.form1.submit();
		}
	} else if (type=="survey") {
		if(checkSurveyFields(document.form1)) {
			document.form1.submit();
		}
	}
}

function isValidEmail(str) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(str)?true:false;
}

function isValidZip(str) {
	var filter  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
	return filter.test(str)?true:false;
}

function isValidDate(str) {
	var filter = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
	return filter.test(str)?true:false;
}

function checkSampleFields(form) {
	var foundProblems = false;
	
	if (foundProblems == false) {
		if(!form.nameFirst.value) {
			foundProblems = true;

			document.getElementById("errorMessage").innerHTML = "* Please enter your first name";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your first name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.nameLast.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your last name";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your last name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.addressShipStreet.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your address";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your address";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.addressShipCity.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "Please enter your city";
			document.getElementById("errorMessageBot").innerHTML = "Please enter your city";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (form.addressShipState.value == "") {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your state";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your state";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.addressShipZip.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your zip";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your zip";
		} else if(!isValidZip(form.addressShipZip.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.addressShipZip.value+"</b> isn't a valid zip code.";
			document.getElementById("errorMessageBot").innerHTML = "* <b>"+form.addressShipZip.value+"</b> isn't a valid zip code.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (form.licenseState.value == "") {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your State License Number";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your State License Number";
		}
	}
	
	if (foundProblems == false) {
		if (!form.st_expire.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter an expiration date";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter an expiration date";
		} else if(!isValidDate(form.st_expire.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.st_expire.value+"</b> isn't a valid date.";
			document.getElementById("errorMessageBot").innerHTML = "* <b>"+form.st_expire.value+"</b> isn't a valid date.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.email.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your e-mail";
			document.getElementById("errorMessageBot").innerHTML = "* Please enter your e-mail";
		} else if(!isValidEmail(form.email.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			document.getElementById("errorMessageBot").innerHTML = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	return !foundProblems;
}

function checkCouponHcpFields(form) {
	var foundProblems = false;
	
	if (foundProblems == false) {
		if(!form.fname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your first name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.lname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your last name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.email.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your e-mail";
		} else if(!isValidEmail(form.email.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	return !foundProblems;
}

function checkCouponFields(form) {
	var foundProblems = false;
	
	if (foundProblems == false) {
		if(!form.fname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your first name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.lname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your last name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.address1.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your address";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.city.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "Please enter your city";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (form.state.value == "") {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your state";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.zip.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your zip";
		} else if(!isValidZip(form.zip.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.zip.value+"</b> isn't a valid zip code.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.email.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your e-mail";
		} else if(!isValidEmail(form.email.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	return !foundProblems;
}

function checkOptoutFields(form) {
	var foundProblems = false;
	
	if (foundProblems == false) {
		if(!form.fname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your first name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.lname.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your last name";
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.email.value) {
			foundProblems = true;
			document.getElementById("errorMessage").innerHTML = "* Please enter your e-mail";
		} else if(!isValidEmail(form.email.value)) {
			document.getElementById("errorMessage").innerHTML = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
		}
	}
	
	return !foundProblems;
}

function checkSurveyFields(form) {
	var foundProblems = false;
	
	if (foundProblems == false) {
		if(!form.fname.value) {
			foundProblems = true;
			msg = "* Please enter your first name";

			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.lname.value) {
			foundProblems = true;
			msg = "* Please enter your last name";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		if (!form.email.value) {
			foundProblems = true;
			msg = "* Please enter your e-mail";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
		} else if(!isValidEmail(form.email.value)) {
			msg = "* <b>"+form.email.value+"</b> isn't a valid e-mail address.";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		var z= 0;
		if (form.publications1.checked) { 
			z= z+ 1; 
		}
		if (form.publications2.checked) { 
			z= z+ 1; 
		}
		if (form.publications3.checked) { 
			z= z+ 1; 
		}
		if (form.publications4.checked) { 
			z= z+ 1; 
		}
		if (form.publications5.checked) { 
			z= z+ 1; 
		}
		if (form.publications6.checked) { 
			z= z+ 1; 
		}
		if (form.publications7.checked) { 
			z= z+ 1; 
		}
		if (form.publications8.checked) { 
			z= z+ 1; 
		}
		
		if (z> 3 ) {
			msg = "*You're limited to only three selections for question #1";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
			foundProblems = true;
		} else if (z < 3 ){
			msg = "*Please make 3 selections for question #1";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
			foundProblems = true;
		} else {
			document.getElementById("errorMessage").innerHTML = "";
			document.getElementById("errorMessageBot").innerHTML = "";
		}
	}
	
	if (foundProblems == false) {
		var z= 0;
		if (form.topics1.checked) { 
			z= z+ 1; 
		}
		if (form.topics2.checked) { 
			z= z+ 1; 
		}
		if (form.topics3.checked) { 
			z= z+ 1; 
		}
		if (form.topics4.checked) { 
			z= z+ 1; 
		}
		if (form.topics5.checked) { 
			z= z+ 1; 
		}
		if (form.topics6.checked) { 
			z= z+ 1; 
		}
		if (form.topics7.checked) { 
			z= z+ 1; 
		}
		
		if (z == 0) {
			msg = "Please select one topic for question #2.";
			document.getElementById("errorMessage").innerHTML = msg;
			document.getElementById("errorMessageBot").innerHTML = msg;
			foundProblems = true;
		}
		
		if (form.topics7.checked) { 
			if (form.topics_other.value == "") { 
				msg = "Please enter other topic";
				document.getElementById("errorMessage").innerHTML = msg;
				document.getElementById("errorMessageBot").innerHTML = msg;
				foundProblems = true;
			}
		}
	}
	
	return !foundProblems;
}