if (document.all?false:true) document.captureEvents(Event.MOUSEMOVE);

var mouseX = 0;
var mouseY = 0;

document.onmousemove = function (e) {
	if (document.all?true:false) {
		mouseX = event.clientX + document.body.scrollLeft;
		mouseY = event.clientY + document.body.scrollTop;
	} else {
		mouseX = e.pageX;
		mouseY = e.pageY;
	}
	if (mouseX < 0) mouseX = 0;
	if (mouseY < 0) mouseY = 0;
	return true;
};

function hideMenuDelay(object){
	var object = document.getElementById(object);
	if (object.style.display != 'none')
	object.timer = window.setTimeout("hideMenu('"+object.id+"')", 1000);
}

function hideMenu(id){
	var object = document.getElementById(id);
	object.style.display = 'none';
}

function abortHideMenuDelay(object){
	var object = document.getElementById(object);
	window.clearTimeout(object.timer);
}

function openMenu(menuid){
	var menu = document.getElementById(menuid);
	menu.style.top = mouseY+'px';
	menu.style.left = mouseX+'px';
	menu.style.display = "block";
	if (document.body.clientHeight - mouseY < menu.offsetHeight)
		menu.style.top = (mouseY - menu.offsetHeight) + 'px';
	if (document.body.clientWidth - mouseX < menu.offsetWidth)
		menu.style.left = (mouseX - menu.offsetWidth) + 'px';
}

// XHTML Strict zegt dat het target attribuut bij links niet meer is toegestaan.
// Deze functie voegt dit attribuut dynamisch toe, zodat het document valideerd
function setTarget(name, value) {
	for(var a = 0; a < document.links.length; a++) {
		if(document.links[a].name == name)
			document.links[a].target = value;
	}
}

// Voeg de events toe voor het menu
//		menulink = De link waarop geklikt wordt om het menu te openen (ID)
//		menuid = Het menu zelf (ID)
function initMenu(menulink, menuid){
	var menulink = document.getElementById(menulink);
	var menu = document.getElementById(menuid);
	if(window.addEventListener){ // Mozilla, Netscape, Firefox
		menulink.addEventListener('click', function(){openMenu(menuid); return false;}, false);
		menu.addEventListener('mouseover', function(){abortHideMenuDelay(menuid); return false;}, false);
		menu.addEventListener('mouseout', function(){hideMenuDelay(menuid); return false;}, false);
	} else { // IE
		menulink.attachEvent('onclick', function(){openMenu(menuid); return false;});
		menu.attachEvent('onmouseover', function(){abortHideMenuDelay(menuid); return false;});
		menu.attachEvent('onmouseout', function(){hideMenuDelay(menuid); return false;});
	}
}
