r1winners = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
r2winners = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
r3winners = new Array(0,0,0,0,0,0,0,0);
final4 = new Array(0,0,0,0);
final2 = new Array(0,0);
champion = new Array(0);


function onLoad()
{
	//if(!checkForMissingPicks())
	//	return;

	document.grid.Team1.value = teamname[0];
	document.grid.Team2.value = teamname[1];
	document.grid.Team3.value = teamname[2];
	document.grid.Team4.value = teamname[3];
	document.grid.Team5.value = teamname[4];
	document.grid.Team6.value = teamname[5];
	document.grid.Team7.value = teamname[6];
	document.grid.Team8.value = teamname[7];
	document.grid.Team9.value = teamname[8];
	document.grid.Team10.value = teamname[9];
	document.grid.Team11.value = teamname[10];
	document.grid.Team12.value = teamname[11];
	document.grid.Team13.value = teamname[12];
	document.grid.Team14.value = teamname[13];
	document.grid.Team15.value = teamname[14];
	document.grid.Team16.value = teamname[15];
	document.grid.Team17.value = teamname[16];
	document.grid.Team18.value = teamname[17];
	document.grid.Team19.value = teamname[18];
	document.grid.Team20.value = teamname[19];
	document.grid.Team21.value = teamname[20];
	document.grid.Team22.value = teamname[21];
	document.grid.Team23.value = teamname[22];
	document.grid.Team24.value = teamname[23];
	document.grid.Team25.value = teamname[24];
	document.grid.Team26.value = teamname[25];
	document.grid.Team27.value = teamname[26];
	document.grid.Team28.value = teamname[27];
	document.grid.Team29.value = teamname[28];
	document.grid.Team30.value = teamname[29];
	document.grid.Team31.value = teamname[30];
	document.grid.Team32.value = teamname[31];
	document.grid.Team33.value = teamname[32];
	document.grid.Team34.value = teamname[33];
	document.grid.Team35.value = teamname[34];
	document.grid.Team36.value = teamname[35];
	document.grid.Team37.value = teamname[36];
	document.grid.Team38.value = teamname[37];
	document.grid.Team39.value = teamname[38];
	document.grid.Team40.value = teamname[39];
	document.grid.Team41.value = teamname[40];
	document.grid.Team42.value = teamname[41];
	document.grid.Team43.value = teamname[42];
	document.grid.Team44.value = teamname[43];
	document.grid.Team45.value = teamname[44];
	document.grid.Team46.value = teamname[45];
	document.grid.Team47.value = teamname[46];
	document.grid.Team48.value = teamname[47];
	document.grid.Team49.value = teamname[48];
	document.grid.Team50.value = teamname[49];
	document.grid.Team51.value = teamname[50];
	document.grid.Team52.value = teamname[51];
	document.grid.Team53.value = teamname[52];
	document.grid.Team54.value = teamname[53];
	document.grid.Team55.value = teamname[54];
	document.grid.Team56.value = teamname[55];
	document.grid.Team57.value = teamname[56];
	document.grid.Team58.value = teamname[57];
	document.grid.Team59.value = teamname[58];
	document.grid.Team60.value = teamname[59];
	document.grid.Team61.value = teamname[60];
	document.grid.Team62.value = teamname[61];
	document.grid.Team63.value = teamname[62];
	document.grid.Team64.value = teamname[63];

	document.picks.firstname.value = "";
	document.picks.lastname.value = "";
	document.grid.txttiebreak.value = "";
	document.grid.champ.value = "";
	return;
}
function advanceR1(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			r1winners[parseInt(i / 2)] = i + 1;
			break;
		}
	}
	target.value = winner.value;

}

function advanceR2(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			r2winners[parseInt(i / 4)] = i + 1;
			break;
		}
	}
	target.value = winner.value;
}

function advanceR3(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			r3winners[parseInt(i / 8)] = i + 1;
			break;
		}
	}
	target.value = winner.value;
}

function advanceF4(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			final4[parseInt(i / 16)] = i + 1;
			break;
		}
	}
	target.value = winner.value;
}

function advanceF2(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			final2[parseInt(i / 32)] = i + 1;
			break;
		}
	}
	target.value = winner.value;
}

function advancechamp(winner, target) 
{
	var i;
	for(i = 0; i < 64; i++){
		if(teamname[i] == winner.value){
			champion[0] = i + 1;
			break;
		}
	}
	target.value = winner.value;
}

function formatData()
{
	aOut = r1winners.concat(r2winners, r3winners, final4, final2, champion);

	document.picks.picklist.value = aOut.join(",");

	//alert(document.picks.picklist.value);

}


function validate()
{
	var i;
	var bMissedOne = false;
	var strTieBreak;
	var strName;
	
	strName = document.picks.firstname.value;
	if(strName.length == 0){
		alert("Please enter a valid first name.");
		document.picks.firstname.focus();
		return false;
	}

	for(i = 0; i < strName.length; i++){
		if(strName.charAt(i) == '"' || strName.charAt(i) == '%' ||
			strName.charAt(i) == '\\' || strName.charAt(i) == '/' ||
			strName.charAt(i) == ':' || strName.charAt(i) == '?' ||
			strName.charAt(i) == '<' || strName.charAt(i) == '>' ||
			strName.charAt(i) == '|' || strName.charAt(i) == '#' ){		
			alert("First name contains one or more of the following illegal characters: % \\ \" / : ? < > | #");
			document.picks.firstname.focus();
			return false;
		}
	}

		
	strName = document.picks.lastname.value;
	if(strName.length == 0){
		alert("Please enter a valid last name.");
		document.picks.lastname.focus();
		return false;
	}

	for(i = 0; i < strName.length; i++){
		if(strName.charAt(i) == '"' || strName.charAt(i) == '%' ||
			strName.charAt(i) == '\\' || strName.charAt(i) == '/' ||
			strName.charAt(i) == ':' || strName.charAt(i) == '?' ||
			strName.charAt(i) == '<' || strName.charAt(i) == '>' ||
			strName.charAt(i) == '|' || strName.charAt(i) == '#' ){		
			alert("Last name contains one or more of the following illegal characters: % \\ \" / : ? < > | #");
			document.picks.lastname.focus();
			return false;
		}
	}

	strTieBreak = document.grid.txttiebreak.value;

	if(strTieBreak.length == 0){
		alert("Please enter a tiebreaker value between 1 and 999.");
		document.grid.txttiebreak.focus();
		return false;
	}	

	for(i = 0; i < strTieBreak.length; i++){
		if(strTieBreak.charAt(i) < '0' || strTieBreak.charAt(i) > '9'){
			alert("Please enter a tiebreaker value between 1 and 999.  Only numeric characters are allowed (no spaces).");
			document.grid.txttiebreak.focus();
			return false;
		}
	}

	if(strTieBreak < 1 || strTieBreak > 999){
		alert("Please enter a tiebreaker value between 1 and 999.");
		document.grid.txttiebreak.focus();
		return false;
	}
	else{
		document.picks.tiebreak.value = document.grid.txttiebreak.value;
	}

	bMissedOne = checkForMissingPicks();
	//check to make sure grid is completely filled out


	if(bMissedOne){
		alert("Your picks were not completely filled out.  Please make sure to make a selection for every game.");
		return false;
	}


	//make sure picks are clicked through

	if(champion[0] != final2[0] && champion[0] != final2[1]){
		alert("You chose " + teamname[champion[0] - 1] + " as the champion, but picked them to lose in an earlier round.  Please correct your picksheet and resubmit your picks.");
		return false;
	}

	for(i = 0; i < 2; i++){
		if(final2[i] != final4[i * 2] && final2[i] != final4[(i * 2) + 1]){
			alert("You chose " + teamname[final2[i] - 1] + " in the semifinal round, but picked them to lose in an earlier round.  Please correct your picksheet and resubmit your picks.");
			return false;
		}
	}

	for(i = 0; i < 4; i++){
		if(final4[i] != r3winners[i * 2] && final4[i] != r3winners[(i * 2) + 1]){
			alert("You chose " + teamname[final4[i] - 1] + " to be in the Final Four, but picked them to lose in an earlier round.  Please correct your picksheet and resubmit your picks.");
			return false;
		}
	}

	for(i = 0; i < 8; i++){
		if(r3winners[i] != r2winners[i * 2] && r3winners[i] != r2winners[(i * 2) + 1]){
			alert("You chose " + teamname[r3winners[i] - 1] + " in the third round, but picked them to lose in an earlier round.  Please correct your picksheet and resubmit your picks.");
			return false;
		}
	}

	for(i = 0; i < 16; i++){
		if(r2winners[i] != r1winners[i * 2] && r2winners[i] != r1winners[(i * 2) + 1]){
			alert("You chose " + teamname[r2winners[i] - 1] + " in the second round, but picked them to lose in the first round.  Please correct your picksheet and resubmit your picks.");
			return false;
		}
	}

	return true;
}

function checkForMissingPicks()
{
	var bMissedOne = false;
	var i;

	for(i = 0; i < 32; i++){

		if(r1winners[i] == 0){
			bMissedOne = true;
			break;
		}

		if(i < 16){

			if(r2winners[i] == 0){
				bMissedOne = true;
				break;						
			}

			if(i < 8){

				if(r3winners[i] == 0){
					bMissedOne = true;
					break;						
				}

				if(i < 4){

					if(final4[i] == 0){
						bMissedOne = true;
						break;						
					}

					if(i < 2){

						if(final2[i] == 0){
							bMissedOne = true;
							break;						
						}
					}
				}
			}
		}
	}
	
	if(champion[0] == 0)
		bMissedOne = true;

	return bMissedOne;

}