<!--

var parentMenuItems = new Array();
var GROUP_PREFIX = "ItemGroup";

/**
 * Toggles the display property of the children of a parent menu item.
 **/ 
function changeVisibility(parentItemId)
{

    var objId = GROUP_PREFIX + parentItemId;
    
    if(document.layers)	   //For NN4+ browsers
    {
       if (document.layers[objId].display=="") {
          document.layers[objId].display="none";
       } else {
          document.layers[objId].display="";
       }
    }
    else if(document.getElementById)	  //For gecko(NN6) and IE 5+ browsers
    {
        var obj = document.getElementById(objId);
        if (obj.style.display == "") {
          obj.style.display = "none";
        } else {
          obj.style.display = "";
        }
    }
    else if(document.all)	// For IE 4 browsers
    {
        if (document.all[objId].style.display=="") {
          document.all[objId].style.display = "none";
        } else {
          document.all[objId].style.display = "";
        }
    }
}

/**
 * Object-like definition of ParentMenuItem
 **/ 
function ParentMenuItem(itemId, linkURL, linkText, initiallyExpanded){
 this.itemId = itemId;
 this.linkURL = linkURL;
 this.linkText = linkText;
 this.childrenItems = new Array();
 this.initiallyExpanded = initiallyExpanded;
} 

/**
 * Object-like definition of ChildMenuItem
 **/
function ChildMenuItem(linkURL, linkText){
 
 this.linkURL = linkURL;
 this.linkText = linkText;
}

/**
 * Writes the HTML code for a parent menu item.
 **/ 
function writeParentMenuItem(item) { 

  var imageClassName = "menuLinksPijl";
  var onClickCode = '';
  var hideChildrenCode = " style='display:none' ";
  
  if (item.childrenItems.length>0) {
    // Display a different icon if menu as children
    imageClassName = "menuLinksPijlPlus"
    
    if (item.initiallyExpanded) {
      hideChildrenCode = " ";
    }
    
    onClickCode = " onClick='changeVisibility("+ item.itemId +")";
    
    if (item.linkURL=="") {
      //If there is no url specified, no link behaviour
      onClickCode += ";return false"
    }
    onClickCode +="'";
  }
  
  str = "<div class='menuLinksItem'> <a " + onClickCode + "href='"+ item.linkURL + "' target='content' tabindex=102 ><img class='" + imageClassName + "' src='img/shim.gif' width=8 height=10 border=0>&nbsp;"+ item.linkText +"</a></div>";
  document.write(str);
  
  document.write("<div "+ hideChildrenCode +" id='"+ GROUP_PREFIX + item.itemId +"'>");
  
  // Write children
  for (var i = 0; i < item.childrenItems.length; i++)
   {
      writeChildMenuItem(item.childrenItems[i]);
   }
   
  document.write("</div>");
   
}

/**
 * Writes the HTML code for a child menu item.
 **/ 
function writeChildMenuItem(item) { 

  str = "<div class='menuLinksItem'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='"+ item.linkURL + "' target='content' tabindex=102 ><img class='menuLinksPijl' src='img/shim.gif' width=8 height=10 border=0>&nbsp;"+ item.linkText +"</a></div>";
  document.write(str);

}

/**
 * Builds the menu, writing the corresponding HTML code.
 **/ 
function buildMenu() {

  for (var i = 0; i < parentMenuItems.length; i++)
   {
      writeParentMenuItem(parentMenuItems[i]);
   }

}

/**
 *  Adds a parent menu item. That is, a menu item that may contain children (nested) menu items.
 *    - linkURL: url for the link. If the item will contain children, the url can be "". In that case, clicking the item will only collapse/expand the child items.
 *    - linkText: display text of the link
 *    - initiallyExpanded (optional), by default False. Determines if the item should initially appear expanded or not. That is, showing its child items or not. 
 **/ 
function addParentMenuItem(linkURL, linkText, initiallyExpanded) {
    if (!initiallyExpanded) {
      var initiallyExpanded = false;
    }
    var pos = parentMenuItems.length;
    // The itemId is set to the pos in the array
    var newParentItem = new ParentMenuItem(pos, linkURL, linkText, initiallyExpanded);
    
    parentMenuItems[pos] =  newParentItem
}

/**
 * Adds a child menu item. That is, a menu item that is nested below another (parent) menu item.
 *    - linkURL: url for the link. 
 *    - linkText: display text of the link
 *    - The item is added to the last added parent menu item 
 *   
**/ 
function addChildMenuItem(linkURL, linkText) {
    
    var newChild = new ChildMenuItem(linkURL, linkText);
    // The parent is the last added parent menu item  
    var parent = parentMenuItems[parentMenuItems.length-1];
    var pos = parent.childrenItems.length;
    parent.childrenItems[pos] = newChild;
}


// -->



