// JavaScript Document

function JS_Menu(Id) {
	this.ID = Id;
	this.JS_AddMenuItem = JS_AddMenuItem;
	this.initializeMenu = initializeMenu;
	this.JS_SetParentObject = JS_SetParentObject;
	this.JS_ShowMenu = JS_ShowMenu;
	this.JS_HideMenu = JS_HideMenu;
	this.JS_ClearMenu = JS_ClearMenu;

	this.Menu = null;
	this.Menu = this.initializeMenu();
	
	function initializeMenu()
	{
		var div = document.createElement('div');
		div.setAttribute("id",this.ID);
		div.className = 'menu';
		//div.style.left = this.LeftPos + "px";
		//div.style.top = this.TopPos + "px";
		div.style.display = 'none';
		//this.e.cancelBubble = true;
		document.body.appendChild(div);
		Event.observe(div,'mouseover',clearhidemenu);
		Event.observe(div,'mouseout',delayhidemenu);
		Event.observe(document.body,'click',hidemenu);
		return div;
	}
	function JS_SetParentObject(parObj)
	{
		pos = Position.page(parObj);
		this.LeftPos = pos[0];
		this.TopPos = pos[1] + 18;
		$(this.ID).style.left = this.LeftPos + "px";
		$(this.ID).style.top = this.TopPos + "px";
	}
	function JS_AddMenuItem(text,link,css)
	{
		var css = css || 'menuitem';
		var div = document.createElement('div');
		var a = document.createElement('a');
		a.href = link;
		a.innerHTML = text;
		div.appendChild(a);
		div.className = css;
		this.Menu.appendChild(div);
	}
	function JS_ClearMenu()
	{
		var ce = $(this.ID).childElements();
		for (i=ce.length - 1;i>=0;i--)
			ce[i].remove();
	}
	function JS_ShowMenu()
	{
		$(this.ID).show();
	}
	function JS_HideMenu()
	{
		$(this.ID).hide();
	}
	return this;
}
function delayhidemenu(){
	delayhide=setTimeout("hidemenu()",300);
}
function clearhidemenu(){
	if (typeof delayhide!="undefined")
		clearTimeout(delayhide)
}
function hidemenu()
{
	var menus = $$('div.menu');
	for(i=0;i<menus.length;i++)
		menuTO = $(menus[i]).hide();		
}
