function buildTOC() {
    var coll = document.all;
    var level;
    var id;
    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;
        }
    }
}

function setAnchor(el, id) {
    el.insertAdjacentHTML("BeforeBegin", "<A NAME=\"" + id + "\">");
    el.insertAdjacentHTML("AfterEnd", "</A>");
}

function setLink(el, level, id) {
    document.all.MyTOC.insertAdjacentHTML("BeforeEnd", "");
    var s = "&nbsp;";
    for (j=0; j < level; j++);
        s += s;
    document.all.MyTOC.insertAdjacentHTML("BeforeEnd", s + 
    "<A HREF=\"#" + id + "\">" + el.innerText + "</A>\n<hr>");
}
