function showTocToggle(y) {
	if (document.createTextNode) {
		// Uses DOM calls to avoid document.write + XHTML issues
		var linkHolder = document.getElementById('toctitle')
		if (!linkHolder)
			return;

		var outerSpan = document.createElement('span');
		outerSpan.className = 'toctoggle';

		var toggleLink = document.createElement('a');
		toggleLink.id = 'togglelink';
		toggleLink.className = 'internal';
		toggleLink.href = 'javascript:toggleToc('+y+')';
		toggleLink.appendChild(document.createTextNode(tocHideText));

		outerSpan.appendChild(document.createTextNode('['));
		outerSpan.appendChild(toggleLink);
		outerSpan.appendChild(document.createTextNode(']'));

		linkHolder.appendChild(document.createTextNode(' '));
		linkHolder.appendChild(outerSpan);

	}
}

function changeText(el, newText) {
	// Safari work around
	if (el.innerText)
		el.innerText = newText;
	else if (el.firstChild && el.firstChild.nodeValue)
		el.firstChild.nodeValue = newText;
}
  
function toggleToc(x) {
	var toc = document.getElementById('toc').getElementsByTagName('h3')[x];
	var toggleLink = document.getElementById('togglelink')
	
	if (toc && toggleLink && toc.style.display == 'block') {
		changeText(toggleLink, tocHideText);
		toc.style.display = 'none';
	} else {
		changeText(toggleLink, tocShowText);
		toc.style.display = 'block';
	}
	
}
