function initDisplay () {
	var divs = document.getElementsByTagName('DIV');
	
	for (var i=0;i<divs.length;i++) {
		if (divs[i].className == 'displayHeader') {
			divs[i].onclick = toggleDisplay;	
		}
	}
	
	var hrefs     = document.getElementsByTagName('A');
	var fragRegex = /\#(fragment\-\d+)$/;

	var def       = undefined;
	
	for (var i=0;i<hrefs.length;i++) {
		if (hrefs[i].href && fragRegex.test(hrefs[i].href)) {
			if (def == undefined) {
				def = i;	
			}
			
			hrefs[i].onclick = toggleDisplayPanel;
		}
	}
	
	toggleDisplayPanel.call(hrefs[def]);
}

function toggleDisplayPanel () {
	
	var fragRegex = /\#(fragment\-\d+)$/;
	var npanelID  = undefined;
	var npanel    = undefined;
	var panel     = undefined;
	
	if (this.href && fragRegex.test(this.href)) {
		npanelID = RegExp.$1;
		npanel   = document.getElementById(npanelID);	
	}
	
	if (window.panelID != undefined) {
		panel = document.getElementById(window.panelID);
		window.panelLink.style.color = '';
	}
		
	if (panel != undefined && npanel != undefined && window.panelID != npanelID) {
		panel.style.display='none';
	}

	if (npanel != undefined && window.panelID != npanelID) {
		npanel.style.display='inline';
		window.panelID=npanelID;
		window.panelLink=this;
		window.panelLink.style.color="#990000";
	}
}

function toggleDisplay () {
	var hdrNode = this;
	var bdyNode = null;
			
	var divs    = this.parentNode.getElementsByTagName('DIV');
					
	for (var i=0;i<divs.length;i++) {
		if (divs[i].className == 'displayBody') {
			bdyNode = divs[i];
			break;
		}
	}
		
	if (hdrNode != null && bdyNode != null) {
		// toggle displayHeader
		var h3s = hdrNode.getElementsByTagName('H3');
			
		for (var i=0;i<h3s.length;i++) {
			if (h3s[i].className == 'displayExpandButton') {
				h3s[i].className = 'displayCollapseButton';
				break;
			} else if (h3s[i].className == 'displayCollapseButton') {
				h3s[i].className = 'displayExpandButton';
				break;
			} else if (h3s[i].className == 'displayNewExpandButton') {
				h3s[i].className = 'displayNewCollapseButton';
				break;
			} else if (h3s[i].className == 'displayNewCollapseButton') {
				h3s[i].className = 'displayNewExpandButton';
				break;
			}
		}
			
		// Toggle displayBody
		if (!bdyNode.style.display) { bdyNode.style.display = 'none'; }	
		
		bdyNode.style.display = (bdyNode.style.display == 'none') ? 'block' : 'none';
	}
}
