addEvent(window, 'load', et_init);
var et_toggleElements = [];

/* Initialisation */
function et_init() {
    var i, collUl;
    collUl = document.getElementsByTagName("UL");
	for (i = 0; i<collUl.length; i++) {
		if (/\bsubnav\b/.exec(collUl[i].className)) {
			if (/\bopen\b/.exec(collUl[i].className)) {
				collUl[i].style.display = 'block';
			} else {
				collUl[i].style.display = 'none';
			}
			collUl[i].parentNode.firstChild.onclick = et_toggle;
        }
	}
}

function et_toggle(e) {
    /* Adapted from http://www.quirksmode.org/js/events_properties.html */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return true;
    }
    /* For most browsers, targ would now be a link element; Safari however
       returns a text node so we need to check the node type to make sure */
    if (source.nodeType == 3) {
        source = source.parentNode;
    }
	var subMenu = source.parentNode.childNodes[2];
	if (source.nodeName == "A" && (/\bsubnav\b/.exec(subMenu.className))) {
		subMenu.style.display = (subMenu.style.display == "block") ? "none" : "block";
	}
    return false;
}

function addEvent(obj, evType, fn){
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
	    return false;
    }
}
