function checkParent(f){
	msg="";
	if ((f.parent1FirstName.value.length < 3) || (f.parent1LastName.value < 3))
		msg+="Enter Parent/Guardian #1 Name\n";
	if (f.parent1Relationship.selectedIndex < 1)
		msg+="Select the Parent/Guardian #1 relationship.\n";
	if (f.parent1Address.value.length < 6)
		msg+="Enter Address for Parent/Guardian #1.\n";
	if (f.parent1City.value.length < 3)
		msg+="Enter City for Parent/Guardian #1.\n";
	if (f.parent1Zip.value.length < 5)
		msg+="Enter Zip for Parent/Guardian #1.\n";
	if ((f.parent1HomePhone.value.length < 3) && (f.parent1CellPhone.value.length < 3))
		msg+="Enter either a Home or Cell Phone Nbr for Parent/Guardian #1.\n";
	if (f.parent1HomePhone.value.length > 2)
		validatePhoneNbr(f.parent1HomePhone.value, "Parent/Guardian #1's Home Phone Nbr");
	if (f.parent1CellPhone.value.length > 4){
		validatePhoneNbr(f.parent1CellPhone.value, "Parent/Guardian #1's Cell Phone Nbr");
	}else{
		if (f.parent1CellPhone.value != 'n/a')
			msg+="Parent #1 Cell Phone required for Emergency Contact\n    if no cell phone please enter n/a\n";
	}
	validateEmail(f.parent1Email.value, "Parent/Guardian #1's Email");
	if (f.parent1Email.value != f.parent1ConfirmEmail.value)
		msg+="Parent/Guardian #1 email's do not match.\n";
	if ((!f.kidsFund[0].checked)&&(!f.kidsFund[1].checked)&&(!f.kidsFund[2].checked)&&(!f.kidsFund[3].checked))
		msg+="Select a donation to the Kids Fund.\n";
	if ((!f.volunteer[0].checked)&&(!f.volunteer[1].checked)&&(!f.volunteer[2].checked)&&(!f.volunteer[3].checked))
		msg+="Select how you would like to volunteer.\n";
	if ((f.parent2FirstName.value.length > 3) || (f.parent2LastName.value > 3)){
		if ((f.parent2FirstName.value.length < 3) || (f.parent2LastName.value < 3))
			msg+="Enter Parent/Guardian #2 Name\n";
		if (f.parent2Relationship.selectedIndex < 1)
			msg+="Select the Parent/Guardian #2 relationship.\n";
		if (f.parent2Address.value.length < 6)
			msg+="Enter Address for Parent/Guardian #2.\n";
		if (f.parent2City.value.length < 3)
			msg+="Enter City for Parent/Guardian #2.\n";
		if (f.parent2Zip.value.length < 5)
			msg+="Enter Zip for Parent/Guardian #2.\n";
		if ((f.parent2HomePhone.value.length < 3) && (f.parent2CellPhone.value.length < 3))
			msg+="Enter either a Home or Cell Phone Nbr for Parent/Guardian #2.\n";
		if (f.parent2HomePhone.value.length > 2)
			validatePhoneNbr(f.parent2HomePhone.value, "Parent/Guardian #2's Home Phone Nbr");
	if (f.parent2CellPhone.value.length > 4){
		validatePhoneNbr(f.parent2CellPhone.value, "Parent/Guardian #2's Cell Phone Nbr");
	}else{
		if (f.parent2CellPhone.value != 'n/a')
			msg+="Parent #2 Cell Phone required for Emergency Contact\n    if no cell phone please enter n/a\n";
	}
		if (f.parent2Email.value.length > 3)
			validateEmail(f.parent2Email.value, "Parent/Guardian #2's Email");
			if (f.parent2Email.value != f.parent2ConfirmEmail.value)
				msg+="Parent/Guardian #2 email's do not match.\n";
	}
//check to see if they selected a player
	if (f.players.value != 'none'){
		players=f.players.value.split(',');
		temp_msg="Please select an existing player\n    or the number of new players to register.\n";
		for(w=0; w < players.length-1; w++){
			if (eval("f.player_"+players[w]+".checked")){
				temp_msg="";
				break;
			}
		}
		if (temp_msg){
			if (f.playerCount.selectedIndex > 0){
				temp_msg="";
			}
		}
		msg+=temp_msg;
	}

	if ((!f.paymentMethod[0].checked)&&(!f.paymentMethod[1].checked))
		msg+="** Select a Payment Method **"
// if Error display alert
	if (msg){
		alert(msg);
		return false;
	}else{
		return true;
	}
}

function checkPlayer(f){
	msg="";
	for (i=1; i<=f.playerCount.value; i++){
		if ((eval("f.player"+i+"FirstName.value.length") < 2) || (eval("f.player"+i+"LastName.value.length") < 2))
			msg+="Enter a Name for Player "+i+".\n";
		if (eval("f.player"+i+"Address.value.length") < 6)
			msg+="Enter Enter an Address for Player "+i+".\n";
		if (eval("f.player"+i+"City.value.length") < 3)
			msg+="Enter a City for Player "+i+".\n";
		if  (eval("f.player"+i+"Zip.value.length") < 5)
			msg+="Enter a Zip for Player "+i+".\n";
		if ((eval("f.player"+i+"DOBmm.selectedIndex") < 1) || (eval("f.player"+i+"DOBdd.selectedIndex") < 1) || (eval("f.player"+i+"DOByyyy.selectedIndex") < 1))
			msg+="Enter Player "+i+" Date of Birth.\n";
		if ((!eval("f.player"+i+"Gender[0].checked"))&&(!eval("f.player"+i+"Gender[1].checked")))
			msg+="Select Player "+i+" Gender (Male or Female).\n";
		if (eval("f.player"+i+"AgeBracket.selectedIndex") <1)
			msg+="Select Player "+i+" Age Bracket.\n";
		if (eval("f.player"+i+"SchoolType[0].checked")){
			if (eval("f.player"+i+"SchoolDistrict.selectedIndex") <1)
				msg+="Select Player "+i+" School.\n";
		}
		if (eval("f.player"+i+"AdditionalAge.checked")){
			if (eval("f.player"+i+"AdditionalAgeBracket.selectedIndex") <1)
				msg+="Select Player "+i+" Additional Age Bracket.\n";
		}
		if ((eval("f.player"+i+"TeamName.selectedIndex") <1) && (eval("f.player"+i+"CurrentClub.value.length") < 4))
			msg+="Player "+i+" select current Penn Legacy Team or\n   enter current club/team.\n";
		if (eval("f.player"+i+"EmergencyContact.value.length") <4)
			msg+="Enter Emergency Contact for Player "+i+" .\n";
		validatePhoneNbr(eval("f.player"+i+"EmergencyPhone.value"), "Player "+i+" Emergency Phone Nbr");
		if (eval("f.player"+i+"PhysicianName.value.length") <4)
			msg+="Enter Physician Name for Player "+i+".\n";
		validatePhoneNbr(eval("f.player"+i+"PhysicianPhone.value"), "Player "+i+" Physician Phone Nbr");
		if (eval("f.player"+i+"HealthInsuranceName.value.length") <4)
			msg+="Enter Health Insurance Name for Player "+i+".\n";
		if (eval("f.player"+i+"HealthInsurancePolicy.value.length") <4)
			msg+="Enter Health Insurance Policy for Player "+i+".\n";
		if (eval("f.player"+i+"HealthConcerns.value.length") <4)
			msg+="Enter Player "+i+" Health Concerns or 'none'.\n";
	}

// if Error display alert
	if (msg){
		alert(msg);
		return false;
	}else{
		return true;
	}
}

function validatePhoneNbr(n, lit){
	if ((!n) || (n.length < 5))
		msg+="Please fill in "+ lit +" field.\n";
	else{
		j=0;
		for (k=0; k < n.length; k++){
			x=parseInt(n.charAt(k));
			if ((x < 10) && (x ==n.charAt(k))) {
				j++;
			}
		}
		if ((j < 10) || (n.length < 12))
			msg+="Please include Area Code with "+ lit +"\n            (i.e. 123-456-7890)\n";
	}
}

function validateEmail(e, lit){
// verify that the e-mail address has at least this format xx\@xx.xx
	i=e.indexOf('@',0)
	j=e.indexOf('.',i)
	if ((i < 2) || (j < 5) || (e.length < 7)){
		msg+="Enter a proper "+lit+" (i.e. joe\@abc.com)\n";
		return;
	}
	if (((j-i) < 3) || ((e.length - j) < 3)){
		msg+="Enter a proper "+lit+" (i.e. joe\@abc.com)\n";
		return;
	}
}

function copyParentAddress(f){
	if (f.parent2SameAddress.checked){
		f.parent2Address.value=f.parent1Address.value;
		f.parent2City.value=f.parent1City.value;
//		f.parent2State.selectedIndex=f.parent1State.selectedIndex;
		f.parent2State.value=f.parent1State.value;
		f.parent2Zip.value=f.parent1Zip.value;
		f.parent2HomePhone.value=f.parent1HomePhone.value;		
	}else{
		f.parent2Address.value='';
		f.parent2City.value='';
		f.parent2Zip.value='';
		f.parent2HomePhone.value='';
	}
}

function copyParentAddressToPlayer(f,x){
	if (eval("f.player"+x+"SameAddress.checked")){
		eval("f.player"+x+"Address.value=f.parent1Address.value");
		eval("f.player"+x+"City.value=f.parent1City.value");
//		eval("f.player"+x+"State.selectedIndex=f.parent1State.selectedIndex");
		eval("f.player"+x+"State.value=f.parent1State.value");
		eval("f.player"+x+"Zip.value=f.parent1Zip.value");
	}else{
		eval("f.player"+x+"Address.value=''");
		eval("f.player"+x+"City.value=''");
		eval("f.player"+x+"Zip.value=''");
	}
}

function copyEmergencyInfo(f,x){
	if (eval("f.player"+x+"CopyEmergency.checked")){
		eval("f.player"+x+"EmergencyContact.value=f.player1EmergencyContact.value");
		eval("f.player"+x+"EmergencyPhone.value=f.player1EmergencyPhone.value");
		eval("f.player"+x+"PhysicianName.value=f.player1PhysicianName.value");
		eval("f.player"+x+"PhysicianPhone.value=f.player1PhysicianPhone.value");
		eval("f.player"+x+"HealthInsuranceName.value=f.player1HealthInsuranceName.value");
		eval("f.player"+x+"HealthInsurancePolicy.value=f.player1HealthInsurancePolicy.value");
	}
}

function checkWaiver(f){
	if ((f.waiverRelease.checked) && (f.waiverReleaseName.value.length > 1)){
		return true;
	}else{
		alert("You must read and agree with the terms and\nconditions of the waiver and enter your name\nin order to continue.")
		return false;
	}
}

function AgeBracket(fromDOBy,fromDOBm,fromDOBd, toDOBy,toDOBm,toDOBd, ageBracket) {
   this.fromDOBy = fromDOBy;
   this.fromDOBm = fromDOBm;
   this.fromDOBd = fromDOBd;
   this.toDOBy = toDOBy;
   this.toDOBm = toDOBm;
   this.toDOBd = toDOBd;
   this.ageBracket = ageBracket;
}
var ageGroup=new MakeArray(12)
function MakeArray (n) {
	this.length = n;
	for (  i = 1  ; i <= n ; i++ ) {
		this[i] = 0;
	}
	return;
}

//Updated for 2011
ageGroup[1]= new AgeBracket(2003,8,1,2003,9,30, 1)
ageGroup[2]= new AgeBracket(2002,8,1,2003,7,31, 1)
ageGroup[3]= new AgeBracket(2001,8,1,2002,7,31, 2)
ageGroup[4]= new AgeBracket(2000,8,1,2001,7,31, 3)
ageGroup[5]= new AgeBracket(1999,8,1,2000,7,31, 4)
ageGroup[6]= new AgeBracket(1998,8,1,1999,7,31, 5)
ageGroup[7]= new AgeBracket(1997,8,1,1998,7,31, 6)
ageGroup[8]= new AgeBracket(1996,8,1,1997,7,31, 7)
ageGroup[9]= new AgeBracket(1995,8,1,1996,7,31, 8)
ageGroup[10]= new AgeBracket(1994,8,1,1995,7,31, 9)
ageGroup[11]= new AgeBracket(1993,8,1,1994,7,31, 10)
ageGroup[12]= new AgeBracket(1992,8,1,1993,7,31, 11)

function buildAgeBracket(f,x){
//Updated for 2011
	minDOB = new Date(2003,9-1,30);
	m=eval("f.player"+x+"DOBmm.value")-1;
	d=eval("f.player"+x+"DOBdd.value");
	y=eval("f.player"+x+"DOByyyy.value");
	DOB=new Date(y,m,d);
	if (minDOB < DOB){
		eval("f.player"+x+"AgeBracket.selectedIndex=0");
		eval("f.player"+x+"AgeBracket.length=1");
		alert("        This player is ineligible for travel soccer.\nPlease contact a travel director if you have questions.");
	} else {
		for (i=1; i <= ageGroup.length; i++){
			toDOB = new Date(ageGroup[i].toDOBy,ageGroup[i].toDOBm-1,ageGroup[i].toDOBd);
			fromDOB = new Date(ageGroup[i].fromDOBy,ageGroup[i].fromDOBm-1,ageGroup[i].fromDOBd);
			if ((DOB >= fromDOB) && (DOB <= toDOB)){
				eval("f.player"+x+"AgeBracket.selectedIndex=0");
				eval("f.player"+x+"AgeBracket.length=1");
				eval("f.player"+x+"AgeBracket.options[1] = new Option(soccer[ageGroup[i].ageBracket-1])");
				eval("f.player"+x+"AdditionalAgeBracket.options[1] = new Option(soccer[ageGroup[i].ageBracket])");
				break;
			}
		}
	}
}

function enableAdditionalBracket(f,x){
	if (eval("f.player"+x+"AdditionalAge.checked")){
		eval("f.player"+x+"AdditionalAgeBracket.disabled = false");
	}else{
		eval("f.player"+x+"AdditionalAgeBracket.disabled = true");
	}
}

function enableSchoolDistrict(f,x){
	if (eval("f.player"+x+"SchoolType[0].checked")){
		eval("f.player"+x+"SchoolDistrict.disabled = false");
	}else{
		eval("f.player"+x+"SchoolDistrict.disabled = true");
	}
}

soccer= new Array(
'U09',
'U10',
'U11',
'U12',
'U13',
'U14',
'U15',
'U16',
'U17',
'U18',
'U19',
'U19');

function displayAgeBracket(f,x,l){
	eval("f.player"+x+"AgeBracket.selectedIndex=0");
	eval("f.player"+x+"AgeBracket.length=1");
	dispAge=l.split(',');
	for (i=0; i<dispAge.length; i++){
		j=dispAge[i];
		eval("f.player"+x+"AgeBracket.options[i+1] = new Option(soccer[j-1])");
	}
	for (i=0; i<dispAge.length; i++){
		j=dispAge[i];
		eval("f.player"+x+"AddtionalAgeBracket.options[i+1] = new Option(soccer[j-1])");
	}
}

function ChangeDays(f,x){
	if (eval("f.player"+x+"DOBmm.selectedIndex") > 1){
		if (eval("f.player"+x+"DOBmm.value") == 2){
			j = monthDays[eval("f.player"+x+"DOBmm.value") -1]+2;
		}else{	
			j = monthDays[eval("f.player"+x+"DOBmm.value") -1]+1;
		}
		eval("f.player"+x+"DOBdd.selectedIndex=0");
		eval("f.player"+x+"DOBdd.length=1");
		for (i=1; i<j; i++){
			eval("f.player"+x+"DOBdd.options[i] = new Option(i,i)");
		}
	}
}

//
// function montharr
// params days in month for each month
// creates an array with the days for each month
//
function montharr(m0,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11){
	this[0]=m0;this[1]=m1;this[2]=m2;this[3]=m3;this[4]=m4;this[5]=m5;this[6]=m6;this[7]=m7;this[8]=m8;this[9]=m9;this[10]=m10;this[11]=m11;
}

// GLOBAL vars
var monthDays = new montharr(31,28,31,30,31,30,31,31,30,31,30,31);
var today =new Date();
var thisMonth;
var thisDay;
var thisYear;

