window.menu = new menu();

function menu()
{
	this.on       = false;
	this.last     = false;
	this.parent   = false;
	this.time     = false;
}

function menuDisplay(parent, menu, isClick, alignLeft, alignTop, leftOffset, topOffset)
{

	menuOpen();

	if(isClick)
	{
		window.menu.on = true;
	}
	
	if(window.menu.on)
	{
		menuHide(false);
		parent.className='selected';
		o=document.getElementById(menu);

		if(alignLeft == 1)
		{
			x=menuGetX(parent) + leftOffset;
			o.style.left=x+'px';
			o.style.right=null;
		}
		else
		{
			x=document.body.offsetWidth - menuGetX(parent) - parent.offsetWidth - leftOffset;
			o.style.right=x+'px';
		}

		if(alignTop == 1)
		{
			y=menuGetY(parent);
		}
		else
		{
			y=menuGetY(parent) + parent.offsetHeight;
		}
		
		o.style.top=(y + topOffset)+'px';		
		o.style.visibility='visible';
		window.menu.parent=parent;
		window.menu.last=o;
	}
	else
	{
		window.menu.parent=parent;
		parent.className='hover';	
	}
}

function menuOpen()
{
	if(window.menu.time)
	{
		clearTimeout(window.menu.time);	
	}
}

function menuClose()
{
	if(!window.menu.on)
	{
		window.menu.parent.className='item';
	}
	window.menu.time = setTimeout("menuHide(true)", 500);
}

function menuHide(timed)
{
	if(window.menu.on && window.menu.last)
	{
		window.menu.last.style.visibility='hidden';
		window.menu.parent.className='item';
		if(timed)
		{
			window.menu.on = false;	
		}
	}
}

function menuHover(obj)
{
	obj.className='hover';		
}

function menuNormal(obj, cn)
{
	obj.className=cn;
}

function menuSelect(form, action)
{
	f=document.forms.item(form);
	f.action = action;
	f.submit();
}


function menuGetX (img, alignLeft) { 
    var x = 0;
	if (!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = img;
		var lastOffset = 0;
		while(par){
			if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);
			if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);
			if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (img.x) x += img.x;
	return x;
}

function menuGetY (img) {
    var y = 0;
	if(!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = img;
		var lastOffset = 0;
		while(par){
			if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);
			if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);
			if( par.offsetTop != 0 ) lastOffset = par.offsetTop;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}		
	} else if (img.y >= 0) y += img.y;
	return y;
}