function checkfield(missing,id,friendlyname,expression) {
	var input=document.getElementById(id);
	input.value = input.value.replace(/^\s*/, "").replace(/\s*$/, "");
	if (!input.value.match(expression)) {
		missing.push(friendlyname);
	}
}

function checkselect(missing,id,friendlyname,expression) {
	var input=document.getElementById(id);
	if (!input.options[input.selectedIndex].value.match(expression)) {
		missing.push(friendlyname);
	}
}

function validate() {
	var missing=[];
	checkfield(missing,"firstname","First Name",/.+/);
	checkfield(missing,"lastname","Last Name",/.+/);
	checkfield(missing,"companyname","Company Name",/.+/);
	checkfield(missing,"position","Position",/.+/);
	//checkfield(missing,"address","Address",/.+/);
	checkfield(missing,"city","City",/.+/);
	checkfield(missing,"state","State / Province",/.+/);
	//checkfield(missing,"zipcode","Zip Code",/.+/);
	checkfield(missing,"phone","Phone",/.+/);
	checkfield(missing,"email","Email",/^[^@\ ]+@[^\.\ ]+\.[^\ ]+$/);
	//checkfield(missing,"whatteaching","What are you teaching...",/.+/);
	//checkfield(missing,"grade","Grade Range",/.+/);
	checkselect(missing,"note2","How did you hear about VizZle?",/.+/);

	if (missing.length>0) {
		alert("Please fill in the " + missing.join(", ").replace(/\,([^\,]*)$/," and$1") + " field" + (missing.length==1?"":"s") +".");
		return false;
	} else {
		return true;
	}
}

function onCountryChange() {
	var country=document.getElementById("country");
	var state=document.getElementById("state");
	var stateList=document.getElementById("stateList");
	
	if (country.options[country.selectedIndex].value=="United States") {
		stateList.style.display="";
		state.style.display="none";
	} else {
		stateList.style.display="none";
		state.style.display="";
	}
}

function onStateListChange() {
	var state=document.getElementById("state");
	var stateList=document.getElementById("stateList");

	state.value=stateList.options[stateList.selectedIndex].value;
}
