// Registration Page JavaScript

function syncValues(sourceFieldName, destFieldName)
{
	var form = document.forms["registrationForm"];
	var title = form.Title.value;
	if (title == "Student")
	{
		var sourceField = eval("form." + sourceFieldName)
		var destField = eval("form." + destFieldName);
		if (sourceField != null && destField != null)
		{
			destField.value = sourceField.value;
		}
	}
}

function validateRegistrationForm(form)
{
	// Parent / Student Info
	// Title
	if (form.Title.value == "")
	{
		alert("Please select Title.");
		form.Title.focus();
		return false;
	}
	// First Name
	if (ftrim(form.First_Name).value == "")
	{
		alert("Please enter First Name.");
		form.First_Name.focus();
		return false;
	}
	// Last Name
	if (ftrim(form.Last_Name).value == "")
	{
		alert("Please enter Last Name.");
		form.Last_Name.focus();
		return false;
	}
	// Email Address
	var emailAddress = ftrim(form.Email).value;
	if (emailAddress == "")
	{
		alert("Please enter Email address.");
		form.Email.focus();
		return false;
	}
	if (!isValidEmail(emailAddress))
	{
		alert("Please enter valid Email address.");
		form.Email.focus();
		return false;
	}
	// Home Phone Country Code
	var homeCountryCode = ftrim(form.Home_Country_Code).value;
	if (homeCountryCode == "")
	{
		alert("Please enter Home Phone country code.");
		form.Home_Country_Code.focus();
		return false;
	}
	if (!isNumeric(homeCountryCode))
	{
		alert("Please enter numeric value for Home Phone country code.");
		form.Home_Country_Code.focus();
		return false;
	}
	// Home Phone
	var homePhone = ftrim(form.Home_Phone).value;
	if (homePhone == "")
	{
		alert("Please enter Home Phone number.");
		form.Home_Phone.focus();
		return false;
	}
	
	if (!isNumeric(homePhone))
	{
		alert("Please enter numeric value for Home Phone. Only digits are allowed.");
		form.Home_Phone.focus();
		return false;
	}

	// Cell Phone Country Code validation if entered
	var cellCountryCode = ftrim(form.Cell_Country_Code).value;
	if (cellCountryCode != "" && !isNumeric(cellCountryCode))
	{
		alert("Please enter numeric value for Cell Phone country code.");
		form.Cell_Country_Code.focus();
		return false;
	}
	
	// Cell Phone validation if entered
	var cellPhone = ftrim(form.Cell_Phone).value;
	if (cellPhone != "" && !isNumeric(cellPhone))
	{
		alert("Please enter numeric value for Cell Phone. Only digits are allowed.");
		form.Cell_Phone.focus();
		return false;
	}
	
	if (cellCountryCode == "" && cellPhone != "")
	{
		alert("Please enter Cell Phone country code.");
		form.Cell_Country_Code.focus();
		return false;
	}
	
	if (cellCountryCode != "" && cellPhone == "")
	{
		alert("Please enter Cell Phone number.");
		form.Cell_Phone.focus();
		return false;
	}
		
	// Work Phone Country Code validation if entered
	var workCountryCode = ftrim(form.Work_Country_Code).value;
	if (workCountryCode != "" && !isNumeric(workCountryCode))
	{
		alert("Please enter numeric value for Work Phone country code.");
		form.Work_Country_Code.focus();
		return false;
	}
	// Work Phone validation if entered
	var workPhone = ftrim(form.Work_Phone).value;
	if (workPhone != "" && !isNumeric(workPhone))
	{
		alert("Please enter numeric value for Work Phone. Only digits are allowed.");
		form.Work_Phone.focus();
		return false;
	}
	
	if (workCountryCode == "" && workPhone != "")
	{
		alert("Please enter Work Phone country code.");
		form.Work_Country_Code.focus();
		return false;
	}
	
	if (workCountryCode != "" && workPhone == "")
	{
		alert("Please enter Work Phone number.");
		form.Work_Phone.focus();
		return false;
	}
	
	// Street Address
	if (ftrim(form.Address1).value == "")
	{
		alert("Please enter Street Address.");
		form.Address1.focus();
		return false;
	}
	// City
	if (ftrim(form.City).value == "")
	{
		alert("Please enter City.");
		form.City.focus();
		return false;
	}
	// State

	if (ftrim(form.State).value == "")
	{
		alert("Please enter State/Province.");
		form.State.focus();
		return false;
	}
	// Zip/Postal Code
	var zipCode = ftrim(form.Zip).value;
	if (zipCode == "")
	{
		alert("Please enter Zip/Postal Code.");
		form.Zip.focus();
		return false;
	}
	// Country
	var selectedCountry = form.Country.value;
	if (selectedCountry == "US" && !isValidZip(zipCode))
	{
		alert("Please enter valid Zip/Postal Code. It must be 5 numeric digits.");
		form.Zip.focus();
		return false;
	}
	if (form.Country.value == "")
	{
		alert("Please select your Country.");
		form.Country.focus();
		return false;
	}
	
	// First Student Info
	// First Name
	if (ftrim(form.First_Name1).value == "")
	{
		alert("Please enter First Student's First Name.");
		form.First_Name1.focus();
		return false;
	}
	// Last Name
	if (ftrim(form.Last_Name1).value == "")
	{
		alert("Please enter First Student's Last Name.");
		form.Last_Name1.focus();
		return false;
	}
	// First Student's Age
	var age1 = ftrim(form.Age1).value;
	if (age1 == "")
	{
		alert("Please enter First Student's Age.");
		form.Age1.focus();
		return false;
	}
	if (!isNumeric(age1))
	{
		alert("Please enter numeric value for First Student's Age.");
		form.Age1.focus();
		return false;
	}
	// First Student's Gender
	if (ftrim(form.Gender1).value == "")
	{
		alert("Please select First Student's Gender.");
		form.Gender1.focus();
		return false;
	}

	// Second Student's Info Validation if value in/of 
	// any field is entered or selected
	var firstName2 = ftrim(form.First_Name2).value;
	var lastName2 = ftrim(form.Last_Name2).value;
	var age2 = ftrim(form.Age2).value;
	var gender2 = form.Gender2.value;
	if (firstName2 != "" || lastName2 != "" || age2 != "" || gender2 != "")
	{
		// First Name
		if (firstName2 == "")
		{
			alert("Please enter Second Student's First Name.");
			form.First_Name2.focus();
			return false;
		}
		// Last Name
		if (lastName2 == "")
		{
			alert("Please enter Second Student's Last Name.");
			form.Last_Name2.focus();
			return false;
		}
		// Student's Age
		if (age2 == "")
		{
			alert("Please enter Second Student's Age.");
			form.Age2.focus();
			return false;
		}
		if (!isNumeric(age2))
		{
			alert("Please enter numeric value for Second Student's Age.");
			form.Age2.focus();
			return false;
		}
		// Student's Gender
		if (gender2 == "")
		{
			alert("Please select Second Student's Gender.");
			form.Gender2.focus();
			return false;
		}
	}
	// Plan selection
	if (form.Plan.value == "")
	{
		alert("Please select a plan.");
		form.Plan.focus();
		return false;
	}
	
	return true;
}

