function OpenParent(obj)
{
    try
	{
		obj.style.display = 'block';
        obj.style.visibility = 'visible';
        obj.firstChild.className += ' active';
        if(obj.parentNode.nodeName.toUpperCase() != "DIV") OpenParent(obj.parentNode);
	}
	catch(e)
	{
        
    }
}
function OpenChild(obj)
{
	try
	{
		for(var i = 0; i<obj.childNodes.length; i++)
		{
			if(obj.childNodes[i].nodeName.toUpperCase() != "UL") OpenChild(obj.childNodes[i]);
			else 
			{
				obj.childNodes[i].style.display = 'block';
				obj.childNodes[i].style.visibility = 'visible';
				return;
			}
		}
	}
	catch(e)
	{
		
	}
}
function CloseChildren(obj)
{
    var children = obj.childNodes;
    for(var i = 0; i<children.length; i++)
    {
        if(children[i].nodeName.toUpperCase() == "UL")
        {
			try
			{
				children[i].style.display = 'none';
				children[i].style.visibility = 'hidden';
			}
			catch(e)
			{
				
			}
        }
        CloseChildren(children[i]);
    }
}
function CloseAll(rootobj)
{
    var nodes = rootobj.childNodes;
    for(var i = 0; i<nodes.length; i++)
    {
		try
		{
			nodes[i].style.visibility = 'hidden';
			nodes[i].style.display = 'none';
		}
		catch(e)
		{
			
		}
    }
}
function GetObjectByTagNameDrillDown(obj, str)
{
	var returnobj;
	for(var i = 0; i<obj.childNodes.length; i++)
	{
		if(obj.childNodes[i].nodeName.toUpperCase() != str.toUpperCase()) return obj;
		else 
		{
			if(obj.childNodes.length > 0) return GetObjectByTagNameDrillDown(obj.firstChild, str);
		}
	}
	return null;
}
function GetObjectByTagNameDrillUp(obj, str)
{
	var returnobj;
	for(var i = 0; i<obj.childNodes.length; i++)
	{
		if(obj.childNodes[i].nodeName.toUpperCase() != str.toUpperCase()) return obj;
		else 
		{
			if(obj.childNodes.length > 0) returnobj = GetObjectByTagNameDrillUp(obj.parentNode, str);
		}
	}
	return returnobj;
}

function GetParent(obj)
{
	return obj.parentNode;
}
function InitMenu(divid)
{
    var rootobj = document.getElementById('Group0');
    
	if(Trim(divid) !='')
	{
		if(rootobj) 
		{
			CloseAll(rootobj);
			CloseChildren(rootobj);
		}
		
		var targetobj = document.getElementById(divid);
		
		if(targetobj) 
		{
			OpenParent(targetobj);
			OpenChild(targetobj);
			
			
			//------------------ BEGIN Header Init -------------------//
			var headerobject = null;
			var tempobj =  targetobj;
			
			while(headerobject == null)
			{
				if(targetobj.className.indexOf('Level0') >= 0 || tempobj.className.indexOf('Level0') >= 0) headerobject = tempobj;
				else tempobj = GetParent(tempobj);
				
				if(tempobj.id == 'Group0') headerobject = -1;
			}
			
			if(headerobject != -1) 
			{
				var headerthingy = document.getElementById('head' + headerobject.id);
				if(headerthingy) 
				{
					var anchor = GetObjectByTagNameDrillDown(headerthingy, 'A');
					if(anchor) 
					{
						anchor.className += " active";
						var span = GetObjectByTagNameDrillDown(anchor, 'SPAN');
						if(span) 
						{
							span.className += " activespan";
						}

					}
				}
			}
			//------------------ END Header Init -------------------//
		}
	}
    rootobj.parentNode.style.display = 'block';
}

function Trim(sInString) 
{
      return sInString.split("\n").join("").split("\r").join("").split("\t").join("").split(" ").join("");
}

