/*
 * Navigation functions
*/

var navigation_time_to_default = (5 /* seconds */ * 1000);
var navigation_active_tab_std;
var navigation_time_out = new Array();
var navigation_time_out_total = 0;

function InitNav() {
	navigation_active_tab_std = $('navigation_box').down('.active');
	$$('ul#navigation_box li a').invoke("observe", "mouseover", function() { SetNavTabActive(this, false, false); })
	$$('ul#navigation_box li a').invoke("observe", "mouseout", function() { SetNavTabActive(this, true, false); })
}

function SetNavTabActive(obj, timeOut, toDefault) {

	// Alle timeouts van tab-events verwijderen
	for(i=1; i<=navigation_time_out.length; i++){
		window.clearTimeout(navigation_time_out[i]);
		navigation_time_out = new Array();
		navigation_time_out_total = 0;
	}

	if(timeOut) {
		// Tab gaat later terug naar beginstand
		navigation_time_out_total++;
		navigation_time_out[navigation_time_out_total] = window.setTimeout(function() { SetNavTabInactive(obj); }, navigation_time_to_default);
	} else {
		// Tab blijft in deze stand totdat andere tab geselecteerd wordt

		// Alle tabbladen deactiveren
		$$('#navigation_box li.active').each(function(obj){ obj.removeClassName('active'); })

		// Subnavigatie
		$$('#subnavigation ul.active').each(function(obj){ obj.removeClassName('active'); })
		
		var active_tab = obj.innerHTML.replace(/(<([^>]+)>)/ig,'').trim(); 

		switch(active_tab)
		{
			case 'Wedstrijden'	:	$('subnavigation').down('.nav_wedstrijden').addClassName('active'); break;    
			case 'Webgids'		:	$('subnavigation').down('.nav_webgids').addClassName('active'); break;
			case 'Webpromotie'	:	$('subnavigation').down('.nav_webpromotie').addClassName('active'); break;
			case 'Webdiensten'	:	$('subnavigation').down('.nav_webdiensten').addClassName('active'); break;
			case 'Partners'		:	$('subnavigation').down('.nav_partners').addClassName('active'); break;
			default	: $('subnavigation').down('.nav_home').addClassName('active');
		} 

		if(toDefault) {
			obj.addClassName('active');
		} else {
			obj.up().removeClassName('active');
			obj.up().addClassName('active');
		}
	}
}

function SetNavTabInactive(obj) {
	// Active tab deactiveren
	obj.up().removeClassName('active');
	
	// Begin tab activeren
	SetNavTabActive(navigation_active_tab_std, false, true);
}