﻿// JScript File

    // Function to Collapse & Expand Treeview...
    function TreeviewExpandCollapseAll(treeViewId, expandAll)
    {
      var displayState = (expandAll == true ? "none" : "block");
      var treeView = document.getElementById(treeViewId);
      if(treeView)
      {
          var treeLinks = treeView.getElementsByTagName("a");
          var nodeCount = treeLinks.length;
          var flag = true;
          for(i=0;i<nodeCount;i++)
          {
               if(treeLinks[i].firstChild.tagName)
               {
                   if(treeLinks[i].firstChild.tagName.toLowerCase() == "img")
                   {
                     var node = treeLinks[i];
                     var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                     var childContainer = GetParentByTagName("table", node).nextSibling;
                    if(flag)
                     {
                         if(childContainer.style.display == displayState)
                         {
                             TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                         }
                         flag = false;
                     }
                     else
                     {
                            if(childContainer.style!=null)
                         if(childContainer.style.display == displayState)
                             TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                     }
                  }
               }
          }//for loop ends
      }
      return false;
}

 //utility function to get the container of an element by tagname
function GetParentByTagName(parentTagName, childElementObj)
{
   var parent = childElementObj.parentNode;
   while(parent.tagName.toLowerCase() != parentTagName.toLowerCase())
   {
      parent = parent.parentNode;
   }
 return parent;
}          



// Another method to Expand and Collapse for Treeview...

function expandAll(treeViewId)
    {
            //TreeView_ToggleNode(usersidemenu_TreeView1_Data,3,document.getElementById('usersidemenu_TreeView1n3'),' ',document.getElementById('usersidemenu_TreeView1n3Nodes'));
         var treeView = document.getElementById(treeViewId);
         var treeLinks = treeView.getElementsByTagName("a");
         var j = true;
         for(i=0;i<treeLinks.length;i++)
         {
              if(treeLinks[i].firstChild.tagName == "IMG")
              {
                var node = treeLinks[i];
                var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                var childContainer = document.getElementById(treeLinks[i].id + "Nodes");
               if(j)
                {
                    if(childContainer.style.display == "none")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                    j = false;
                }
                else
                {
                    if(childContainer!=null)
                    if(childContainer.style.display == "none")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                }
              }
          }
   } 
   
   function collapseAll(treeViewId)
    {
//        TreeView_ToggleNode(usersidemenu_TreeView1_Data,0,document.getElementById('usersidemenu_TreeView1n0'),' ',document.getElementById('usersidemenu_TreeView1n0Nodes'));
         var treeView = document.getElementById(treeViewId);
         var treeLinks = treeView.getElementsByTagName("a");
         var j = true;
         for(i=0;i<treeLinks.length;i++)
         {
              if(treeLinks[i].firstChild.tagName == "IMG")
              {
                var node = treeLinks[i];
                var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                var childContainer = document.getElementById(treeLinks[i].id + "Nodes");
               if(j)
                {
                    if(childContainer.style.display == "block")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                    j = false;
                }
                else
                {
                    if(childContainer!=null)
                    if(childContainer.style.display == "block")
                    TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                }
              }
          }
   } 
   function expandnode()
   {
        var nodeid=document.getElementById("hidemenuid").value;
        var dispstate = document.getElementById("usersidemenu_TreeView1n"+nodeid+"Nodes");
        if (dispstate.style.display=="none")
        {
            TreeView_ToggleNode(usersidemenu_TreeView1_Data,nodeid,document.getElementById('usersidemenu_TreeView1n'+nodeid),' ',document.getElementById('usersidemenu_TreeView1n'+nodeid+'Nodes'));
        }
   }
