var NewGame = {}

NewGame.GetUniverseSize = function()
{
	return NewGame.universeSizeSlider.getWeightedValue(40, 12);
}
NewGame.GetPlanetCount = function()
{
	return NewGame.planetCountSlider.getWeightedValue(100, 10);
}
NewGame.GetPlayerCount = function()
{
	return NewGame.playerCountSlider.getWeightedValue(10, 2);
}
NewGame.GetPlayerRaceIndex = function()
{
	return Util.ForceInt(Util.GetSelectValue(Client.obj.playerRace));
}


NewGame.SliderChange = function()
{
	NewGame.RenderBoundedSlider(NewGame.universeSizeSlider, Client.obj.universeSize, 12, 40, "parsec");
	NewGame.RenderBoundedSlider(NewGame.planetCountSlider, Client.obj.planetCount, 10, 100, "star");
	NewGame.RenderBoundedSlider(NewGame.playerCountSlider, Client.obj.playerCount, 2, 10, "player");
}

NewGame.RenderBoundedSlider = function(slider, box, min, max, itemName)
{
	min = Math.floor(min);
	max = Math.floor(max);
	var current = Math.round(slider.value * (max-min) / 100);
	
	// TODO - pluralizations
	box.innerHTML = (current + min) + " " + itemName + "s";

	if (max == 0 || current == 0)
	{
	}
	else
	{

		var percentage = Math.round(current/(max-min) * 100);
		slider.setValue(percentage, true);
	}
}

NewGame.StartGame = function()
{
	Client.obj.startup.style.display = "none";
	Client.obj.game.style.display = "block";
	
	Client.Init();
	Client.StartGame();
	
}

NewGame.Init = function()
{
	Client.Sniff("startup", "game", "universeSize", "universeSizeSlider", "planetCount", "planetCountSlider", "playerCount", "playerCountSlider", "playerRace");
	NewGame.universeSizeSlider = new Slider(Client.obj.universeSizeSlider, 20);
	NewGame.planetCountSlider = new Slider(Client.obj.planetCountSlider, 11);
	NewGame.playerCountSlider = new Slider(Client.obj.playerCountSlider, 50);

	NewGame.universeSizeSlider.onChange = NewGame.SliderChange;
	NewGame.planetCountSlider.onChange = NewGame.SliderChange;
	NewGame.playerCountSlider.onChange = NewGame.SliderChange;
	
	Client.obj.playerRace.options.length = 0;
	for (var a=0; a<Player.Races.length; a++)
	{
		Client.obj.playerRace.options[a] = new Option(Player.Races[a], a, false, false);
	}
	Client.obj.playerRace.selectedIndex = 0;

	NewGame.SliderChange();
}

