	var g_menu = [];
        
	function aMenu( e_menu )
	{

		if ( typeof(e_menu)=="string" )
		{
			return g_menu[e_menu];
		}//end_ if


		//vars
		this.c_menu = e_menu;
		this.c_uuid = g_menu.length;
		this.c_timer1 = "";
		g_menu[this.c_uuid] = this;


		//func
		this.draw = function( e_object )
		{
			var l_html = "<div id='aMenu_"+this.c_uuid+"'><table border=0 class='aMenu' border=0 cellspacing=0 cellpadding=0>";
			l_html += "<tr>";
			l_html += this.draw_items();
			l_html += "</tr>";
			l_html += "</table></div>";
			e_object.html( l_html );

			var l_parent = this;
			$(".menu_item","#aMenu_"+this.c_uuid).hover( 
			function()
			{
				l_parent.mouse_over(this);
			},
			function()
			{
				l_parent.mouse_out(this);
			} );
		}//end_ func_ draw

		this.draw_items = function()
		{
			var l_result = "";
			for( var i=0; i<this.c_menu.length; i++ )
			{
				l_result += this.draw_item( this.c_menu[i] );
			}//end_ for_ i
			return l_result;
		}//end_ func

		this.draw_item = function( e_item )
		{
			var l_uuid = Math.random()*99999;
			/*id='"+l_uuid+"'
			*/
			if (e_item.href==undefined) e_item.href = "javascript: ;";

			var l_result = "";
			l_result += "<td class=\"menu_padding\">";
			//l_result += "	<div onmouseover=\"aMenu('"+this.c_uuid+"').mouse_over(this);\" onmouseout=\"aMenu('"+this.c_uuid+"').mouse_out(this);\" class=\"menu_item\">";
			l_result += "<div id='"+l_uuid+"' class=\"menu_item\">";
			//SUBMENU
			l_result += 		this.draw_subitems(e_item);
			//MENU
			l_result += "<div class=\"lala\"><a href='"+e_item.href+"'>"+e_item.name+"</a></div>";
			l_result += "</div>";

			l_result += "</td>";
			l_result += "<td width=3></td>";
			return l_result;
		}//end_ func

		this.draw_subitems = function( e_item )
		{
			var l_result = "";
			switch( e_item.type )
			{
				case "html":
					if (typeof(e_item.css)==undefined)  e_item.css = "";
					l_result += "	<div style='position:relative;z-index:800;'><div class='submenu "+e_item.css+"' style='position:absolute;z-index:800;'><div class='submenu3'>"+e_item.target.html()+"</div></div></div>";
					break;


				case "submenu":
					if (e_item.css==undefined) e_item.css = "";
					l_result += "	<div style='position:relative;z-index:800;'><div class='submenu "+e_item.css+"' style='position:absolute;z-index:800;'><div class='submenu2'>";
						//SUBMENU
						l_result += "<table border=0 border=0 cellspacing=0 cellpadding=0>";
						for( var j=0; j<e_item.target.length; j++ )
						{
							var l_item = e_item.target[j];
							if (l_item.href==undefined) l_item.href = "javascript: ;";
							if (l_item.class_name==undefined ) l_item.class_name = "";
							if (l_item.class_name) l_item.class_name = " class='"+l_item.class_name+"' ";

							l_result += "<tr><td onmouseover=\"aMenu('"+this.c_uuid+"').mouse_over2(this);\" onmouseout=\"aMenu('"+this.c_uuid+"').mouse_out2(this);\" class='submenu_item'><a "+l_item.class_name+" href='"+l_item.href+"'>"+l_item.name+"</a></td></tr>";
						}//end_ for_ j
						l_result += "</table>";
					l_result += "</div></div></div>";
					break;
			}//end_ if

			return l_result;
		}//end_ func

		this.draw_html = function( e_item )
		{
			return "HTML";
		}//end_ func

		this.hide_slowly = function(e_object)
		{		
			$(".submenu",l_temp_hideobject).slideUp("slow");
		}//end_ func

/*		this.hide_slowly = function(e_object)
		{
			$(".submenu",e_object).slideUp("slow");
		}//end_ func*/

		this.mouse_over = function(e_object)
		{
			e_object.className="menu_itema";

			clearTimeout(this.c_timer1);
			/*$(".submenu","#aMenu_"+this.c_uuid).stop();*/
			$(".submenu","#aMenu_"+this.c_uuid).css("height","");
			$(".submenu","#aMenu_"+this.c_uuid).stop();
			/*$(".submenu","#aMenu_"+this.c_uuid).hide();*/

			var l_submenu_object = $(".submenu",e_object);
			$(".submenu","#aMenu_"+this.c_uuid).each( 
				function()
				{
					if ( l_submenu_object.html()!=$(this).html() ) 
					{
						$(this).hide();
					}
				});
			l_submenu_object.slideDown("slow");
		}//end_ func
		this.mouse_out = function(e_object)
		{
			e_object.className="menu_item";

			clearTimeout(this.c_timer1);

			l_temp_hideobject = e_object;
			this.c_timer1 = setTimeout(this.hide_slowly,500);
		}//end_ func

		this.mouse_over2 = function(e_object)
		{
			e_object.className="submenu_itema";
		}//end_ func
		this.mouse_out2 = function(e_object)
		{
			e_object.className="submenu_item";
		}//end_ func


	}//end_ class_ aMenu

