function nextLevel(nodeList, startIndex, hlevel, prefix, tocString) { var hIndex = 1; var i = startIndex; while (i < nodeList.length) { var currentNode = nodeList[i]; if (currentNode.tagName != "H"+hlevel) break; if (currentNode.className == "no-toc") { ++i; continue; } var sectionString = prefix+hIndex; // Update the TOC var text = currentNode.innerHTML; // Strip off names specified via var tocText = text.replace(/([^<]*)<\/a>/g, "$1"); tocString.s += "
  • "+sectionString+""+tocText+"
  • \n"; // Modify the header currentNode.innerHTML = ""+sectionString+" "+text; currentNode.id = sectionString; // traverse children i = nextLevel(nodeList, i+1, hlevel+1, sectionString+".", tocString); hIndex++; } return i; } function generateTOC(toc) { var nodeList = $("h2,h3,h4,h5,h6"); var tocString = { s:"