/*
addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
*/
function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

var NetRToggle = {
	init: function(containerClass,triggerElement) {
		if (!(document.createElement && document.getElementsByTagName)) return;
		var arrTogglerContainers = getElementsByClassName(document, '*', containerClass);
		var oTrigger, oLink, arrTriggerElements;
		for (var i = 0; i < arrTogglerContainers.length; i++) {
			arrTriggerElements = arrTogglerContainers[i].getElementsByTagName(triggerElement);
			for (var j = 0; j < arrTriggerElements.length; j++) {
				oTrigger = arrTriggerElements[j];
				NetRToggle.getNextSibling(oTrigger).className = 'structural';
				oLink = document.createElement('a');
				oLink.href = '#';
				oLink.appendChild(oTrigger.firstChild);
				oLink.onclick = NetRToggle.toggle;
				oTrigger.appendChild(oLink);
			}
		}
	},
	getNextSibling: function(elm) {
		do elm = elm.nextSibling;
		while (elm && elm.nodeType != 1);
		return elm;
	},
	toggle: function() {
		var oElm = NetRToggle.getNextSibling(this.parentNode);
		oElm.className = (oElm.className == 'structural' ? '' : 'structural' );
		return false;
	}
};
addEvent(window, 'load', function(){NetRToggle.init('toggle','dt');});