/*******************************************************************************
*
*	TopMenuRenderer.js
*
*******************************************************************************/

/*******************************************************************************
* CONSTRUCTOR
*******************************************************************************/
function TopMenuRenderer(menu)
{
	//alert(menu);
	if (arguments.length != 1)
	{
		//throw new Error("Usage: TableMenuRenderer(menuObject)");
	}
	else
	{
		document.writeln('<div id="bitbase_menu" style="background-color:red;">div</div>');
		this._processMenu(menu);	
	}
}


/*******************************************************************************
* EXTEND
*******************************************************************************/
TopMenuRenderer.extendClass(TableMenuRenderer);


TopMenuRenderer.prototype._renderFirstLevel = function(menu)
{
	var node = this._renderHSubMenuTable(menu);
}

TopMenuRenderer.prototype._renderSecondLevel = function(menu)
{

	var node = this._renderVSubMenuTable(menu);


	node.style.left = menu._parentMenuItem._getLeft();
	node.style.top = menu._parentMenuItem._getBottom();
	
	node.style.visibility = "hidden";
}



TopMenuRenderer.prototype._renderDefaultLevel = function(menu)
{
	var node = this._renderVSubMenuTable(menu);
	node.style.left = menu._parentMenuItem._getRight();
	node.style.top = menu._parentMenuItem._getTop();	
	
	node.style.visibility = "hidden";

}




// INHERITED


TopMenuRenderer.prototype._renderVSubMenuTable = function(subMenu)
{
	var node = this._renderDivTableContainerElement(subMenu);
	
	for (var i = 0; i < subMenu._getMenuItemsCount(); i++)
	{
		// TABLE ROW
		var tr = createBitbaseNodeElement('TR');
		node.firstChild.appendChild(tr);		
		
		var td = this._renderHtmlTdElement(subMenu._menuItems[i]);
		
		tr.appendChild(td);
	} 

	document.getElementById('bitbase_menu').appendChild(node);
	
	
	// TABLE MOUSE OUT
	var mouseOutHandler = function(e)
	{
		if (!e) var e = window.event;
			
		var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
			
		// Hide this element if we leave the whole menu
		if (! reltg.bitbaseMenuItem)
		{
			this._getRootMenu()._hideAll();
		}
	}
	this.regEvent(subMenu, node, "mouseOutHandler", mouseOutHandler, "onmouseout");
	
	//alert(node);
	return node;

}
