menuItem = new Array();
nameToIndex = new Array();

function initMenu()
	{

	}

function addMenu(inMenuTitle,inURL)
	{
	var idx = menuItem.length;
	nameToIndex[inMenuTitle] = new Array(idx,0);
	menuItem[idx] = new Object();
	menuItem[idx].title = inMenuTitle;
	menuItem[idx].url = inURL;
	menuItem[idx].subMenu = new Array();
	}

function addSubMenu(inMenuTitle,inSubTitle,inSubURL)
	{
	if (typeof(nameToIndex[inMenuTitle][0]) != 'number')
		return;
	var idx = nameToIndex[inMenuTitle][0];
	var idx2 = menuItem[idx].subMenu.length;
	nameToIndex[inSubTitle] = new Array(idx,idx2);
	menuItem[idx].subMenu[idx2] = new Object();
	menuItem[idx].subMenu[idx2].title = inSubTitle;
	menuItem[idx].subMenu[idx2].url = inSubURL;
	}

function getMenuHTML()
	{
	var html = '';
	for (var idx = 0; idx < menuItem.length; idx++)
		{
		html += '<div id="menu_' + idx + '" style="position:absolute; left:10px; margin:0px 0px 0px 0px;';
		html += ' top:' + (topOfMenu + idx*menuDistance) + 'px;">';
		html += '<table width=135 cellpadding=0 cellspacing=0 border=0>';
		html += (idx > 0) ?
			'<tr><td class="rt"><img src="images/menu/menustreep.gif" width=120 height=1 vspace=5 border=0></td><td></td></tr>'
			:
			'<tr><td class="rm"><img src="images/menu/pixel.gif" width=120 height=1 vspace=5 border=0></td><td></td></tr>';
		html += '<tr><td><img src="images/pixel.gif" width=120 height=0 border=0></td>';
		html += '<td><img src="images/pixel.gif" width=18 height=0 border=0></td></tr>';
		html += '<tr><td><a id="link' + idx + '" class="menuLink" href="' + menuItem[idx].url + '" target="inhoud"';
		html += ' onMouseover="overMenu(' + idx + ')" onMouseout="outMenu(' + idx + ')" onClick="clickMenu(' + idx + ')">';
		html += menuItem[idx].title + '</a></td>';
		html += '<td><img name="img' + idx + '" src="images/niks18x13.gif" width=18 height=13 border=0></td></tr>';
		html += '</table></div>';
		var subItem = menuItem[idx].subMenu;
		for (var idx2 = 0; idx2 < subItem.length; idx2++)
			{
			var name = idx + '_' + idx2;
			var html2 = '<div id="subMenu_' + name + '" style="position:absolute; left:-200px; margin:0px 0px 0px 0px;';
			html2 += ' top:' + (10 + topOfMenu + idx*menuDistance + (idx2+1)*subDistance) + 'px;">';
			html2 += '<table width=135 cellpadding=0 cellspacing=0 border=0>';
			html2 += '<tr><td><img src="images/pixel.gif" width=120 height=0 border=0></td>';
			html2 += '<td><img src="images/pixel.gif" width=18 height=0 border=0></td></tr>';
			html2 += '<tr><td><a id="link' + name + '" class="subMenuLink" href="' + subItem[idx2].url + '" target="inhoud"';
			html2 += ' onMouseover="overSubMenu(' + idx + ',' + idx2 + ')" onMouseout="outSubMenu(' + idx + ',' + idx2 + ')" onClick="clickSubMenu(' + idx + ',' + idx2 + ')">';
			html2 += subItem[idx2].title + '</a></td>';
			html2 += '<td><img name="img' + name + '" src="images/niks18x13.gif" width=18 height=13 border=0></td></tr>';
			html2 += '</table></div>';
			html += html2;
			}
		}
	return html;
	}

// ======== Event Handlers ========
var menuAanIdx	= null;
var imgAan		= '';
var action		= 'nothing';
var tmr			= null;

var pijl18x13	= new Image();
pijl18x13.src	= 'images/pijl18x13.gif';
var niks18x13	= new Image();
niks18x13.src	= 'images/niks18x13.gif';

function overMenu(idx)
	{
	document.images['img'+ idx].src = pijl18x13.src;
	}

function outMenu(idx)
	{
	if (idx != imgAan)
		document.images['img' + idx].src = niks18x13.src;
	}

function clickMenu(idx)
	{
	if (action != 'nothing' || idx == menuAanIdx)
		return;
	if (typeof(menuItem[menuAanIdx]) != 'undefined' && menuItem[menuAanIdx].subMenu.length > 0)
		hideSubMenu(menuAanIdx);
	var tmp = imgAan;
	imgAan = '' + idx;
	overMenu(idx);
	getObj('link' + idx).className = 'menuSelect';
	if (tmp != '' && tmp.indexOf('_') == -1)
		{
		getObj('link' + tmp).className = 'menuLink';
		outMenu(tmp);
		}
	if (tmp.indexOf('_') != -1)
		{
		var nums = tmp.split('_');
		getObj('link' + nums[0]).className = 'menuLink';
		outSubMenu(nums[0],nums[1]);
		}
	if (menuItem[idx].subMenu.length > 0)
		showSubMenu(idx);
	menuAanIdx = idx;
	}

function showSubMenu(idx)
	{
	var numOfSub = menuItem[idx].subMenu.length;
	// verplaats menu's eronder
	for (var i = idx + 1; i < menuItem.length; i++)
		{
		var top = topOfMenu + i * menuDistance + numOfSub * subDistance;
		getObj('menu_' + i).style.top = top + "px";
		}
	// maak submenu's zichtbaar
	for (var idx2 = 0; idx2 < numOfSub; idx2++)
		{
		var name = 'subMenu_' +  idx + '_' + idx2;
		getObj(name).style.left = "10px";
		}
	}

function hideSubMenu(idx)
	{
	var numOfSub = menuItem[idx].subMenu.length;
	for (var i = idx + 1; i < menuItem.length; i++)
		{
		var top = topOfMenu + i * menuDistance;
		document.getElementById('menu_' + i).style.top = top + "px";
		}
	for (var idx2 = 0; idx2 < numOfSub; idx2++)
		{
		var name = 'subMenu_' +  idx + '_' + idx2;
		getObj(name).style.left = "-200px";
		}
	}

function overSubMenu(idx,idx2)
	{
	document.images['img'+ idx + '_' + idx2].src = pijl18x13.src;
	}

function outSubMenu(idx,idx2)
	{
	var name = idx + '_' + idx2;
	if (name != imgAan)
		document.images['img' + name].src = niks18x13.src;
	}

function clickSubMenu(idx,idx2)
	{
	if (action != 'nothing' || idx + '_' + idx2 == imgAan)
		return;
	var tmp = imgAan;
	imgAan = idx + '_' + idx2;	
	overSubMenu(idx,idx2);
	if (tmp.indexOf('_') != -1)
		{
		var nums = tmp.split('_');
		outSubMenu(nums[0],nums[1]);
		}
	else
		{
		if (tmp != idx)
			getObj('link' + tmp).className = 'menuLink';
		outMenu(tmp);
		}
	}

function zClickMenu(inName)
	{
	if (typeof(nameToIndex[inName]) != 'object')
		return;
	var idx = nameToIndex[inName][0];
	var idx2 = nameToIndex[inName][1];
	if (idx2 == 0)
		clickMenu(idx);
	else
		clickSubMenu(idx,idx2);
	}

function getObj(id)
	{
	if (document.getElementById)
		return document.getElementById(id);
	if (document.all) 
		return document.all[id];
	return null;
	}
