var _mm = 3; // menus max
var _to = null;
var i;
for (i = 0; i < _mm; i++)
	document.write('<div id="level_' + i + '" class="menu" onmouseout="_to=setTimeout(\'hm()\', 200);" onmouseover="clearTimeout(_to);"></div>');

/*
	t => text
	m => sub-menu index
	u => url
*/
var _ml = -1;

function hl(el, hl)
{
	if (hl)
		el.style.backgroundColor = "#E0E0E0";
	else
		el.style.backgroundColor = "transparent";
}

function hm(n)
{
	var i;
	if (!n)
		n = 0;
//	window.status = n;
	for (i = n; i < _mm; i++)
		document.getElementById("level_" + i).style.display = 'none';
}

function sm(el, n, e)
{
	if (typeof(_m[n]) == "undefined")
		return;
		
	var x = el.offsetWidth - 5, y = 5, elem = el, level = 0;
	if (el.tagName.toLowerCase() == 'area') // !!!
	{
		if (!e)
			e = window.event;
		x = e.clientX;
		y = e.clientY;
		level = 0;
	}	
	else
		while (elem)
		{
			if (elem.tagName.toLowerCase() == 'div')
			{
				var a = elem.getAttribute('id').split('_');
				level = parseInt(a[a.length-1]) + 1;
			}
			x += parseInt(elem.offsetLeft);
			y += parseInt(elem.offsetTop);
			elem = elem.offsetParent;
		}

	var i, html = '<table cellpadding="3" cellspacing="0" class="menu">';
	for (i in _m[n])
	{
		var bSub = false;
		if (typeof(_m[n][i]['m']) != 'undefined' && typeof(_m[_m[n][i]['m']]) != 'undefined')
			bSub = true;
		html += '<tr ' + (typeof(_m[n][i]['u'])=='undefined'?'':'onclick="window.location=\'' + _m[n][i]['u'] + '\'"') + 'onmouseover="hl(this, true);' + (bSub?'sm(this, \'' + _m[n][i]['m'] + '\')':('hm(' + level + 1 + ')')) + ';" onmouseout="hl(this, false);">';
		html += '<td nowrap><b style="color: #ff6600;">' + _m[n][i]['t'].charAt(0) +'</b><b>' + _m[n][i]['t'].substring(1) + '</b></td><td class="sm">';
		if (bSub)
			html += '&raquo;';
		html += '</td></tr>';
	}
	html += '</table>';

	var div = document.getElementById("level_" + level);
	div.innerHTML = html;
	div.style.left = x;
	div.style.top = y;
	hm(level);
	var dw = parseInt(document.body.offsetWidth) - 25;
	div.style.display = 'block';
	var mw = parseInt(div.offsetWidth);
	div.style.left = mw + x <= dw ? x : (level > 0 ? x - mw - el.offsetWidth + 10 : dw - mw);
}
