function validate(){
	//Declare variables
	var name = document.supporters.name.value;
	var email = document.supporters.email.value;
	var occupation = document.supporters.occupation.options[document.supporters.occupation.selectedIndex].value;
	var state = document.supporters.state.options[document.supporters.state.selectedIndex].value;
	var zip = document.supporters.zip.value;
	 var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	
	var errorintro = "Oops! Please Check:";
	var errorMsg = "";
	
	//Clear backgrounds
	document.getElementById("name").style.backgroundColor = "#fff";
	document.getElementById("email").style.backgroundColor = "#fff";
	document.getElementById("occupation").style.backgroundColor = "#fff";
	document.getElementById("state").style.backgroundColor = "#fff";
	document.getElementById("ziphome").style.backgroundColor = "#fff";
	
	//Error checking
	if (name == "") {
		errorMsg += "- Enter your name\n";
		document.getElementById("name").style.backgroundColor = "#F3FF74";
	}
	if (email == "") {
		errorMsg += "- Enter your email\n";
		document.getElementById("email").style.backgroundColor = "#F3FF74";
	}
   	if ((email != "") && (reg.test(email) == false)) {
		errorMsg += "- Enter a valid email\n";
		document.getElementById("email").style.backgroundColor = "#F3FF74";
	}
	if (occupation == "") {
		errorMsg += "- Select your occupation\n";
		document.getElementById("occupation").style.backgroundColor = "#F3FF74";
	}
	if (state == "") {
		errorMsg += "- Select your state\n";
		document.getElementById("state").style.backgroundColor = "#F3FF74";
	}
	if ((zip != "") && (isNaN(zip) || (zip.length < 5))) {
		errorMsg += "- Enter a valid ZIP Code\n";
		document.getElementById("ziphome").style.backgroundColor = "#F3FF74";
	}
	
	//Correct for Safari 
	if( window.devicePixelRatio && window.getMatchedCSSRules && !window.Opera){ 
		document.getElementById("errorintro").style.fontSize = ".7em";
		document.getElementById("errorintro").style.margin = "2px 0px 0px 15px";
		document.getElementById("resultbox").style.fontSize = ".7em"; 
		document.getElementById("resultbox").style.margin = "2px 0px 0px 15px"; 
	} 
	
	//Write errors
	if (errorMsg != "") {
		document.getElementById("speakup").style.backgroundImage = "url('images/bg_speakup-error.gif')";
		document.getElementById("errorintro").style.display = "inline";
		document.getElementById("errorintro").value = errorintro;
		document.getElementById("resultbox").style.display = "inline";
		document.getElementById("resultbox").value = errorMsg;
		return false;
	}
	else {
		return true;
	}
}
