function validatereg() {

    var pattern = /\s*\w+@[^\.]+\.[^\.]+(\.[^\.])*\s*/;
    legalChars = "~0123456789.-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_@+";
    errorMsg = "";
with (document.RegForm) {


  if (!(Register[0].checked || Register[1].checked || Register[2].checked)) {
	    errorMsg += "\nYou must select which days you are registering for";
  }
  else {
	if (Register[1].checked) {	//FRIDAY ONLY
		OneChkd1 = (radio1[0].checked || radio1[1].checked || radio1[2].checked || radio1[3].checked);
		OneChkd2 = (radio2[0].checked || radio2[1].checked || radio2[2].checked || radio2[3].checked);
		OneChkd3 = (radio3[0].checked || radio3[1].checked || radio3[2].checked || radio3[3].checked);
		OneChkd4 = (radio4[0].checked || radio4[1].checked || radio4[2].checked || radio4[3].checked);
		AllChkdFri = (OneChkd1 && OneChkd2 && OneChkd3 && OneChkd4);	//ALL radios checked
		if (!(AllChkdFri))  errorMsg += "\nYou must complete all workshop choices for Friday";
		BoxFriChkd  = (BoxFri[0].checked || BoxFri[1].checked || BoxFri[2].checked);
		if (!(BoxFriChkd))  errorMsg += "\nYou must select a box lunch choice for Friday";
	}
	if (Register[2].checked) {	//SATURDAY ONLY
		OneChkd5 = (radio5[0].checked || radio5[1].checked || radio5[2].checked || radio5[3].checked);
		OneChkd6 = (radio6[0].checked || radio6[1].checked || radio6[2].checked || radio6[3].checked);
		OneChkd7 = (radio7.checked);
		AllChkdSat = (OneChkd5 && OneChkd6 && OneChkd7);	//ALL radios checked
		if (!(AllChkdSat))  errorMsg += "\nYou must complete all workshop choices for Saturday";
		BoxSatChkd  = (BoxSat[0].checked || BoxSat[1].checked || BoxSat[2].checked);
		if (!(BoxSatChkd))  errorMsg += "\nYou must select a box lunch choice for Saturday";
	}
	if (Register[0].checked) {	//BOTH
		OneChkd1 = (radio1[0].checked || radio1[1].checked || radio1[2].checked || radio1[3].checked);
		OneChkd2 = (radio2[0].checked || radio2[1].checked || radio2[2].checked || radio2[3].checked);
		OneChkd3 = (radio3[0].checked || radio3[1].checked || radio3[2].checked || radio3[3].checked);
		OneChkd4 = (radio4[0].checked || radio4[1].checked || radio4[2].checked || radio4[3].checked);
		AllChkdFri = (OneChkd1 && OneChkd2 && OneChkd3 && OneChkd4);	//ALL radios checked
		if (!(AllChkdFri))  errorMsg += "\nYou must complete all workshop choices for Friday";
		BoxFriChkd  = (BoxFri[0].checked || BoxFri[1].checked || BoxFri[2].checked);
		if (!(BoxFriChkd))  errorMsg += "\nYou must select a box lunch choice for Friday";
		OneChkd5 = (radio5[0].checked || radio5[1].checked || radio5[2].checked || radio5[3].checked);
		OneChkd6 = (radio6[0].checked || radio6[1].checked || radio6[2].checked || radio6[3].checked);
		OneChkd7 = (radio7.checked);
		AllChkdSat = (OneChkd5 && OneChkd6 && OneChkd7);	//ALL radios checked
		if (!(AllChkdSat))  errorMsg += "\nYou must complete all workshop choices for Saturday";
		BoxSatChkd  = (BoxSat[0].checked || BoxSat[1].checked || BoxSat[2].checked);
		if (!(BoxSatChkd))  errorMsg += "\nYou must select a box lunch choice for Saturday";
	}
  }



    if (Fullname.value.length < 2)  errorMsg += "\nName must be at least 2 characters";

	if (Email.value.length < 7) errorMsg += "\nE-Mail address must be at least 7 characters";
    //Validate Email against pattern match
    if (Email.value != "") {
		if(!pattern.test(Email.value)) {
		    errorMsg += "\nInvalid E-Mail Address."
		}
    }
    //This enhances the previous EMail check. This checks for legal values and returns illegal values
    if (Email.value != "" && Email.value.length > 1) {
	for(x=0; x < Email.value.length; x++) {
	    if (legalChars.indexOf(Email.value.substring(x,x+1)) < 0)
		errorMsg += "\n" + "Illegal character '"+Email.value.substring(x,x+1)+"' at position " +(x+1)+ " in E-Mail Address.";
		}
    }
    //FINAL CHECK FOR ERROR MESSAGES
    if (errorMsg.length > 0) {
	errorMsg = "The following errors must be corrected before submitting this form: \n" + errorMsg
	alert (errorMsg);
	return false;
    }
}
//	return false;
return true;
}