// Alle code copyright Daan Kroese 2007
// daankroese@gmail.com | www.daankroese.nl

function showHide (elementID, parentID) {
    var element  = document.getElementById(elementID);
    var headlink = document.getElementById(parentID);
    
    hideMenu('menublockActive');
    
    if (element.className == 'menublock') {
        element.className = 'menublockActive';
        headlink.className = 'active';
    }
    else {
        element.className = 'menublock';
        headlink.className = '';
    }
}

function hideMenu (className) {
	var menus = getElementsByClassName(className);
	for (var i = 0; i < menus.length; i++) {
		menus[i].className = 'menublock';
	}
	var heads = getElementsByClassName('active');
	for (var i = 0; i < heads.length; i++) {
		heads[i].className = '';
	} 
};

function addEvent(obj, type, fn) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	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] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
};

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	for(var i = 0; i < elements.length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
};

// redundant call to hideMenu on page load:
//addEvent (window, 'load', hideMenu);