
function panelList()
{
	this.addItem     = addItem;
	this.setStatus   = setStatus;
	this.togglePanel = togglePanel;
	this.expandImg   = "/img/panels/expand.gif";
	this.collapseImg = "/img/panels/collapse.gif";
	this.items       = Array();

	return this;
}

function addItem(itemName, iPersist, initStatus)
{
	this.items[itemName] = Array(iPersist,initStatus,itemName);

	this.setStatus(itemName, initStatus);
}

function setStatus(itemName, iStatus)
{
	var objControl = document.getElementById("control_" + itemName);
	var objContent = document.getElementById("content_" + itemName);

	if( objControl && objContent )
	{
		if( iStatus )
		{
			objControl.style.backgroundImage = "url(" + this.collapseImg + ")";
			objContent.style.display = 'block';
			this.items[itemName][1] = 1;
		}
		else
		{
			objControl.style.backgroundImage = "url(" + this.expandImg + ")";
			objContent.style.display = 'none';
			this.items[itemName][1] = 0;
		}
	}
}

function togglePanel(itemName)
{
	var itemData = this.items[itemName];

	if( itemData )
	{
		if( itemData[1] )
		{
			this.setStatus(itemName, 0);
		}
		else
		{
			// close any none persistant items
			for(var currItem in this.items)
			{
				if( currItem != itemName && !this.items[currItem][0] )
					this.setStatus(currItem,0);
			}

			this.setStatus(itemName, 1);
		}
	}
}
