/**
 * Submenu com posicionamento lateral dinamico, usando CSS Layout
 * @author Daniel Lopes <danielhenriqueslopes@gmail.com>
 */
var SubMenu = 
{
	menuSource : new Array(),
	subMenuId : null,
	initialTop : null,
	initialLeft : null,
	showCategory : false,
	
	init : function(subMenuId, initialTop, showCategory)
	{		
		this.subMenuId = subMenuId;
		this.initialTop = initialTop;
		this.showCategory = showCategory;
	},
	
	add : function(groupId, text, target, url, category)
	{
		this.menuSource[this.menuSource.length] = new Array(groupId, text, target, url, category);
	},
	
	show : function(groupId, element)
	{	
		var hasSubMenus = false;		
		document.getElementById(this.subMenuId).style.display = "none";				
		
		//posiciona submenu
		document.getElementById(this.subMenuId).style.left = element.offsetLeft + "px";
		document.getElementById(this.subMenuId).style.top = element.offsetTop + element.offsetHeight + "px";
		
		//adiciona elementos ao submenu
		document.getElementById(this.subMenuId).innerHTML = "";
		for(var i = 0; i < this.menuSource.length; i++)
		{
			if(this.menuSource[i][0] == groupId)
			{			
				if(this.showCategory && (i == 0 || this.menuSource[i][4] != this.menuSource[i-1][4]))
				{
					document.getElementById(this.subMenuId).innerHTML += "<li class=\"categoria\">" + this.menuSource[i][4] + "</li>";
				}				
				document.getElementById(this.subMenuId).innerHTML += "<li><a title=\"" + this.menuSource[i][1] + "\" class=\"subLink\" href=" + this.menuSource[i][3] + " target=" + this.menuSource[i][2] + ">" + this.menuSource[i][1] + "</a></li>";
				hasSubMenus = true;			
			}
		}
		
		if(hasSubMenus)
		{
			document.getElementById(this.subMenuId).style.display = "";
		}
	},
	
	hide : function()
	{
		document.getElementById(this.subMenuId).style.display = "none";
	}
}

/**
 * Mostra/Esconde menus
 * @author Daniel Lopes <danielhenriqueslopes@gmail.com>
 */
function showHideSubMenu(menuItemSelector, submenuSelector)
{
    $(menuItemSelector).mouseover(function() 
    {
        var parent = $(this).parent();
        $(submenuSelector).css("top", parent.offset().top + parent.height());
        $(submenuSelector).css("left", parent.offset().left);
        $(submenuSelector).stop(true).fadeTo("fast", 1);
    });
    
    $(submenuSelector).mouseover(function() 
    {
        $(submenuSelector).stop(true).fadeTo("fast", 1);
    });
    $(submenuSelector + ", " + menuItemSelector).mouseout(function() 
    {
        $(submenuSelector).fadeOut("fast");
    });
}

