function submenuHighlight(oid) 
{	
	
	var menu_ul 	= document.getElementById('mainMenu');
	var a_tags 		= menu_ul.getElementsByTagName('a');	
	var re 			= new RegExp("oid=" + oid + "$");
	for(var i=0; i<a_tags.length; i++)
	{
		thisHref = a_tags[i].href;
		if(a_tags[i].href.match(re))
		{
			a_tags[i].style.color = '#3C3C3C';
			a_tags[i].style.fontWeight = 'bold';
			a_tags[i].parentNode.style.listStyleType = 'circle';
			break;	
		}
	}
}

function js_in_array(the_needle, the_haystack){
        var the_hay = the_haystack.toString();
        if(the_hay == ''){
            return false;
        }
        var the_pattern = new RegExp(the_needle, 'g');
        var matched = the_pattern.test(the_haystack);
        return matched;
    }

function showSubmenu(oid, ul_color)
{
	
	// init
	var activeItem = oid;
	var activeObj = document.getElementById('li_' + activeItem);
	var mainMenuObj = document.getElementById('mainMenu');
	
	// dev...
	//mainMenuObj.style.display = 'block';
	//alert('Pauze');

	// functie waarmee een nieuwe lijst gebouwd kan worden
	function createNewMenu(parentArray, childsArray)
	{
		var closeExtraUl = false;
		var html = '<ul style="color:' + ul_color + ';list-style-type:disc;;">';
		if(parentArray.length == 1)
		{
			html += '<li><a href="'+parentArray[0][1]+'">'+parentArray[0][0]+'</a></li>';
			html += '<ul style="color:' + ul_color + '">';
			var closeExtraUl = true;
		}
		for(var i=0; i<childsArray.length; i++)
		{
			html += '<li><a href="' + childsArray[i][1] + '">' + childsArray[i][0] + '</a></li>';
		}
		if(closeExtraUl) html += '</ul>';
		html += '</ul>';
		return html;
	}

	// is er een level verder in de actieve li-node?
	var tmp = activeObj.getElementsByTagName('UL');
	var last_level = tmp.length > 0 ? false : true;
	if(last_level)
	{
		// selecteer alle a-nodes uit de li-nodes die zich op
		// hetzelfde level als de actieve li-node bevinden.
		var bArray = new Array;
		var bKey = 0;
		var parentUl = activeObj.parentNode;
		var liNodes = parentUl.getElementsByTagName('LI');
		for(var i=0; i<liNodes.length; i++)
		{
			if(liNodes[i].parentNode.id == parentUl.id)
			{
				 bArray[bKey] = new Array(liNodes[i].getElementsByTagName('A')[0].innerHTML,liNodes[i].getElementsByTagName('A')[0].href);
				 bKey++;
			}
		}
		
		// kijk of er een level voor het huidige actieve level zit,
		// dus kijk of de parent-ul-node van de huidige actieve li-node
		// zich in een li element bevindt.
		var aArray = new Array;
		if(parentUl.parentNode.tagName == 'LI' || parentUl.parentNode.tagName == 'UL')
		{
			var mainParent = activeObj.parentNode.parentNode.getElementsByTagName('A')[0];
			aArray[0] = new Array(mainParent.innerHTML, mainParent.href);
		}

		// exporteer het nieuwe menu
		mainMenuObj.innerHTML = createNewMenu(aArray, bArray);
	}
	else if(!last_level)
	{		
		var aArray = new Array;		
		aArray[0] = new Array(activeObj.getElementsByTagName('A')[0].innerHTML, activeObj.getElementsByTagName('A')[0].href);
		
		var bArray = new Array;
		var bKey = 0;
		var childElements = activeObj.childNodes;
		for(var i=0; i<childElements.length; i++)
		{
			if(childElements[i].tagName == 'UL')
			{
				var x = i;
				var liNodes = childElements[i].getElementsByTagName('LI');
				for(var i=0; i<liNodes.length; i++)
				{
					if(liNodes[i].parentNode.id == childElements[x].id)
					{
						bArray[bKey] = new Array(liNodes[i].getElementsByTagName('A')[0].innerHTML, liNodes[i].getElementsByTagName('A')[0].href);
						bKey++;
					}
				}
				break;
			}
		}
		
		// exporteer het nieuwe menu
		mainMenuObj.innerHTML = createNewMenu(aArray, bArray);				
	}
	mainMenuObj.style.display = 'block';

	// highlight actief item
	submenuHighlight(oid);
}
