function toggleSetForeign(rad) { 
  var type = rad.value; 
  for(var k=0,elm;elm=rad.form.elements[k];k++) 
    if(elm.className=='foreign') 
      elm.style.display = elm.id==type? 'inline':''; 
} 
function toggleSetMode(rad) { 
  var type = rad.value; 
  for(var k=0,elm;elm=rad.form.elements[k];k++) 
	if(elm.className=='mode') 
      elm.style.display = elm.id==type? 'inline':''; 
} 

function validateForms()
{
	var elementsForms;
	
	if (!document.getElementsByTagName) return false;
	elementsForms = document.getElementsByTagName("form"); 
	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) 
	{ 
		return validateForm(elementsForms[intCounter]);
	} 
}
function validateForm(currentForm)
{
	var blnvalidate = true;
	var elementsInputs;
	
 	elementsInputs = currentForm.getElementsByTagName("input");
 	var why = "";
	
	//RADIO'S AND SELECT BOXES
	if(checkRadio(currentForm.sex)){
		why += "Please choose a Sex (Male/Female).\n";
		blnvalidate = false;}
		
	if(checkRadio(currentForm.passover)){
		why += "Please choose Passover (Yes/No).\n";
		blnvalidate = false;}
	
	if(checkRadio(currentForm.foreignChoose)){
		why += "Please choose Foreign National (Yes/No).\n";
		blnvalidate = false;}
		
	if(checkRadio(currentForm.arrival_time)){
		why += "Please choose Arrival Time (AM/PM).\n";
		blnvalidate = false;}
		
	if(checkRadio(currentForm.mode)){
		why += "Please choose Mode of Transportation (Air/Train/Bus/Car).\n";
		blnvalidate = false;}
		
	if(currentForm.foreignChoose[1].checked == true && currentForm.state.value == ""){
		why += "Please choose a Contact State.\n";
		blnvalidate = false;}
		
	if(currentForm.foreignChoose[1].checked == true && currentForm.emer_state.value == ""){
		why += "Please choose a Emergency Contact's State.\n";
		blnvalidate = false;}
		
	for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++)
	{
		//CONTACT INFORMATION
		if (elementsInputs[intCounter].className == "lastname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Last Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "firstname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid First Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "middlename")
		{
			var type = 2;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Middle Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "age")
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 1)
			{
				blnvalidate = false;
				why += "Please enter a valid Age.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Age.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "addr_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (validateAddr(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Contact Address Line 1.\n";
			}
		}
		//Can be blank, but no illegal characters
		else if (elementsInputs[intCounter].className == "addr_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 2;
			if (validateAddr(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Contact Address Line 2.\n";
			}
		}		
		else if (elementsInputs[intCounter].className == "email")
 		{
 			if (validateEmail(elementsInputs, intCounter))
			{
 				blnvalidate = false;
				why += "Please enter a valid Email.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "foreign_country" && currentForm.foreignChoose[0].checked == true)
 		{
			var type = 1;
 			if (validateText(elementsInputs, intCounter, type))
			{
 				blnvalidate = false;
				why += "Please enter a valid Country.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "foreign_phone" && currentForm.foreignChoose[0].checked == true)
 		{
			var type = 2;
 			if (validateForeignNum(elementsInputs, intCounter, type))
			{
 				blnvalidate = false;
				why += "Please enter a valid International Phone Number.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "city" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid City.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "zip_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 5)
			{
				blnvalidate = false;
				why += "Please enter a valid Zip Code - 1.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Zip Code - 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "zip_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 2;
			if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Zip Code - 2.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "phone_area" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number (Area Code).\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number (Area Code).\n";
			}
		}
		else if (elementsInputs[intCounter].className == "phone_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number - 1.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number - 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "phone_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 4)
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number - 2.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Phone Number - 2.\n";
			}
		}
		//EMERGENCY CONTACT
		else if (elementsInputs[intCounter].className == "emer_lastname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Last Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_firstname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's First Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_foreign_country" && currentForm.foreignChoose[0].checked == true)
 		{
			var type = 1;
 			if (validateText(elementsInputs, intCounter, type))
			{
 				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Country.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_foreign_phone" && currentForm.foreignChoose[0].checked == true)
 		{
			var type = 2;
 			if (validateForeignNum(elementsInputs, intCounter, type))
			{
 				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's International Phone Number.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_addr_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (validateAddr(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Address Line 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_addr_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 2;
			if (validateAddr(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Address Line 2.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_city" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's City.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_zip_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 5)
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Zip Code - 1.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Zip Code - 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_zip_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 2;
			if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Zip Code - 2.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_phone_area" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number (Area Code).\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number (Area Code).\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_phone_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number - 1.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number - 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "emer_phone_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 4)
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number - 2.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Emergency Contact's Phone Number - 2.\n";
			}
		}
		//SCHOOL INFORMATION
		else if (elementsInputs[intCounter].className == "school")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Academic Institution.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "major")
		{
			var type = 2;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Major.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "minor")
		{
			var type = 2;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Minor.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "grad_1")
		{
			var type = 2;
			if (validateMM(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Graduation Date MM.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "grad_2")
		{
			if (elementsInputs[intCounter].value.length < 4)
			{
				blnvalidate = false;
				why += "Please enter a valid Graduation Date YYYY.\n";
			}
			else if (validateGradYYYY(elementsInputs, intCounter))
			{
				blnvalidate = false;
				why += "Please enter a valid Graduation Date YYYY.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "adv_email")
 		{
 			if (validateEmail(elementsInputs, intCounter))
			{
 				blnvalidate = false;
				why += "Please enter a valid Academic Advisor's Email.\n";
			}
		}
		//ACADEMIC ADVISOR INFO....
		else if (elementsInputs[intCounter].className == "adv_lastname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Last Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "adv_firstname")
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's First Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "adv_phone_area" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number (Area Code).\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number (Area Code).\n";
			}
		}
		else if (elementsInputs[intCounter].className == "adv_phone_1" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 3)
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number - 1.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number - 1.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "adv_phone_2" && currentForm.foreignChoose[1].checked == true)
		{
			var type = 1;
			if (elementsInputs[intCounter].value.length < 4)
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number - 2.\n";
			}
			else if (validateNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number - 2.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "foreign_phone" && currentForm.foreignChoose[0].checked == true)
		{
			var type = 2;
			if (validateForeignNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Faculty Advisor's Phone Number.\n";
			}
		}
		//TRAVEL INFORMATION
		else if (elementsInputs[intCounter].className == "arrive_month")
		{
			var type = 1;
			if (validateMM(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Arrival Month.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "arrrive_day")
		{
			if (validateDD(elementsInputs, intCounter))
			{
				blnvalidate = false;
				why += "Please enter a valid Arrival Day.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "arrrive_hour")
		{
			if (validateHour(elementsInputs, intCounter))
			{
				blnvalidate = false;
				why += "Please enter a valid Arrival Hour.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "arrrive_min")
		{
			if (validateMin(elementsInputs, intCounter))
			{
				blnvalidate = false;
				why += "Please enter a valid Arrival Minute.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "airport" && currentForm.mode[0].checked == true)
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Airport Name.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "airline" && currentForm.mode[0].checked == true)
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Airline Carrier.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "flight_number" && currentForm.mode[0].checked == true)
		{
			var type = 1;
			if (validateFlightNum(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Flight Number.\n";
			}
		}
		else if (elementsInputs[intCounter].className == "station" && currentForm.mode[1].checked == true)
		{
			var type = 1;
			if (validateText(elementsInputs, intCounter, type))
			{
				blnvalidate = false;
				why += "Please enter a valid Arrival Station Name.\n";
			}
		}
	}
	//PREFERENCES
	if(currentForm.roundtable_1.value == "0"){
		why += "Please choose a Roundtable #1 Preference.\n";
		blnvalidate = false;}
		
	if(currentForm.roundtable_2.value == "0"){
		why += "Please choose a Roundtable #2 Preference.\n";
		blnvalidate = false;}
		
	if(currentForm.roundtable_3.value == "0"){
		why += "Please choose a Roundtable #3 Preference.\n";
		blnvalidate = false;}
		
	if(currentForm.activity_1.value == "0"){
		why += "Please choose a Activity #1 Preference.\n";
		blnvalidate = false;}
		
	if(currentForm.activity_2.value == "0"){
		why += "Please choose a Activity #2 Preference.\n";
		blnvalidate = false;}
		
	if(currentForm.activity_3.value == "0"){
		why += "Please choose a Activity #3 Preference.\n";
		blnvalidate = false;}
	
	if(why != "")
		alert(why);
	return blnvalidate;
}

function checkRadio(radioGroup)
{
var len = radioGroup.length;
	for(var i = 0; i < len; i++){
		if(radioGroup[i].checked){
			return false;	
		}
	}
	return true;	
}

function validateRadio(elementsInputs, intCounter, num)
{
	
	var selected = false;
	for (var counter = intCounter; counter < (intCounter+num); counter++)
	{
		if(elementsInputs[counter].value)
			selected = true;
	}
	return !selected;	
}

function validateEmail(elementsInputs, intCounter)
{
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!emailFilter.test(elementsInputs[intCounter].value)) 
	{ 
		return true; 
	} 
}

function validateAddr(elementsInputs, intCounter, type)
{
	var legalChars = /[a-zA-Z0-9]/;	
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;	
	}
	else if(!legalChars.test(elementsInputs[intCounter].value))
	{
		return true;	
	}
	return false;
}
function validateText(elementsInputs, intCounter, type)
{
	var legalChars = /[a-zA-Z]/; // allow letters
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateFlightNum(elementsInputs, intCounter, type)
{
	var legalChars = /[0-9a-zA-Z()_-]/; // allow numbers only
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateNum(elementsInputs, intCounter, type)
{
	var legalChars = /[0-9]/; // allow numbers only
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateForeignNum(elementsInputs, intCounter, type)
{
	var legalChars = /[0-9a-zA-Z()-_]/; // allow anything, simplicity's sake
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateMM(elementsInputs, intCounter, type)
{
	//var legalChars = /1|2|3|4|5|6|7|8|9|10|11|12/; // allow correct month
	var legalChars = /0[1-9]|1[012]/; // allow correct month
	if (elementsInputs[intCounter].value == "" && type == "2")
	{
		return false;	
	}
	else if (elementsInputs[intCounter].value == "" && type == "1")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}

function validateDD(elementsInputs, intCounter, strErrorMessage)
{
	var legalChars = /[1-31]/; // allow days
	if (elementsInputs[intCounter].value == "")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateHour(elementsInputs, intCounter, strErrorMessage)
{
	var legalChars = /[0-24]/; // allow militar time
	if (elementsInputs[intCounter].value == "")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateMin(elementsInputs, intCounter, strErrorMessage)
{
	var legalChars = /[0-59]/;
	if (elementsInputs[intCounter].value == "")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}

function validateYYYY(elementsInputs, intCounter, strErrorMessage)
{
	var legalChars = /19[0-9]/; // allow correct years
	if (elementsInputs[intCounter].value == "")
	{
		return true;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}
function validateGradYYYY(elementsInputs, intCounter, strErrorMessage)
{
	//can be blank or valid
	var legalChars = /19[0-9]|20[0-9]/; // allow correct years
	if (elementsInputs[intCounter].value == "")
	{
		return false;
	}
	else if (!legalChars.test(elementsInputs[intCounter].value)) 
	{
		return true;
	}
}

function applyOnSubmitToForms()
{
	elementsForms = document.getElementsByTagName("form"); 
	for (var intCounter = 0; intCounter < elementsForms.length; intCounter++) 
	{ 
		elementsForms[intCounter].onsubmit = function ()
		{
			if (!validateForms())
			{
				return false;
			}
			else
			{
				alert("The form has been completed and can be submitted.");
			}
		}
		
	} 
}		
function addLoadEvent(func) 
{
 	var oldonload = window.onload;
	if (typeof window.onload != 'function') 
	{
		window.onload = func;
	} 
	else 
	{
		window.onload = function() 
		{
	      		oldonload();
	      		func();
	    	}
	}
}

addLoadEvent(applyOnSubmitToForms);