function AIPlayerBase(name, race, homeworld)
{
	this.Construct(name, race, homeworld);
}
AIPlayerBase.prototype = new Player();
AIPlayerBase.prototype.type = "AIPlayerBase";
AIPlayerBase.className = "AIPlayerBase";
Player.Classes["AIPlayerBase"] = AIPlayerBase;

AIPlayerBase.prototype.Plan = function()
{
	// TODO - Override me
}



// Virtual Methods.  Override these in derived AI classes to avoid stupidity!

AIPlayerBase.prototype.ShouldColonize = function(planet)
{
	if (planet.populationMax > 10)
	{
		return true;
	}
	else
	{
		// TODO - find a better way to convey "only colonize small planets if they're your only option"
		if (Math.random() < 0.1)
		{
			return true;
		}
	}
	return false;
}




// Useful stuff for AI players


/// Colonize any planets that we like the look of.  
AIPlayerBase.prototype.ColonizePlanets = function()
{
	for (var a=0; a<this.Fleets.length; a++)
	{
		var fleet = this.Fleets[a];
		//if (fleet.CanColonize() && (!shouldColonizeFunction || shouldColonizeFunction(fleet.planet)))
		if (fleet.CanColonize() && this.ShouldColonize(fleet.planet))
		{
			// TODO: should?
			fleet.Colonize(fleet.planet);
		}
	}
}


