var tested=0;

function formSubmit() {
	if(formTest()) document.forms[0].submit(); 
}

function formTest() {
	var theForm = document.getElementById('theForm');
	
	var trouble=0;

	if(!((document.getElementsByName('Location')[0].checked)||(document.getElementsByName('Location')[1].checked)||(document.getElementsByName('Location')[2].checked))) {
		trouble++;
		document.getElementById('rRadio1Head').className="formQErr";
		
	}

	if(!((theForm.Visitor_Type[0].checked)||(theForm.Visitor_Type[1].checked)||(theForm.Visitor_Type[2].checked))) {
		trouble++;
		document.getElementById('rRadio2Head').className="formQErr";
		
	}

	if(!((theForm.Reason_Visit[0].checked)||(theForm.Reason_Visit[1].checked)||(theForm.Reason_Visit[2].checked)||(theForm.Reason_Visit[3].checked)||(theForm.Reason_Visit[4].checked)||(theForm.Reason_Visit[5].checked)||(theForm.Reason_Visit[6].checked))) {
		trouble++;
		document.getElementById('rRadio3Head').className="formQErr";
		
	}

	if((document.getElementById("reqComments").value == "")||(document.getElementById("reqComments").value == null)) {
		trouble++;
		document.getElementById("reqComments").className = "mettextBad";
		document.getElementById("reqComments"+"Arrow").src = "../img/formarrow.gif";
		document.getElementById("reqComments"+"After").childNodes[0].nodeValue = "Please enter your comments!";
	}	
	
	if(trouble==0) return true;
	
	if(!tested) {
		document.getElementById('formErrMessage').appendChild(document.createTextNode("Sorry, it looks like your form is incomplete. Please answer the first 3 questions, and enter your comments."));
		tested=1;
	}
	scroll(0,0);
	return(false);
}

function formFocus(fid) {
	document.getElementById(fid).className = "mettextOn";
}

function formBlur(fid) {
	if((document.getElementById(fid).value == "")||(document.getElementById(fid).value == null)) {
		if(fid=="reqComments") {
			document.getElementById(fid).className = "mettextBad";
			document.getElementById(fid+"Arrow").src = "../img/formarrow.gif";
			document.getElementById(fid+"After").childNodes[0].nodeValue = "Please enter your comments!";
		}
		else document.getElementById(fid).className = "mettext";
	}
	else if(fid=="reqPhone") {
		var num=document.getElementById(fid).value;
		var testNum=checkphone(num);
		if(testNum==0) {
			document.getElementById(fid).className = "mettextBad";
			document.getElementById(fid+"Arrow").src = "../img/formarrow.gif";
			document.getElementById(fid+"After").childNodes[0].nodeValue = "Not a valid phone number";
		}
		else {
			document.getElementById(fid).value = formatphone(testNum);
			document.getElementById(fid+"Arrow").src = "../img/spacer.gif";
			document.getElementById(fid+"After").childNodes[0].nodeValue = "*";
			if(testNum.substring(3,10)==8675309) document.getElementById(fid+"After").childNodes[0].nodeValue = "Jenny";
		}
	}
	else if(fid=="reqEmail") {
		if(!checkemail(document.getElementById(fid).value)) {
			document.getElementById(fid+"Arrow").src = "../img/formarrow.gif";
			document.getElementById(fid+"After").childNodes[0].nodeValue = "Not a valid email address";
			document.getElementById(fid).className = "mettextBad";
		}
		else {
			document.getElementById(fid+"Arrow").src = "../img/spacer.gif";
			document.getElementById(fid+"After").childNodes[0].nodeValue = "*";
		}
	}
	else if(fid.substring(0,3)=="req") {
		document.getElementById(fid+"Arrow").src = "../img/spacer.gif";
		document.getElementById(fid+"After").childNodes[0].nodeValue = "*";
	}
	else if(fid=="text99") {
		theForm.Reason_Visit[6].checked=true;
		radioOn('rRadio3Head');
	}
}

function checkphone(num) {
	var stripped = num.replace(/[\(\)\.\-\ ]/g, '');
	if (isNaN(parseInt(stripped))) {
		return(0);
	}

	if(stripped.length == 7) stripped = "217" + stripped;
	
	if (!(stripped.length == 10)) {
		return(0);
	}
	return stripped;
}

function formatphone(num) {
	return "("+num.substring(0,3)+") "+num.substring(3,6)+"-"+num.substring(6,10);
}

function checkemail(addr) {
	var emailFilter=/^.+@.+\..{2,4}$/;
	if (!(emailFilter.test(addr))) { 
		return(false);
	}

	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (addr.match(illegalChars)) {
	   return(false);
	}
	
	return(true);
}

function radioOn(head) {
	document.getElementById(head).className="formQ";
}