// Some of this code was based on a tutorial at:
// http://www.quirksmode.org/js/events_mouse.html		

// Check if this element is contained in the element with the specified id.
function isChildNode(elt, parentid)
{
	var o = elt;
	
	if (o == null) return(false);

	// Go through all parents until you hit the "body" element or there's an ID match.
	while (o.id != parentid && o.nodeName != 'BODY')	
		o = o.parentNode					

	if (!o.id) return(false);
	if (o.id == parentid) return(true);
	
	return(false);	
}

function GetTarget()
{
	if (!e) var e = window.event;		
	var target = (e.relatedTarget) ? e.relatedTarget : e.toElement;			
	return(target);
}

function HideMenu(e) 
{								
    var target = GetTarget();	
	var child = isChildNode(target, 'menu');				
	if (child) return;		
		
	// Hide the menu.	
	var obj = GetMenuObject();
	obj.style.visibility = 'hidden';											
}

function HideThemeMenu(e) 
{								
	var target = GetTarget();	
	var child = isChildNode(target, 'menu-theme');			
	
	if (child) return;		
		
	// Hide the menu.	
	var obj = GetThemeMenuObject();
	obj.style.visibility = 'hidden';											
}

function GetMenuObject()
{
	var obj = document.getElementById("menu");																											
	return(obj);
}

function GetThemeMenuObject()
{
	var obj = document.getElementById("menu-theme");
	return(obj);
}

function GetThemeMenuFrameObject()
{
	var obj = document.getElementById("menu-theme-frame");
	return(obj);
}

function CloseOpenMainMenu()
{			
	var obj = GetMenuObject();	
	if (obj == null) return;
	
	obj.style.visibility = 'hidden';		
}

function CloseOpenThemeMenu()
{			
	var obj = GetThemeMenuObject();	
	if (obj == null) return;
	
	obj.style.visibility = 'hidden';
	
	var oFrame = GetThemeMenuFrameObject();		
	if (oFrame == null) return;				
	
	oFrame.visibility = 'hidden';
}

function ShowMenu()
{	
	CloseOpenThemeMenu();

	var obj = GetMenuObject();
	
	if (obj.style.visibility == 'visible')
		obj.style.visibility = 'hidden';
	else	
		obj.style.visibility = 'visible';				
}

function ToggleVisibility(obj)
{
	if (obj.style.visibility == 'visible')
		obj.style.visibility = 'hidden';
	else	
		obj.style.visibility = 'visible';
}

function ShowThemeMenu()
{		
	var obj = GetThemeMenuObject();
		
	ToggleVisibility(obj);		
						
	var oFrame = GetThemeMenuFrameObject();			
	
	if (oFrame == null) return;
	
	oFrame.visibility = obj.visibility;				
}

function StartPage()
{		
	var menu = GetMenuObject();		
	document.body.onclick = CloseAllMenus;			    	
}

function ThemeStartPage()
{    
    StartPage();
    var menu = GetThemeMenuObject();	
    document.body.onclick = CloseAllMenus;
}

function CloseAllMenus()
{        
    return;
    
    var target = GetTarget();        

    CloseOpenThemeMenu();            
    
    var menu = GetMenuObject();    
    HideMenu(menu);    
}
