function Power( p_aParams )
{
	this.name = p_aParams["name"];
	this.summary = ( p_aParams["summary"] ? p_aParams["summary"] : "" );
	this.description = ( p_aParams["description"] ? p_aParams["description"] : "" );
	
	this.concentration = ( p_aParams["concentration"] ? p_aParams["concentration"] : false );
	this.fatiguing = ( p_aParams["fatiguing"] ? p_aParams["fatiguing"] : false );
	this.maintenance = ( p_aParams["maintenance"] ? p_aParams["maintenance"] : false );
	this.mentalContact = ( p_aParams["mental contact"] ? p_aParams["mental contact"] : false );
	this.requirements = ( p_aParams["requirements"] ? p_aParams["requirements"] : new Array() ); // array of Requirements
}

function PowerList( p_aParams )
{
	this.name = p_aParams["name"]; // name of the feat category such as adept
	this.powers = ( p_aParams["powers"] ? p_aParams["powers"] : new Array() ); // array of power indices
}

function fInitializePowers()
{
	Powers = new Array();
	
	Powers["apport"] = new Power
	( {
		"name" : "Apport",
		"fatiguing" : true
	} );
	Powers["beast link"] = new Power
	( {
		"name" : "Beast Link",
		"concentration" : true,
		"fatiguing" : true
	} );
	
	PowerLists = new Array();
	
	PowerLists["adept"] = new PowerList
	( {
		"name" : "Adept"
	} );
	// adding every power to the adept list
	for ( key in Powers )
		PowerLists["adept"].powers.push( key );
}