/*
**************************************
* Menu v1.0                          *
* Autor: Wagner B. Soares            *
**************************************
*/
Menu = function(x,p)
{
	// id do menu
	var id = (isString(x)) ? x : null;
	// se o id não for válido, para a execução do script
	if(isNull(id)) return;
	// recebe o container do menu
	var parent = document.getElementById(p);
	//referência ao próprio objeto
	var obj = this;
	// cria o menu
	var menu = jQuery.create("ul",{"id":id,"class":"menu"},[]);
	
	// função para adicionar os itens do menu
	this.addItem = function(m,l,d,t,c)
	{
		// recebe um novo submenu
		var submenu = (!isNull(m) && obj.constructor == m.constructor) ? m : null;
		// recebe o link
		var link = (isString(l)) ? l : "#";
		// recebe o texto do link
		var descricao = (isString(d)) ? d : "link";
		// recebe o alvo do link
		var target = (isString(t)) ? t : "";
		// recebe a classe
		var style = (isString(c)) ? c : "";			
				
		// cria o item do menu
		var li = jQuery.create("li",{"class":style},["a",{"href":link,"target":target,"title":descricao},[descricao]]);
		// se existe um novo submenu, configura-o
		if(!isNull(submenu))
		{
			jQuery(li).append(submenu.getObj());
			jQuery(li).addClass("submenu");
			li.onmouseover = function(){jQuery(submenu.getObj()).show();};
			li.onmouseout = function(){jQuery(submenu.getObj()).hide();};
		}
		// adiciona o item ao menu
		jQuery(menu).append(li);
	};
	// retorna o próprio objeto
	this.getObj = function()
	{
		return menu;
	};
	// desenha o obejto na tela
	this.draw = function()
	{
		jQuery(parent).append(menu);
		jQuery("a",menu).each(function(){jQuery(this).click(function(){this.blur();})});
		jQuery("a:first","li.submenu").addClass("seta");
	};
};
/*
**************************************
* MenuBar v1.0                       *
* Autor: Wagner B. Soares            *
**************************************
*/
MenuBar = function(x,p)
{
	// id do menu
	var id = (isString(x)) ? x : null;
	// se o id não for válido, para a execução do script
	if(isNull(id)) return;
	// recebe o container do menu
	var parent = document.getElementById(p);
	//referência ao próprio objeto
	var obj = this;
	// cria o menu
	var menu = jQuery.create("ul",{"id":id,"class":"menubar"},[]);
	
	// função para adicionar os itens do menu
	this.addItem = function(m,l,d,t)
	{
		// recebe um novo submenu
		var submenu = (!isNull(m) && m.constructor == Menu) ? m : null;
		// recebe o link
		var link = (isString(l)) ? l : "#";
		// recebe o texto do link
		var descricao = (isString(d)) ? d : "link";
		// recebe o alvo do link
		var target = (isString(t)) ? t : "";
		// cria o item do menu
		var li = jQuery.create("li",{"class":"menuvertical"},["a",{"href":link,"target":target,"title":descricao},[descricao]]);
		// se existe um novo submenu, configura-o
		if(!isNull(submenu))
		{
			jQuery(li).append(submenu.getObj());
			li.onmouseover = function(){jQuery(submenu.getObj()).show();};
			li.onmouseout = function(){jQuery(submenu.getObj()).hide();};
		}
		// adiciona o item ao menu
		jQuery(menu).append(li);
	};
	// retorna o próprio objeto
	this.getObj = function()
	{
		return menu;
	};
	// desenha o obejto na tela
	this.draw = function()
	{
		jQuery(parent).append(menu);
		var w = 0;
		jQuery("li.menuvertical").each(function(){w += this.offsetWidth;});
		var h = 0;
		jQuery("li.menuvertical").each(function()
		{
			if(this.offsetHeight > h)h = this.offsetHeight;
		}).each(function()
		{
			jQuery(this).css({"height":h});
			jQuery("a:first","li.menuvertical").css({"height":h-10});
		});
		jQuery(menu).css({"width":w,"height":h});
		jQuery("ul.menu:first","li.menuvertical").css({"margin-left":-1});
		jQuery("a",menu).each(function(){jQuery(this).click(function(){this.blur();})});
	}
};