var isCollapsed = 1;

function mygroups_init(siteType)
{
	if ( document.getElementById && !document.all )
	{
		var d  = document.getElementById('menu_mygroups');
		var db = document.getElementById('dashboard_tab');
		var dbx = getX(db);
		var xoffs = siteType == "c" ? 0 : siteType == "p" ? 5 : 5;
		var yoffs = siteType == "c" ? 0 : siteType == "p" ? 2 : 0;
		if ( siteType == "p" || siteType == "e" )
		{
			d.style.left = dbx + db.clientWidth - xoffs;
			d.style.top  = parseInt(d.style.top) - yoffs;
		}
	}
}

function expand(s)
{
	var td = s;
	var d = document.getElementById('mygroups');

	if ( isCollapsed )
	{
		td.className = "menuHoverTop";
		d.className = "menuHover";
		isCollapsed = 0;
	}
}

function collapse(s)
{
	var td = s;
	var d = document.getElementById('mygroups');

    if ( !isCollapsed && isCursorOutsideMenu(s) )
	{
		td.className = "menuNormalTop";
		d.className = "menuNormal";
		isCollapsed = 1;
    }
}

function isCursorOutsideMenu(s)
{
	if ( document.getElementById && !document.all )
		return true;

	var td = s;
	var d = document.getElementById('mygroups');
	var returnValue = true;
	var mx = window.event.offsetX + getX(event.srcElement);
	var my = window.event.offsetY + getY(event.srcElement);
	var left, top, right, bottom;

	if ( isMenuItem(event.srcElement) )
	{
		left = getX(d);
		top  = getY(d) - td.clientHeight;
		right = getX(d) + d.clientWidth;
		bottom = getY(d) + d.clientHeight;
	}
	else
	{
		left = getX(td);
		top  = getY(td);
		right = getX(td) + td.clientWidth;
		bottom = getY(td) + td.clientHeight + d.clientHeight;
	}

	if ( (mx >= left && mx <= right) && (my >= top && my <= bottom) )
		returnValue = false;

	return returnValue;
}

function isMenuItem(oElement)
{
	var returnValue = false;

	while( oElement != null )
	{
		if ( oElement.id == 'mygroups' )
		{
			returnValue = true;
			break;
		}
		else
			oElement = oElement.offsetParent;
	}

	return returnValue;
}

function getX( oElement )
{
	var iReturnValue = 0;

	while( oElement != null )
	{
		iReturnValue += oElement.offsetLeft;
		if ( oElement.id == 'div_mygroups' )
			break;
		else
			oElement = oElement.offsetParent;
	}

	return iReturnValue;
}

function getY( oElement )
{
	var iReturnValue = 0;

	while( oElement != null )
	{
		iReturnValue += oElement.offsetTop;
		if ( oElement.id == 'div_mygroups' )
			break;
		else
			oElement = oElement.offsetParent;
	}

	return iReturnValue;
}
