/**
 * The eganu top dashboard
 *
 * @author Eric S
 * @copyright Atarim Group LTD.
 * @version 1.3.1 26/09/2007
 *
 */

/** Constructor */
function DashBoard(elementId,userId,activeB)
{
	var _id = elementId;
	var myself = this;
	/* Default highlighted color */
	var highlightColor = 'pink';
	var darkColor = null; // will be picked on startup

	// default items
	this.menuItems =	new Array(6);
	if (userId)
	{
		var mypage = "/people/card.php?id=" + userId;
		this.menuItems[0] = [['Mail','/mail/'],['Manage Profile','/people/backend.php'],['Design Page','/people/backend.php?mode=design'],['Log out','/logouter.php?action=1']];
	}
	else
	{
		var mypage = '/register/?';
		this.menuItems[0] =  [['Register as Member',mypage+'mode=user'],['Register as Musician',mypage+'mode=band'],['Having problems?','/register/?mode=verify']];
	}
	this.menuItems[1] = [['My Friends',mypage+'&mode=people'],['New','/people/?mode=new'],['Popular','/people/?mode=popular']]
	this.menuItems[2] = [['Musician search','/music/search.php']];
	this.menuItems[3] = null;
	this.menuItems[4] = [['My blog',mypage+'&mode=blog'],['Write Post',mypage+'&mode=editblog']],
	this.menuItems[5] = [['My Gallery',mypage+'&mode=gallery'],['Upload new picture','/people/backend.php?mode=uppic']],

	this.links = new Array();
	this.buttonImages = new Array();
	this.imageNames = new Array();
	this.menu = null;

	var container = $(elementId);

	var cells = container.getElementsByTagName('td');
	var link = null; // when searching for a link in a cell
	
	for (var i=0;i<cells.length;i++)
	{
		if (cells[i].id == 'dashButton')
		{
			link = cells[i].getElementsByTagName('a');
			this.buttonImages.push(cells[i].getElementsByTagName('img')[0]);
			link[0].id = i;
			this.links.push(link[0]);
		}
		else if (cells[i].id == 'dashMenu')
		{
			cells[i].id = null;
			this.menu = cells[i];
		}
	}

	// assign functions for buttons, and also prepare image names arrays
	var splitPoint;
	darkColor = this.links[1].style.color;
	for (var i=0;i<this.links.length;i++)
	{
		if (this.links[i] == null) continue;
		this.links[i].onmouseover  = onButton;
		this.imageNames[i] = new Array(2);
		this.imageNames[i][0] = this.buttonImages[i].src;
		splitPoint = this.imageNames[i][0].lastIndexOf('.');
		this.imageNames[i][1] = this.imageNames[i][0].substr(0,splitPoint)
								+ '_down' + this.imageNames[i][0].substr(splitPoint);
//		alert(this.imageNames[i][0] + ',' + this.imageNames[i][1]);
	}
	// memclean
	mypage = link = splitPoint = tempImageName = cells = container = null;
	
	/* ### METHODS ### */
	this.setHighlightColor = function(color) { highlightColor = color; }
	function onButton(evt)
	{
		dimButtons();
		myself.selectButton(this.id);
	}

	this.selectButton = function(n)
	{
		this.buttonImages[n].src = this.imageNames[n][1];
		this.links[n].style.color = highlightColor;
		if (this.menuItems[n] == null) return;
		var tempText = new Array();
		for (var i=0;i<this.menuItems[n].length;i++)
		{
			tempText[tempText.length] = "<a class='searchgreen' href='"+this.menuItems[n][i][1]+"'>"+this.menuItems[n][i][0]+"</a>";
		}
		this.menu.innerHTML = tempText.join(' || ');
	}
	// activate selected button	
	if (activeB === '0' || activeB > 0) this.selectButton(activeB);	
	function dimButtons()
	{
		for (var i=0;i<myself.links.length;i++)
		{
			myself.buttonImages[i].src = myself.imageNames[i][0];
			myself.links[i].style.color = darkColor;
		}
		myself.menu.innerHTML = '&nbsp;';
	}
}