// $Id: navigatie.js 62 2011-01-10 11:07:38Z projects $;

function nav_mouse_over() {
	add_class_name(this, 'hover');
	
	var ul = this.getElementsByTagName('ul');
	
	if (ul && ul.length > 0) {
		
		var lis = this.getElementsByTagName('li');
		
		if (lis && lis.length > 0) {
			
			var max_width = 0;
			
			for (var i = 0; i < lis.length; i++) {
				
				if (lis[i].offsetWidth > max_width) {
					max_width = lis[i].offsetWidth;
				}
				
			}
			
			ul[0].style.width = max_width + 'px';
			
			for (i =0; i < lis.length; i++) {
				lis[i].style.width = (max_width - 30) + 'px';
			}
		}
	}
}

function nav_mouse_out() {
	remove_class_name(this, 'hover');
}

function nav_mouse_click() {
	
	if (!document.clicked) {
		var ahrefs = this.getElementsByTagName('a');
		
		if (ahrefs && ahrefs.length > 0) {
			document.location = ahrefs[0].href;
		}

	}
}

function init() {
	
	document.clicked = false;
	
	// Link het logo aan de homepage
	
	var logo = document.getElementById('logo');
	if (logo) {
		logo.onclick = function() {
			document.location = '/';
		}
	}
	
	// Nieuwe navigatie:
	var navigatie = document.getElementById('navigatie')
	
	if (navigatie) {
		
		var lis = navigatie.getElementsByTagName('li');
		
		if (lis && lis.length > 0) {
			
			for (var i = 0; i < lis.length; i++) {
				
				if (lis[i].parentNode.id == 'navigatie') {
					
					if (lis[i].addEventListener) {
						
						lis[i].addEventListener("mouseover", 	nav_mouse_over, false);
						lis[i].addEventListener("mouseout", 	nav_mouse_out, false);
						lis[i].addEventListener("click", 		nav_mouse_click, false);
						
					} else if (lis[i].attachEvent) {
						
						lis[i].onmouseover = nav_mouse_over;
						lis[i].onmouseout = nav_mouse_out;
						lis[i].onclick = nav_mouse_click;
						
					}

				}
				
				// bepaal alle links onder een menu item
				var ahrefs = lis[i].getElementsByTagName('a');
				
				if (ahrefs && ahrefs.length > 0) {
					
					for (var j = ahrefs.length - 1; j >= 0 ; j--) {
						
						if (ahrefs[j].className != 'top_nav') {						
							var parent = ahrefs[j].parentNode;
							parent.href = ahrefs[j].href;
							
							if (parent.addEventListener) {
								parent.addEventListener("mouseover", function() { add_class_name(this, 'subnav_hover')}, false);
								parent.addEventListener("mouseout", function() { remove_class_name(this, 'subnav_hover')}, false);
								parent.addEventListener("click", function() { document.clicked = true; document.location = this.href }, false);
							} else {
								parent.onmouseover = function() { add_class_name(this, 'subnav_hover') };
								parent.onmouseout = function() { remove_class_name(this, 'subnav_hover') };
								parent.onclick = function() { document.clicked = true; document.location = this.href; };
							}
							
							parent.innerHTML = ahrefs[j].innerHTML;
						}
						
					}
					
				}
				
			}
			
		}
		
	}
	
	// Oude navigatie:
	if (document.getElementById('nav')) {
		navItems = document.getElementById('nav').getElementsByTagName('li');

		for (i = 0; i < navItems.length; i++) {
			if (navItems[i].parentNode.getAttribute('id') == "nav") {
				if (navItems[i].addEventListener){
					navItems[i].addEventListener("mouseover", func_nav_mouseover, false);
					navItems[i].addEventListener("mouseout", func_nav_mouseout, false);
					navItems[i].addEventListener("click", func_nav_click, false);
				} else if (navItems[i].attachEvent){
					navItems[i].onmouseover = func_nav_mouseover;
					navItems[i].onmouseout = func_nav_mouseout;
					navItems[i].onclick = func_nav_click;
				}
				
				//navItems[i].style.zIndex = 3000;
				
				var lijn_div = document.createElement('div');

				lijn_div.id = navItems[i].id + '_lijn';
				lijn_div.style.background = '#FFF';
				lijn_div.style.width = (navItems[i].offsetWidth - 6) + 'px';
				lijn_div.style.height = '1px';
				lijn_div.style.position = 'absolute';	
				lijn_div.style.top = '32px';
				lijn_div.style.left = '3px';
				lijn_div.style.zIndex = '30000';
				lijn_div.style.display = 'none';
				
				navItems[i].appendChild(lijn_div);
			}
		}
	}
	
	var sfeerbeeld = document.getElementById('sfeerbeeld');
	
	if (sfeerbeeld) {
		sfeerbeeld.onclick = function() {
			
			// Zijn er links in het sfeerbeeld?
			var links = this.getElementsByTagName('a');
			
			if (links && links.length > 0) {
				if (links[0].className == 'new') {
					var w = window.open(links[0].href, '_blank');
				} else {
					document.location = links[0].href;	
				}
			}
		}
	}

	if (window.extInit) {
		extInit();
	}
	
	if (typeof(init_lees_meer) == 'function') {
		init_lees_meer();
	}
}

var nav_timeout = "";
var nav_current = "";

function func_nav_mouseover() {
	
	var className = this.parentNode.className;
	var nav_path = 'nav';
	
	
	switch (className) {
		case  'roodwitblauw':
			nav_path = 'nav_rwb';
			break;
		default:
			nav_path = 'nav';
			break;
	}

	var file_name = this.className.replace(/nav_([^ ]+).*/, '$1');
	
	this.style.background = 'url(images/' + nav_path + '/hover/' + file_name + '.gif)';
	
	if (nav_current != this.id && nav_current != "") {
		func_nav_hide();
		
		submenuID = nav_current.replace('nav_menu_','');
				
		if (document.getElementById('nav_submenu_' + submenuID)) {
			document.getElementById('nav_submenu_' + submenuID).style.display = 'none';
		}
	}
		
	clearTimeout(nav_timeout);
	
	submenuID = this.id.replace('nav_menu_','');
		
	if (document.getElementById('nav_submenu_' + submenuID)) {
		document.getElementById('nav_submenu_' + submenuID).style.display = 'inline-block';

		var lijn = document.getElementById(this.id + '_lijn');
		
		lijn.style.display = 'block';
	}
	

}

function func_nav_mouseout() {
	nav_timeout = setTimeout(func_nav_hide,'500');
	nav_current = this.id;
}

function func_nav_hide() {
	
	var className = document.getElementById(nav_current).parentNode.className;
	var nav_path = 'nav';
	
	switch (className) {
		case  'roodwitblauw':
			nav_path = 'nav_rwb';
			break;
		default:
			nav_path = 'nav';
			break;
	}	
	
	
	
	var menuID = nav_current;
	var submenuID = nav_current.replace('nav_menu_','');
	
	var menu = document.getElementById(menuID);
	
	if (menu) {
		
		if (!/selected/.test(menu.className)) {
			var file_name = menu.className.replace(/nav_([^ ]+).*/, '$1');
			menu.style.background = 'url(images/' + nav_path + '/link/' + file_name + '.gif)';
		}
	}
	
	if (document.getElementById('nav_submenu_' + submenuID)) {
		document.getElementById('nav_submenu_' + submenuID).style.display = 'none';
		
		var lijn = document.getElementById(nav_current + '_lijn');
		
		lijn.style.display = 'none';

	}
	
	
}

function func_nav_click() {
	var links = this.getElementsByTagName('A');
	
	if (links) {
		document.location = links[0].href;
	}
}
