

Event.observe(window, "load", init_toc);

var top_link = "<a href=\"faq#top\" class=\"top_link\"><span>Back to Top</span>" + 
"<img src=\"images/topArrow.gif\" alt=\"Back to Top\"></a>";
function init_toc() {
	var toc_container = $('faq_toc');
	if(toc_container) {
		toc_container.innerHTML = make_toc();
	}
	var rules= {
		'dd' : function (element) {
				if(Element.hasClassName(element.parentNode, "toc_content"))
				{
					new Insertion.Bottom(element, top_link);
				}

}

};
	Behaviour.register(rules);
	Behaviour.apply();
}

function make_toc() {
	var elements = document.getElementsByTagName("*");
	var length = elements.length + 20;
	var i = 0;
	var toc = "";
	var depth = 0;
	var element;
	var link_to;
	var link_end = "</a>";
	var link_from;
	var target;
	var top_link = "<a href=\"faq#top\" class=\"top_link\">Back to Top</a>";
	for(i = 0; i <= length; i++)
	{
		element = elements[i];
		target = "faq_" + i;
		link_to = "<a href=\"faq#" + target + "\">";
		link_from = "<a name=\"" + target + "\"></a>";
		switch(element.nodeName) {
		case "H1":
			toc += "<strong>Table Of Contents</strong>" + "<br>";
			break;
		case "H2": 
			if(depth > 0) {
				toc += "</ol></li><br><br>";
				depth--;
			}
			toc += "<span>" + link_to + element.innerHTML + link_end + "</span>";
			new Insertion.Top(element, link_from);
			depth++;
			break;
		case "DT":
			if(Element.hasClassName(element.parentNode, "toc_content"))
			{
				toc += "<br>" + link_to + element.innerHTML + link_end + "</li>";
			new Insertion.Top(element, link_from);
			}
			break;
		default: 
			break;
		}
	}
	toc += "</ol>";
	return toc;
}
