function check_required()
{
 // Require name and email addr for Registrant #1 
 if ((document.regform.reg1_fname.value == null) ||
	(document.regform.reg1_fname.value.length == 0) || 
	(document.regform.reg1_lname.value == null) ||
	(document.regform.reg1_lname.value.length == 0) ||
	(document.regform.reg1_email.value.length == null) ||
	(document.regform.reg1_email.value.length == 0))
	{
	alert("It appears that not all of the required information was entered for Registrant #1.\nPlease check for first name, last name, and complete e-mail address.");
	return false;
	}
 if (!/^.+@.+\..{2,3}$/.test(document.regform.reg1_email.value))
 	{
	alert("Please enter a complete e-mail address for Registrant #1. Example: user@domain.com");
	return false;
	}	
 if (((document.regform.reg1_genpackage.checked) &&
 	(document.regform.reg1_student1.checked)) ||
 	((document.regform.reg1_genpackage.checked) &&
	(document.regform.reg1_student2.checked)) ||
	((document.regform.reg1_student1.checked) &&
	(document.regform.reg1_student2.checked)))
	{
	alert("Please select only one registration package per registrant.");
	return false;
	}
 if (((document.regform.reg1_genpackage.checked) ||
 	(document.regform.reg1_student1.checked) ||
 	(document.regform.reg1_student2.checked)) &&
	((document.regform.reg1_lewis.checked) ||
	(document.regform.reg1_spencer.checked) ||
	(document.regform.reg1_pipes.checked) ||
	(document.regform.reg1_panel.checked) ||
	(document.regform.reg1_recept.checked) ||
	(document.regform.reg1_rose.checked) ||
	(document.regform.reg1_schwartz.checked) ||
	(document.regform.reg1_stmeeting.checked)))
	{
	alert("Attendees may not choose registration packages and a-la-carte options simultaneously.");
	return false;
	}
  if (!(document.regform.reg1_student_yes.checked) &&
	((document.regform.reg1_student1.checked) ||
 	(document.regform.reg1_student2.checked)))
	{
	alert("Only students may register for student packages.");
	return false;
	}
  if (!(document.regform.reg1_student_yes.checked) &&
	(document.regform.reg1_stmeeting.checked))
	{
	alert("Only students may register for Sunday's student event.");
	return false;
	}
	if (!(document.regform.reg1_genpackage.checked) &&
 	!(document.regform.reg1_student1.checked) &&
 	!(document.regform.reg1_student2.checked) &&
	!(document.regform.reg1_lewis.checked) &&
	!(document.regform.reg1_spencer.checked) &&
	!(document.regform.reg1_pipes.checked) &&
	!(document.regform.reg1_panel.checked) &&
	!(document.regform.reg1_recept.checked) &&
	!(document.regform.reg1_rose.checked) &&
	!(document.regform.reg1_schwartz.checked) &&
	!(document.regform.reg1_stmeeting.checked))
	{
	alert("It appears that none of the registration options were selected for Registrant #1. You must select at least one event or course.");
	return false;
	}
// REGISTRANT 2
 if ((document.regform.reg2_fname.value != "") ||
	(document.regform.reg2_lname.value != "") ||
	(document.regform.reg2_genpackage.checked) ||
 	(document.regform.reg2_student1.checked) ||
 	(document.regform.reg2_student2.checked) ||
	(document.regform.reg2_lewis.checked) ||
	(document.regform.reg2_spencer.checked) ||
	(document.regform.reg2_pipes.checked) ||
	(document.regform.reg2_panel.checked) ||
	(document.regform.reg2_recept.checked) ||
	(document.regform.reg2_rose.checked) ||
	(document.regform.reg2_schwartz.checked) ||
	(document.regform.reg2_stmeeting.checked))
 {
 // For this optional registrant, if at least one of the above fields is filled in or selected, make sure required fields are filled in.
 	if ((document.regform.reg2_fname.value == "") ||
		(document.regform.reg2_lname.value == ""))
	{
		alert("It appears that some selection was made for Registrant #2, but a required field is missing.\nPlease enter first name and last name, or clear ALL fields for Registrant #2.");
		return false;
	}
 if (((document.regform.reg2_genpackage.checked) &&
 	(document.regform.reg2_student1.checked)) ||
 	((document.regform.reg2_genpackage.checked) &&
	(document.regform.reg2_student2.checked)) ||
	((document.regform.reg2_student1.checked) &&
	(document.regform.reg2_student2.checked)))
	{
	alert("Please select only one registration package per registrant.");
	return false;
	}
 if (((document.regform.reg2_genpackage.checked) ||
 	(document.regform.reg2_student1.checked) ||
 	(document.regform.reg2_student2.checked)) &&
	((document.regform.reg2_lewis.checked) ||
	(document.regform.reg2_spencer.checked) ||
	(document.regform.reg2_pipes.checked) ||
	(document.regform.reg2_panel.checked) ||
	(document.regform.reg2_recept.checked) ||
	(document.regform.reg2_rose.checked) ||
	(document.regform.reg2_schwartz.checked) ||
	(document.regform.reg2_stmeeting.checked)))
	{
	alert("Attendees may not choose registration packages and a-la-carte options simultaneously.");
	return false;
	}
  if (!(document.regform.reg2_student_yes.checked) &&
	((document.regform.reg2_student1.checked) ||
 	(document.regform.reg2_student2.checked)))
	{
	alert("Only students may register for student packages.");
	return false;
	}
  if (!(document.regform.reg2_student_yes.checked) &&
	(document.regform.reg2_stmeeting.checked))
	{
	alert("Only students may register for Sunday's student event.");
	return false;
	}
	if (!(document.regform.reg2_genpackage.checked) &&
 	!(document.regform.reg2_student1.checked) &&
 	!(document.regform.reg2_student2.checked) &&
	!(document.regform.reg2_lewis.checked) &&
	!(document.regform.reg2_spencer.checked) &&
	!(document.regform.reg2_pipes.checked) &&
	!(document.regform.reg2_panel.checked) &&
	!(document.regform.reg2_recept.checked) &&
	!(document.regform.reg2_rose.checked) &&
	!(document.regform.reg2_schwartz.checked) &&
	!(document.regform.reg2_stmeeting.checked))
	{
	alert("It appears that some information was entered for Registrant #2, but none of the registration options were selected. You must select at least one event or course, or clear ALL fields for Registrant #2.");
	return false;
	}
 }
 // REGISTRANT 3
 if ((document.regform.reg3_fname.value != "") ||
	(document.regform.reg3_lname.value != "") ||
	(document.regform.reg3_genpackage.checked) ||
 	(document.regform.reg3_student1.checked) ||
 	(document.regform.reg3_student2.checked) ||
	(document.regform.reg3_lewis.checked) ||
	(document.regform.reg3_spencer.checked) ||
	(document.regform.reg3_pipes.checked) ||
	(document.regform.reg3_panel.checked) ||
	(document.regform.reg3_recept.checked) ||
	(document.regform.reg3_rose.checked) ||
	(document.regform.reg3_schwartz.checked) ||
	(document.regform.reg3_stmeeting.checked))
 {
 // For this optional registrant, if at least one of the above fields is filled in or selected, make sure required fields are filled in.
 	if ((document.regform.reg3_fname.value == "") ||
		(document.regform.reg3_lname.value == ""))
	{
		alert("It appears that some selection was made for Registrant #3, but a required field is missing.\nPlease enter first name and last name, or clear ALL fields for Registrant #3.");
		return false;
	}
 if (((document.regform.reg3_genpackage.checked) &&
 	(document.regform.reg3_student1.checked)) ||
 	((document.regform.reg3_genpackage.checked) &&
	(document.regform.reg3_student2.checked)) ||
	((document.regform.reg3_student1.checked) &&
	(document.regform.reg3_student2.checked)))
	{
	alert("Please select only one registration package per registrant.");
	return false;
	}
 if (((document.regform.reg3_genpackage.checked) ||
 	(document.regform.reg3_student1.checked) ||
 	(document.regform.reg3_student2.checked)) &&
	((document.regform.reg3_lewis.checked) ||
	(document.regform.reg3_spencer.checked) ||
	(document.regform.reg3_pipes.checked) ||
	(document.regform.reg3_panel.checked) ||
	(document.regform.reg3_recept.checked) ||
	(document.regform.reg3_rose.checked) ||
	(document.regform.reg3_schwartz.checked) ||
	(document.regform.reg3_stmeeting.checked)))
	{
	alert("Attendees may not choose registration packages and a-la-carte options simultaneously.");
	return false;
	}
  if (!(document.regform.reg3_student_yes.checked) &&
	((document.regform.reg3_student1.checked) ||
 	(document.regform.reg3_student2.checked)))
	{
	alert("Only students may register for student packages.");
	return false;
	}
  if (!(document.regform.reg3_student_yes.checked) &&
	(document.regform.reg3_stmeeting.checked))
	{
	alert("Only students may register for Sunday's student event.");
	return false;
	}
	if (!(document.regform.reg3_genpackage.checked) &&
 	!(document.regform.reg3_student1.checked) &&
 	!(document.regform.reg3_student2.checked) &&
	!(document.regform.reg3_lewis.checked) &&
	!(document.regform.reg3_spencer.checked) &&
	!(document.regform.reg3_pipes.checked) &&
	!(document.regform.reg3_panel.checked) &&
	!(document.regform.reg3_recept.checked) &&
	!(document.regform.reg3_rose.checked) &&
	!(document.regform.reg3_schwartz.checked) &&
	!(document.regform.reg3_stmeeting.checked))
	{
	alert("It appears that some information was entered for Registrant #3, but none of the registration options were selected. You must select at least one event or course, or clear ALL fields for Registrant #3.");
	return false;
	}
 }
 // REGISTRANT 4
 if ((document.regform.reg4_fname.value != "") ||
	(document.regform.reg4_lname.value != "") ||
	(document.regform.reg4_genpackage.checked) ||
 	(document.regform.reg4_student1.checked) ||
 	(document.regform.reg4_student2.checked) ||
	(document.regform.reg4_lewis.checked) ||
	(document.regform.reg4_spencer.checked) ||
	(document.regform.reg4_pipes.checked) ||
	(document.regform.reg4_panel.checked) ||
	(document.regform.reg4_recept.checked) ||
	(document.regform.reg4_rose.checked) ||
	(document.regform.reg4_schwartz.checked) ||
	(document.regform.reg4_stmeeting.checked))
 {
 // For this optional registrant, if at least one of the above fields is filled in or selected, make sure required fields are filled in.
 	if ((document.regform.reg4_fname.value == "") ||
		(document.regform.reg4_lname.value == ""))
	{
		alert("It appears that some selection was made for Registrant #4, but a required field is missing.\nPlease enter first name and last name, or clear ALL fields for Registrant #4.");
		return false;
	}
 if (((document.regform.reg4_genpackage.checked) &&
 	(document.regform.reg4_student1.checked)) ||
 	((document.regform.reg4_genpackage.checked) &&
	(document.regform.reg4_student2.checked)) ||
	((document.regform.reg4_student1.checked) &&
	(document.regform.reg4_student2.checked)))
	{
	alert("Please select only one registration package per registrant.");
	return false;
	}
 if (((document.regform.reg4_genpackage.checked) ||
 	(document.regform.reg4_student1.checked) ||
 	(document.regform.reg4_student2.checked)) &&
	((document.regform.reg4_lewis.checked) ||
	(document.regform.reg4_spencer.checked) ||
	(document.regform.reg4_pipes.checked) ||
	(document.regform.reg4_panel.checked) ||
	(document.regform.reg4_recept.checked) ||
	(document.regform.reg4_rose.checked) ||
	(document.regform.reg4_schwartz.checked) ||
	(document.regform.reg4_stmeeting.checked)))
	{
	alert("Attendees may not choose registration packages and a-la-carte options simultaneously.");
	return false;
	}
  if (!(document.regform.reg4_student_yes.checked) &&
	((document.regform.reg4_student1.checked) ||
 	(document.regform.reg4_student2.checked)))
	{
	alert("Only students may register for student packages.");
	return false;
	}
  if (!(document.regform.reg4_student_yes.checked) &&
	(document.regform.reg4_stmeeting.checked))
	{
	alert("Only students may register for Sunday's student event.");
	return false;
	}
	if (!(document.regform.reg4_genpackage.checked) &&
 	!(document.regform.reg4_student1.checked) &&
 	!(document.regform.reg4_student2.checked) &&
	!(document.regform.reg4_lewis.checked) &&
	!(document.regform.reg4_spencer.checked) &&
	!(document.regform.reg4_pipes.checked) &&
	!(document.regform.reg4_panel.checked) &&
	!(document.regform.reg4_recept.checked) &&
	!(document.regform.reg4_rose.checked) &&
	!(document.regform.reg4_schwartz.checked) &&
	!(document.regform.reg4_stmeeting.checked))
	{
	alert("It appears that some information was entered for Registrant #4, but none of the registration options were selected. You must select at least one event or course, or clear ALL fields for Registrant #4.");
	return false;
	}
 }
 // REGISTRANT 5
 if ((document.regform.reg5_fname.value != "") ||
	(document.regform.reg5_lname.value != "") ||
	(document.regform.reg5_genpackage.checked) ||
 	(document.regform.reg5_student1.checked) ||
 	(document.regform.reg5_student2.checked) ||
	(document.regform.reg5_lewis.checked) ||
	(document.regform.reg5_spencer.checked) ||
	(document.regform.reg5_pipes.checked) ||
	(document.regform.reg5_panel.checked) ||
	(document.regform.reg5_recept.checked) ||
	(document.regform.reg5_rose.checked) ||
	(document.regform.reg5_schwartz.checked) ||
	(document.regform.reg5_stmeeting.checked))
 {
 // For this optional registrant, if at least one of the above fields is filled in or selected, make sure required fields are filled in.
 	if ((document.regform.reg5_fname.value == "") ||
		(document.regform.reg5_lname.value == ""))
	{
		alert("It appears that some selection was made for Registrant #5, but a required field is missing.\nPlease enter first name and last name, or clear ALL fields for Registrant #5.");
		return false;
	}
 if (((document.regform.reg5_genpackage.checked) &&
 	(document.regform.reg5_student1.checked)) ||
 	((document.regform.reg5_genpackage.checked) &&
	(document.regform.reg5_student2.checked)) ||
	((document.regform.reg5_student1.checked) &&
	(document.regform.reg5_student2.checked)))
	{
	alert("Please select only one registration package per registrant.");
	return false;
	}
 if (((document.regform.reg5_genpackage.checked) ||
 	(document.regform.reg5_student1.checked) ||
 	(document.regform.reg5_student2.checked)) &&
	((document.regform.reg5_lewis.checked) ||
	(document.regform.reg5_spencer.checked) ||
	(document.regform.reg5_pipes.checked) ||
	(document.regform.reg5_panel.checked) ||
	(document.regform.reg5_recept.checked) ||
	(document.regform.reg5_rose.checked) ||
	(document.regform.reg5_schwartz.checked) ||
	(document.regform.reg5_stmeeting.checked)))
	{
	alert("Attendees may not choose registration packages and a-la-carte options simultaneously.");
	return false;
	}
  if (!(document.regform.reg5_student_yes.checked) &&
	((document.regform.reg5_student1.checked) ||
 	(document.regform.reg5_student2.checked)))
	{
	alert("Only students may register for student packages.");
	return false;
	}
  if (!(document.regform.reg5_student_yes.checked) &&
	(document.regform.reg5_stmeeting.checked))
	{
	alert("Only students may register for Sunday's student event.");
	return false;
	}
	if (!(document.regform.reg5_genpackage.checked) &&
 	!(document.regform.reg5_student1.checked) &&
 	!(document.regform.reg5_student2.checked) &&
	!(document.regform.reg5_lewis.checked) &&
	!(document.regform.reg5_spencer.checked) &&
	!(document.regform.reg5_pipes.checked) &&
	!(document.regform.reg5_panel.checked) &&
	!(document.regform.reg5_recept.checked) &&
	!(document.regform.reg5_rose.checked) &&
	!(document.regform.reg5_schwartz.checked) &&
	!(document.regform.reg5_stmeeting.checked))
	{
	alert("It appears that some information was entered for Registrant #5, but none of the registration options were selected. You must select at least one event or course, or clear ALL fields for Registrant #5.");
	return false;
	}
 }
 
  	
// At this point, the first registrant is complete, and each set of additional registrant fields is either all empty or meets the requirements.
return true;	
}
 

function confirm_required()
{
 if (document.layers||document.all)
	return check_required()
 else
	return true
}
