try {
	document.addEventListener('click', handleClick, false);
} catch(e) {
	if(document.attachEvent) {
		document.attachEvent('onclick', handleClick);
	} else {
		document.onclick = handleClick;
	}
}


function handleClick(e) {
	var event = e || window.event;
	if(event.which && event.which != 1) return true;
	target = event.target || event.srcElement;
	if (document.getElementById('selected')!= null) {
		if (document.getElementById('selected').getElementsByTagName('ul') != null) {
			var item = document.getElementById('selected').getElementsByTagName('ul');
			for(var i=0;i<item.length;i++){
				item[i].style.display = 'none';
			}
		}
	}
	if(!target) {
		return true;
	}
	if (target.id == 'selected' || target.parentNode.id == 'selected') {
		document.getElementById('selected').id = '';
	} else {
		if (target.className == 'selectable' || target.className == 'selectable over') {
			if (document.getElementById('selected')) {
				document.getElementById('selected').id = '';
			}
			target.id = 'selected';
		}
		if (target.parentNode.className == 'selectable' || target.parentNode.className == 'selectable over') {
			if (document.getElementById('selected')) { // haal huidige geselecteerde op
				document.getElementById('selected').id = '';
			}
			target.parentNode.id = 'selected';
		}
		// zet de display van de submenu's op none
	}
	if (document.getElementById('selected')!= null) {
		if (document.getElementById('selected').getElementsByTagName('ul') != null) {
			var item = document.getElementById('selected').getElementsByTagName('ul');
			for(var i=0;i<item.length;i++){
				item[i].style.display = 'block';
			}
		}
	}
	return true;
}

function SetFocus() {
	
}

function parseLists() {
	if (document.all&&document.getElementById) {
		menuRoot = document.getElementById("left_menu");
		searchForLIs(menuRoot);
 	} 	
}

/* Recursive function. Searches the childs of the passed object for LI's or UL's. 
   When found they are passed to this function again. LI's are also given 2 events (mouseover / mouseout). */

function searchForLIs(objectReference) {
	for (var i=0; i < objectReference.childNodes.length; i++) {
		node = objectReference.childNodes[i];
		switch (node.nodeName) {
			case "LI": {
				node.onmouseover = function() {
					this.className += " over";
  				}
  				node.onmouseout = function() {
  					this.className = this.className.replace(" over", "");
   				}				
				searchForLIs(node);	
				break;
			}
			case "UL": {
				searchForLIs(node);
				break;
			}		
		}
	}
	return;
}

window.onload = function() { 
	if(document.all && document.getElementById) {
		// browser is explorer
		parseLists();
	}
};