/* Subtopic script.  Created by Bart Joris */

function getNextNode (node, startNode)
{
   if (node.firstChild != null)
   {
      return node.firstChild;
   }
   else if (node.nextSibling != null)
   {
      return node.nextSibling;
   }
   else
   {
      while (node.nextSibling == null && node != startNode)
      {
         node = node.parentNode;
      }
      if (node == startNode)
      {
	 return null;
      }
      else
      {
	 return node.nextSibling;
      }
   }
}

function walkTree (startNode, callback )
{
   var node;

   node = startNode;
   while ((node=getNextNode(node, startNode)) != null)
   {
      callback(node);
   }
}


function applyProperties (node)
{
   if (node.className == "subtpContent")
   {
      node.style.height="0px";
      node.style.overflow="hidden";
   }
   if (node.className == "subtpHide")
   {
      node.setAttribute("onClick","hideSubTopic(this)");
   }
   else if (node.className == "subtpTitle")
   {
      node.setAttribute("onClick","showSubTopic(this)");
   }

}

function initializeSubTopics(){
   var i,j,k;
   var elem;

   subtopics=document.getElementsByName("subtp");
   for (i=0; i<subtopics.length; i++)
   {
      walkTree(subtopics.item(i), applyProperties);
   }
}

function showSubTopic(subtopic)
{
   var i
   for (i=0; i<subtopic.parentNode.childNodes.length; i++)
   {
      elem=subtopic.parentNode.childNodes[i];
      if (elem.className == "subtpContent")
      {
	 elem.style.height="";
      }
   }
}

function hideSubTopic(subtopic)
{
   var i;
   for (i=0; i<subtopic.parentNode.parentNode.childNodes.length; i++)
   {
      elem=subtopic.parentNode.parentNode.childNodes[i];
      if (elem.className == "subtpContent")
      {
	 elem.style.height="0px";
      }
   }
}

if (window.addEventListener)
window.addEventListener("load", initializeSubTopics, false)
else if (window.attachEvent)
window.attachEvent("onload", initializeSubTopics)
else
window.onload=initializeSubTopics


