function validateform() {
	highlight("rem","none");
	var flags = "";
	var business_name = document.getElementsByName("BusinessName")[0].value;
	var contact_name = document.getElementsByName("ContactName")[0].value;
	var address = document.getElementsByName("Address")[0].value;
	var state = document.getElementsByName("State")[0].value;
	var zip = document.getElementsByName("Zip")[0].value;
	var phone = document.getElementsByName("Phone")[0].value;
	var email_address = document.getElementsByName("Email")[0].value;
	var email_pattern = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	var email_valid = 0;
	if(email_address.match(email_pattern)) { email_valid = 1; }
	if (business_name == "") {
		flags = setflag(flags,"BusinessName","The Business Name field cannot be blank");
	}
	if (contact_name == "") {
		flags = setflag(flags,"ContactName","The Contact Name field cannot be blank");
	}
	if (address == "") {
		flags = setflag(flags,"Address","The Address field cannot be blank");
	}
	if (state == "") {
		flags = setflag(flags,"State","The State field cannot be blank");
	}
	if (zip == "") {
		flags = setflag(flags,"Zip","The Zip field cannot be blank");
	}
	if (phone == "") {
		flags = setflag(flags,"Phone","The Phone field cannot be blank");
	}
	if (email_address == "") {
		flags = setflag(flags,"Email","The Email Address field cannot be blank");
	} else if (email_valid == 0) {
		flags = setflag(flags,"Email","The Email Address given does not look like a valid email address");
	}
	
	if (flags != "") {
		flags = flags + "\n\n\nPlease correct the fields which are highlighed in red."
		alert(flags);
		return false;
	} else {
		return true;
	}
}

function setflag(cur,name,str) {
	highlight("add",name);
	if (cur == "") { cur = "There was an error submitting the form:\n\n" } else { cur = cur + "\n"; }
	cur = cur + str;
	return cur;
}

function highlight(opt,name) {
	switch (opt) {
		case "rem":
			document.getElementsByName("BusinessName")[0].style.borderColor = "#888";
			document.getElementsByName("ContactName")[0].style.borderColor = "#888";
			document.getElementsByName("Address")[0].style.borderColor = "#888";
			document.getElementsByName("State")[0].style.borderColor = "#888";
			document.getElementsByName("Zip")[0].style.borderColor = "#888";
			document.getElementsByName("Phone")[0].style.borderColor = "#888";
			document.getElementsByName("Email")[0].style.borderColor = "#888";
		break;
		case "add":
			document.getElementsByName(name)[0].style.borderColor = "#f00";
		break;
	}
}