
function buildTOC()
 {
 var coll = document.all;
 var level;
 var id;
var strURL = window.location;

 // skip TOC if # id navigation found
 if (strURL.toString().indexOf("#", 0) != -1)
  return;

 for (i=document.body.sourceIndex+1; i<coll.length; i++) {
 switch (coll[i].tagName) {
 case "H1":
 level = 0;
 break;
 case "H2":
 level = 1;
 break;
 case "H3":
 level = 2;
 break;
 case "H4":
 level = 3;
 break;
 case "H5":
 level = 4;
 break;
 case "H6":
 level = 5;
 break;
 default:
 level = -1;
 }
 if (level!=-1) {
 id = i;
 setAnchor(coll[i], id);
 i++;
 setLink(coll[i], level, id);
 i+=2;
 }
 }

MyTOC.insertAdjacentHTML('afterBegin', '<h1>Table of Contents</h1>');
}

function setAnchor(el, id) {
 el.insertAdjacentHTML('BeforeBegin', '<a name="' + id + '">');
 el.insertAdjacentHTML('AfterEnd', '</a>');
}

function setLink(el, level, id) {
 MyTOC.insertAdjacentHTML('BeforeEnd', '<br/>');
 var s = "&nbsp;";
 for (j=0; j<level; j++)
  s = s + "&nbsp;&nbsp;&nbsp;";
  MyTOC.insertAdjacentHTML('BeforeEnd',
  s + '<a href="#' + id + '">' + el.innerText + '</a>');
}

