// pageToc.js
//
// Ensure all H1, H2 and H3 headings are added to the page table of contents
//

function createTOC()
{
  // find the nodes to be added to the Page TOC
  var tocTargets = new Array()
  nodes = document.getElementById('maincontent').childNodes
  for (var i = 0; i < nodes.length; i++) {
    nn = nodes[i].nodeName
    if (nn == "H6" || nn == "H3" || nn == "H4" || nn == "H5") {
      tocTargets.push(nodes[i])
    }
  }

  tocDiv = document.getElementById('toc')

  // Remove toc if none or one heading
  if (tocTargets.length <= 1) {
    tocDiv.parentNode.removeChild(tocDiv)
    return;
  }

  // Add the toc contents
  tocDiv = document.getElementById('toc')
  //tocDiv.innerHTML= "<h5>Page Contents </h5>"
  tocList = document.createElement('ul')
  tocList.className = "pageToc"
  tocDiv.appendChild(tocList)
  // Insert elements into our table of contents
  for (var i = 0; i < tocTargets.length; i++) {
    tocTarget = tocTargets[i]
    if (tocTarget.id == '') {
      tocTarget.id = 'pageToc' + i
    }
    newItem = document.createElement('li')
    newItem.className = "pageToc" + tocTarget.nodeName
    newLink = document.createElement('a')
    newLink.href = '#' + tocTarget.id
    newLink.innerHTML = tocTarget.innerHTML
    newItem.appendChild(newLink)
    tocList.appendChild(newItem)
  }  
}