function debug(msg) {
	document.getElementById("debug").innerHTML = msg;
}

function getElementsByClassName(baseElement,className) {
	var foundElements = new Array();
	var elements = baseElement.getElementsByTagName("*");
	for (var i=0; i<elements.length; i++) {
		var regEx = new RegExp("(^|\\s)"+className+"(\\s|$)","i");
		if ((elements[i].className)&&(elements[i].className.match(regEx))) foundElements.push(elements[i]);
	}
	return foundElements;
}

function getParentByTagName(baseElement,tagName) {
	var element = baseElement.parentNode;
	while ((element.nodeName.toLowerCase()!=tagName.toLowerCase())&&(element.nodeName.toLowerCase()!="#document")) element=element.parentNode;
	return element;
}

// EVENT RELATED
function attachEvent(element,event,func,capture) {
	event = event.replace(/^on/i,"");
	if (element.addEventListener)
		element.addEventListener(event,func,capture);
	else if (element.attachEvent)
		element.attachEvent('on'+event,func);
}

function getTargetElement(event) {
	if (event.originalTarget) return event.originalTarget;
	if (event.srcElement) return event.srcElement;
}
function getRelatedElement(event) {
	if (event.relatedTarget) return event.relatedTarget;
	if (event.toElement) return event.toElement;
}

function addToClass(element,str) {
	var regEx = new RegExp("(^|\s)"+str+"(\s|$)","i");
	if (element.className) {
		if (!regEx.test(element.className)) element.className += " "+str;
	} else {
		element.className = str;
	}
}
function delFromClass(element,str) {
	var regEx = new RegExp("(^|\\s)"+str+"(\\s|$)","i");
	if ((element.className)&&(regEx.test(element.className))) { element.className = element.className.replace(regEx," "); if (element.className == " ") element.removeAttribute("class"); }
}


// MENU
var menutimer = 0;

function submenu(idx) {
	var menuitems = document.getElementById("menubar").getElementsByTagName("a");
	for (var i=0; i<menuitems.length; i++) { var sub = document.getElementById("menuitem_"+i); if (sub) { if (i==idx) sub.style.display="block"; else sub.style.display="none"; } }
}
function submenuOff() {
	menutimer = 0;
	var menus = document.getElementsByClassName("submenu");
	for (var i=0; i<menus.length; i++) menus[i].className = "submenu";
}
function hover(event) {
	event=event?event:window.event;
	var targetElement = getTargetElement(event);
	var parentElement = getParentByTagName(targetElement,"li");
	addToClass(parentElement,"hover");

	var menuitems = document.getElementById("menubar").getElementsByTagName("a");
	for (var i=0; i<menuitems.length; i++) { if (menuitems[i]==targetElement) var idx=i; }

	submenu(idx);
}
function unhover(event) {
	event=event?event:window.event;
	var tabs = document.getElementById("menubar").getElementsByTagName("li");
	// controleer waarin de muis de tab verlaat
	var element = getRelatedElement(event);
	var moSubmenu = false; var moHasSubmenu = false;
	while (element.nodeName.toLowerCase()!="body") {
		if ((element.id)&&(element.id.match(/^submenubar/i))) { moSubmenu = true; }
		if ((element.id)&&(element.id.match(/^menuitem_/i))&&(element.style.display=="block")) { moHasSubmenu = true; }
		element = element.parentNode;
	}
	// verberg mouseover indien nodig
	if (!(moSubmenu&&moHasSubmenu)) {
		for (var i=0; i<tabs.length; i++) delFromClass(tabs[i],"hover");
		submenu(-1);
	}
}
function initializeMenu() {
	var tabs = document.getElementById("menubar").getElementsByTagName("ul")[0].getElementsByTagName("a");
	for (var i=0; i<tabs.length; i++) {
		var ldiv = document.createElement("div");
		var rdiv = document.createElement("div");
		ldiv.style.cssText = "position:absolute;top:0;left:-1px;width:6px;height:32px;background:url(/siteimg/menu_shadow_l.gif) no-repeat 0 0;";
		rdiv.style.cssText = "position:absolute;top:0;right:-1px;width:6px;height:32px;background:url(/siteimg/menu_shadow_r.gif) no-repeat 0 0;";
		ldiv.className = "edge";
		rdiv.className = "edge";
		tabs[i].appendChild(ldiv);
		tabs[i].appendChild(rdiv);
		attachEvent(tabs[i].parentNode,"mouseover",hover,false);
		attachEvent(tabs[i].parentNode,"mouseout",unhover,false);
	}
	var sub = document.getElementById("submenubar");
	attachEvent(sub,"mouseout",unhover,false);
}


/* NIEUWS */

function closeNewsItems() {
	var newsitems = getElementsByClassName(document.getElementById("nieuws"),"item");
	for (var i=0; i<newsitems.length; i++) delFromClass(newsitems[i],"open");
}
function closeNewsItem(event) {
	closeNewsItems();
	event=event?event:window.event;
	var anchor   = event.srcElement?event.srcElement:event.originalTarget;
	var newsitem = anchor; while (!newsitem.className.match(/item/i)) newsitem=newsitem.parentNode;
	delFromClass(newsitem,"open");
}
function openNewsItem(event) {
	closeNewsItems();
	event=event?event:window.event;
	var anchor   = event.srcElement?event.srcElement:event.originalTarget;
	var newsitem = anchor; while (!newsitem.className.match(/item/i)) newsitem=newsitem.parentNode;
	addToClass(newsitem,"open");
}

