(function(){

/*
	Class: ContainerBar
	*Subclass of <SliderBar>*

	Description:
	The main Bar for holding Container <BarItem>s	
*/
function ContainerBar()
{
	this.classname = "SB.ui.ContainerBar";

	SBui.ContainerBar.superclass.constructor.call(this);

	SButil.EventManager.addListener("ContainerAdded", onContainerAdded, this);
	SButil.EventManager.addListener("AutoLoadBox", onAutoLoad, this );
}

//ContainerItem extends BarItem.  
YAHOO.lang.extend( ContainerBar, window['SB']['ui']['SliderBar']);

ContainerBar.prototype.setConfig = function( inConfig )
{
	this.boxbar = inConfig.boxbar;

	SBui.ContainerBar.superclass.setConfig.call(this, inConfig);

};

function onContainerAdded(inEvent, inArgs)
{
	var container = new SBCore.Container();
	container.setConfig({ id:inArgs[0].id, name:inArgs[0].name  });

	var containerItem = new SBui.ContainerItem();
	containerItem.setConfig( {  id:"sb_ui_baritem_container", 
			   	 title: inArgs[0].name,
			 	pallet_id: inArgs[0].id, 
			 	container_obj: container 
			       } );

	this.addItem( containerItem );
}

/*
	Function: addItem
	A simple method to add a <BarItem> into the Bar
*/
ContainerBar.prototype.addItem = function( inItem )
{
	SBui.ContainerBar.superclass.addItem.call(this, inItem);

	var width = parseInt(this.contentHtmlObj.style.width);	

	//Add additional buffer for activation view
	this.contentHtmlObj.style.width = (width + 30) + "px";
};

ContainerBar.prototype.findContainer = function( inId )
{
	for( var i = 0; i < this.contents.size(); i++ )
	{
		if( this.contents.get(i).container_obj.id == inId )
			return this.contents.get(i);
	}
};

function onAutoLoad( inEv, inArgs )
{
	var container = this.findContainer( inArgs[0].container_id );
	if( container ) 
	{
		container.loadBoxes();
	
		var box = container.findBoxItem( inArgs[0].id );
		if( box ) box.loadItems();
	}
}

window['SB']['ui']['ContainerBar'] = ContainerBar;

})();
