menus = new Array();
menus[0] = 'home_menu';
menus[1] = 'mission_menu';
menus[2] = 'members_menu';
menus[3] = 'teachers_menu';
menus[4] = 'events_menu';
menus[5] = 'contact_us_menu';

function getPageRect(elementId)
{
	var rect = {x: 0, y: 0, width: 0, height: 0}
	var element;
	if(document.all) element = document.all[elementId];
	else if(document.getElementById) element = document.getElementById(elementId);
	if(element)
	{
		rect.width = element.offsetWidth;
		rect.height = element.offsetHeight;
	}
	while(element)
	{
		rect.x += element.offsetLeft;
		rect.y += element.offsetTop;
		element = element.offsetParent;
	}
	return rect;
}

function printCoords(elementId) {
	alert(elementId);
	var coords = getPageRect(elementId);
	alert('x: ' + coords.x + ', y: ' + coords.y + ', width: ' + coords.width + ', height: ' + coords.height);
}

function openPopup(elementId)
{
	clearAllMenus();
	var coords = getPageRect(elementId);
	var element;
	if(document.all) element = document.all[elementId + '_popup'];
	else if(document.getElementById) element = document.getElementById(elementId + '_popup');
	if(element)
	{
		element.style.position = 'absolute';
		element.style.left = coords.x + 'px';
		element.style.top = (coords.y + coords.height) + 'px';
		element.style.display = 'block';
	}
}

function clearMenus(event) {
	if(clearMenusCheck(event)) clearAllMenus();
}

function clearMenusCheck(event)
{
	for(var i = 0; i < menus.length; i++)
	{
		var elementId = menus[i];
		if(isPointInRect({x: event.clientX, y: event.clientY},getPageRect(elementId + '_popup')) ||
			isPointInRect({x: event.clientX, y: event.clientY},getPageRect(elementId))) return false;
	}
	return true;
}

function clearAllMenus() {
	for(var i = 0; i < menus.length; i++)
	{
		var elementId = menus[i];
		var element;
		if(document.all) element = document.all[elementId + '_popup'];
		else if(document.getElementById) element = document.getElementById(elementId + '_popup');
		if(element) element.style.display = 'none';
	}
}

function isPointInRect(point,rect)
{
	return point.x >= rect.x && point.y >= rect.y && point.x - rect.x <= rect.width && point.y - rect.y <= rect.height;
}
