
// add the hook
if (document.addEventListener) 
{
    document.addEventListener("DOMContentLoaded", init, null);
}

// fallback
window.onload = init;

function init()
{
	//make sure we only get here once
	if (arguments.callee.done)
	{
		return;
	}
	arguments.callee.done = true;

	prepare_menu();
	init_legislation();
	add_events_links();
	add_back_link();
}


function prepare_menu()
{
	document.getElementById('page').style.marginLeft = "auto";
	
	var menu = document.getElementById('submenu');
	if (menu)
	{
		menu.className = 'script';
		var lis = menu.getElementsByTagName('li');
		for (var i = 0; i < lis.length; i++)
		{
			uls = lis[i].getElementsByTagName('ul');
			if (uls.length > 0)
			{
				lis[i].onmouseover = function (){ showTo(this) };
			}
			else
			{
				lis[i].onmouseover = function (){ hideTo(this) };
			}
		}
	}
}

function showTo(li)
{
	setTimeout(function(){show(li)}, 300);
}

function hideTo(li)
{
	setTimeout(function(){hide(li)}, 300);
}

function show(li)
{
	hide(li);
	ul = li.getElementsByTagName('ul')[0];
	ul.className = 'show';
}

function hide(li)
{
	var uls = li.parentNode.getElementsByTagName('ul');
	if (uls)
	{
		for (var i = 0; i < uls.length; i ++)
		{
			if (uls[i].className == 'show')
			{
				uls[i].className = '';
			}
		}
	}
}

function add_events_links()
{
	var links = document.getElementsByTagName('a');
	var img = '&nbsp;<img src="/style/internet/images/newwindow.png" alt="(Deze link opent in een nieuw venster)" />';
	var title = '[Nieuw venster]';
	
	for (var i = 0; i < links.length; i++)
	{
		switch (links[i].className)
		{
			case 'newwindow':
				if (links[i].getAttribute('title') != '' && links[i].getAttribute('title') != null)
					title += ' '+links[i].getAttribute('title');
				links[i].setAttribute('title', title);
				links[i].onclick = newwin;
				links[i].innerHTML = links[i].innerHTML + img;
				break;
			case 'newwindow_nav':
				if (links[i].getAttribute('title') != '' && links[i].getAttribute('title') != null)
					title += ' '+links[i].getAttribute('title');
				links[i].setAttribute('title', title);
				links[i].onclick = newwin;
				var img = '&nbsp;<img src="/style/internet/images/newwindow_nav.png" alt="(Deze link opent in een nieuw venster)" />';
				links[i].innerHTML = links[i].innerHTML + img;
				break;
		}
	}
}

function newwin()
{
	window.open(this.href,'_blank');
	return false;
}

function add_back_link()
{
	var list = document.getElementById('about');
	if (list)
	{
		var items	= list.getElementsByTagName('li');
		var links	= '';
		
		for (var i = 0; i < items.length; i++)
		{
			links = items[i].getElementsByTagName('a');
			if (links.length > 0)
			{
				links[0].href = '#';
				links[0].onclick = history_back;
			}
		}
	}
}

function history_back()
{
	history.back();
	return false;
}

function init_legislation()
{
	var summary		= document.getElementById("reg_summary");
	var sum_link	= document.getElementById("reg_sum_link");
	var index		= document.getElementById("reg_index");
	var index_link	= document.getElementById("reg_index_link");
	var info		= document.getElementById("reg_info");
	var info_link	= document.getElementById("reg_info_link");

	if (summary)
	{
		summary.className = "invisible";	
	}
	
	if (index)
	{
		index.className = "invisible";	
	}
	
	if (info)
	{
		info.className = "invisible";
	}
	
	if (sum_link)
	{
		sum_link.onclick = function() { toggle('reg_summary'); return false; };
	}
	
	if (index_link)
	{
		index_link.onclick = function() { toggle('reg_index'); return false; };
	}
	
	if (info_link)
	{
		info_link.onclick = function() { toggle('reg_info'); return false; };
	}
}

function toggle(el)
{
	// Geklikte link
	var elem	= document.getElementById(el);
	
	// bepaal welke link aangepast wordt
	var link	= '';
	switch (el)
	{
		case "reg_summary":
			link	= document.getElementById("reg_sum_link");
			break;
		case "reg_index":
			link	= document.getElementById("reg_index_link");
			break;
		case "reg_info":
			link	= document.getElementById("reg_info_link");
			break;
	}
	
	// element weergeven/verbergen + geklikte link aanpassen
	if (elem.className == "visible")
	{
		elem.className = "invisible";
		if (link)
			link.className="dicht";
	}
	else
	{
		elem.className = "visible";
		if (link)
			link.className="open";
	}
}
