// contains JavaScript validation of player registration

// todo: read in the possible disc colors from the database
// then populate the drop down list in php, rather than JS
var discs = new Array("red", "blue", "green", "yellow", "purple");

var players = new Array();
var playerDiscs = new Array();
var maxPlayerCount = 4; // per group

function populateDiscList()
{
	for (i=0; i<discs.length; i++)
	{
		document.writeln("   <option value=" + discs[i] + ">" + discs[i]);
	}
}

function validate()
{
	var playerCount = 0;
	var discColorUsed = new Array();
	for (i=0; i<discs.length; i++)
	{
		discColorUsed[discs[i]] = false;
	}
	
	var reg = /^[A-Z][a-z]+$/;
	
	for (i=0; i<maxPlayerCount; i++)
	{
		var count = parseInt(i) + 1;
		var fieldName = "fname" + count;
		var obj = document.getElementById(fieldName);
		var name = obj.value;
		if (name.length > 0)
		{
			if (reg.test(name) == false)
			{
				alert("Player" + count + " name must be two more characters, must start with an uppercase and end with lowercase letters only.");
				return false;
			}
			playerCount++;
			
			var discName = "disc_color" + count;
			obj = document.getElementById(discName);
			if (discColorUsed[obj.value] == true)
			{
				alert("Player" + count + ": the color " + obj.value +" has already been used. Choose another color.");
				return false;
			}
			discColorUsed[obj.value] = true;
			players[playerCount] = name;
			playerDiscs[playerCount] = obj.value;
		}
	}
	
	if (playerCount < 1)
	{
		alert("You must register at least one player.");
		return false;
	}

	return true;
}

function clearPlayersInfo()
{
	document.playerReg.fname1.value = "";
	document.playerReg.fname2.value = "";
	document.playerReg.fname3.value = "";
	document.playerReg.fname4.value = "";
	document.playerReg.lname1.value = "";
	document.playerReg.lname2.value = "";
	document.playerReg.lname3.value = "";
	document.playerReg.lname4.value = "";
}

