// Misc. utility functions available to all pages in ap (included in master page)

function disableAfterClick(objToDisable) {    
    if (objToDisable.id != undefined && objToDisable.id != '') {
        setTimeout("document.getElementById('" + objToDisable.id + "').disabled = true;",0);              
    }
}

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;
               
          for(i=0;i<nodeCount;i++)
          {
               if(treeLinks[i].firstChild.tagName)
               {
                   if(treeLinks[i].firstChild.tagName.toLowerCase() == "img")
                   {
                       var currentToggleLink = treeLinks[i];
                       var childContainer = GetParentByTagName("table", currentToggleLink).nextSibling;
                       if (childContainer.style.display == displayState) 
                        {
                           eval(currentToggleLink.href);
                        }
                  }
               }
          }//for loop ends
      }
}

 //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;
}