/*=========================================================================*/

 var TreeMenuElementState = new Array();
 var TreeMenuTopMenus = new Array();
 var TreeMenuRootElements = new Array();

/*=========================================================================*/


function MenuElementAddRoot(id)
{
    TreeMenuRootElements[id] = id;
}
/*-------------------------------------------------------------------------*/
function MenuElementAddParent(id,MenuElementParentId,lvl)
{
 var indx = TreeMenuTopMenus.length; 
    TreeMenuTopMenus[id] = new Array();
    TreeMenuElementState[id] = 1;
}
/*-------------------------------------------------------------------------*/
function MenuElementAddNode(MenuElementId,MenuElementParentId,lvl)
{
 var indx = 0;
 if(TreeMenuTopMenus[MenuElementParentId])
    indx = TreeMenuTopMenus[MenuElementParentId].length;
    TreeMenuTopMenus[MenuElementParentId][indx] = MenuElementId;      
}
/*-------------------------------------------------------------------------*/
function GetMenuElement(MenuElementId)
{
    //alert(id);
    return document.getElementById(MenuElementId);
}
/*-------------------------------------------------------------------------*/
function MenuElementToggle (MenuElementParentId)
{ 
 if(TreeMenuElementState[MenuElementParentId]==2)
 {
   MenuElementShow(MenuElementParentId);
   for(MenuElementId in TreeMenuRootElements)
    if(TreeMenuRootElements[MenuElementParentId] && MenuElementId!= MenuElementParentId)
      ElementHide(MenuElementId);
 }  
 else
  if(TreeMenuElementState[MenuElementParentId]==1)
   ElementHide(MenuElementParentId);  
}
/*-------------------------------------------------------------------------*/
function TreeMenuHideAll()
{
 if(TreeMenuTopMenus)
  for(MenuElementId in TreeMenuTopMenus)
   ElementHide(MenuElementId);
}
/*-------------------------------------------------------------------------*/
function ElementHide(MenuElementParentId)
{

    if(TreeMenuTopMenus[MenuElementParentId])
    {  
      //var Obj;
      var Oid;
      TreeMenuElementState[MenuElementParentId] = 2;  
      for(MenuElementId in TreeMenuTopMenus[MenuElementParentId])
      {      
      Oid = TreeMenuTopMenus[MenuElementParentId][MenuElementId];
      if(TreeMenuTopMenus[Oid])
        ElementHide(Oid);      
       ElementObject= GetMenuElement(Oid);             
       if(ElementObject)
        ElementObject.style.display='none';      
      }    
    }
}
/*-------------------------------------------------------------------------*/
function MenuElementShow(MenuElementParentId)
{
    if(TreeMenuTopMenus[MenuElementParentId])
    {  
      var Obj;
      var Oid;  
      TreeMenuElementState[MenuElementParentId] = 1;
      
      for(MenuElementId in TreeMenuTopMenus[MenuElementParentId])
      {
       Oid = TreeMenuTopMenus[MenuElementParentId][MenuElementId];           
       ElementObject= GetMenuElement(Oid);
       if(ElementObject)            
         ElementObject.style.display = '';             
      }    
    }
}
/*-------------------------------------------------------------------------*/
