var submenus = new Array();
var timer;

function init() 
{
	//resizeElements();
	//window.onresize = resizeElements;
}

function getBodySize() 
{
	var w = -1;
	if (window.innerWidth) 
		w = window.innerWidth;
	else 
	{
		if (document.body && document.body.clientWidth) 
			w = document.body.clientWidth;
	}
	var h = -1;
	if (window.innerHeight) 
		h = window.innerHeight;
	else 
	{
		if (document.documentElement) 
			h = document.documentElement.offsetHeight;
		else 
		{
			if (document.body && document.body.offsetHeight) 
				h = document.body.offsetHeight;
		}
	}
	return [w, h];
}

function getElement(elementId) 
{
	return (document.getElementById) ? document.getElementById(elementId) : document.all.elementId;
}

function showMenu(parentObj, id, level) 
{
	clearTimer();
	hideMenus(level);
	
	var submenu = submenus[id];
	if (!submenu)
		submenu = getElement('cid'+id);
	if (!submenu) // || level == 1
		return;
	
	var pos = findPos(parentObj);
	var l = pos[0];
	var t = pos[1];
	if (level == 1)
	{
		t += 32;
		//hideMenus();
	}
	else
		l += parentObj.offsetWidth + 3;
	submenu.style.left = l + "px";
	submenu.style.top = t + "px";
	submenu.style.zIndex = level;
	submenu.style.visibility = "visible";
	
	if (!submenus[id])
		submenus[id] = submenu;
}

function hideMenus(level)
{
	if (!level)
		level = 0;
	for (var id in submenus)
	{
		var submenu =submenus[id];
		var l = (document.all) ? submenu.style.getAttribute('zIndex', 'false') : submenu.style.zIndex;
		if (l > level-1)
			submenu.style.visibility = "hidden";
	}
}

function clearTimer()
{
	window.clearTimeout(timer);
}

function setTimer()
{
	timer = window.setTimeout("hideMenus()", 500);
}

function findPos(obj) 
{
	var left = 0;
	var top = 0;
	if (obj.offsetParent) 
	{
		left = obj.offsetLeft;
		top = obj.offsetTop;
		while (obj = obj.offsetParent) 
		{
			left += obj.offsetLeft;
			top += obj.offsetTop;
		}
	}
	return [left, top];
}

function toggleVisibility(id, posObj)
{
	var obj = getElement(id);
	if (!obj)
		return;
		
	if (obj.style.visibility == 'hidden')
	{
		if (posObj)
		{
			var pos = findPos(posObj);
			obj.style.left = pos[0] +'px';
			obj.style.top = (pos[1]+14) +'px';
		}
		obj.style.visibility = 'visible';
	}
	else
		obj.style.visibility = 'hidden';
}