////////////////////////////////////////////////////////////////////////
//////
////// StreamGroup Management
//////

var arrayStreamGroups			= new Array;
var areStreamGroupsLoaded		= false;

function StreamGroup( id, areaid, gpsid, name, description, previewimg )
{
	//
	// Object methods
	//
	this.AddStreamToGroup = AddStreamToGroup;
	//
	// Object properties
	this.m_id 				= id;
	this.m_areaid 			= areaid;
	this.m_gpsid 			= gpsid;
	this.m_name				= name;
	this.m_description		= description;
	this.m_previewimg		= previewimg;
	
	this.m_aStreams			= new Array;
	//
	// Create a truck object
	new TruckInfo( this.m_gpsid, name, description );
	//
	// Register
	arrayStreamGroups [ this.m_id ] = this;
}

function AddStreamToGroup( stream )
{
	this.m_aStreams[ this.m_aStreams.length ] = stream;
	debugInfo( "Added Stream "+this.m_aStreams.length+" to Group "+this.m_name );
}

function findStreamGroupById( id )
{
	for ( var oId in arrayStreamGroups )
	{
		var o = arrayStreamGroups[oId];
		if ( o != null && o.m_id == id )
			return o;
	}
	return null;
}

function OnLoadedStreamGroups( jsonArray )
{
	//
	var oObjects = eval(jsonArray);
	//
	if ( HasErrorProperty( oObjects) )
		return null;
	//
	count = 0;
	//
	//
	for ( var oId in oObjects)
	{
		var oObject = oObjects[oId];
	
		oStream = new StreamGroup(
				oObject.m_id,
				oObject.m_areaid,
				oObject.m_gpsid,
				oObject.m_name,
				oObject.m_description,
				oObject.m_previewimg
			);			

		count++;
	}
	areStreamGroupsLoaded = true;
}

function LoadAllStreamGroups()
{
	DAO( DAOAPI_GETALLSTREAMGROUPS, "OnLoadedStreamGroups", null);
}
