/* Dit script is niet perfect.
 *
 * De menu_in en menu_uit-functies worden namelijk zeer snel na elkaar opgeroepen
 * terwijl over het menu heen bewogen wordt. Dit heeft te maken met mouseovers en mouseouts
 * die opgeroepen worden wanneer van het ene naar het andere element overgesprongen wordt.
 * Gelukkig gaat dit zo snel, dat het effect nauwelijks waarneembaar is. Er is namelijk nog 
 * een kleine pauze van 50 milliseconden voordat het faden begint/van richting verandert.
 *
 * Een ander punt van kritiek is dat als snel over het menu heen bewogen wordt, het ook 
 * sneller verschijnt. Dit komt waarschijnlijk doordat heel snel een aantal menu_in-functies
 * worden aangeroepen, waardoor een heel aantal timers snel achter elkaar wordt opgeroepen.
 * Op zich is dit echter niet storend, maar eerder handig: als de bezoeker weet waar ie moet 
 * zijn, verschijnt het menu ook sneller.
 *
 * Het werkt op deze manier, dus laat ik het zo.
 */



var open = false;
var richtingopen = true;
var timer;
var fade = 0;

function menu_in()
{
	if(browsercontrole())
	{
		richtingopen = true;

		$("menu_box").style.display = "block";

		timer = setTimeout("fadestap()", 50);
	}
	else
	{
		opacity("menu_box", 1);
		$("menu_box").className = "menu_down";
	}
}

function menu_uit()
{
	if(browsercontrole())
	{
		richtingopen = false;

		timer = setTimeout("fadestap()", 50);
	}
	else
	{
		$("menu_box").className = "menu_up";
	}
}


function fadestap()
{
	if(richtingopen)
	{
		fade += 0.1;
		if(fade > 1)
		{
			fade = 1;
			open = true;
		}
		
		opacity("menu_box", fade);
		
		if(fade < 1)
		{
			setTimeout("fadestap()", 50);
		}
	}
	else
	{
		fade -= 0.1;
		if(fade < 0)
		{
			fade = 0;
			open = false;

			$("menu_box").style.display = "none";
		}

		opacity("menu_box", fade);

		if(fade > 0)
		{
			setTimeout("fadestap()", 50);
		}
	}
}

function $(e)
{
	return document.getElementById(e);
}

function browsercontrole()
{
	//Als de browserversie hoog genoeg is, mag de fadefunctie werken en wordt true gereturnd
	//Eis: Firefox > 5.0, IE > 4.0
	var versie_main = navigator.appVersion;
	var browser_main = navigator.appName;

	var versie = parseInt(versie_main.substr(0, 2));

	if(browser_main == "Microsoft Internet Explorer")
	{
		if(versie >= 4) { return true; } else { return false; }
	}
	else
	{
		//Geen rekening gehouden met Opera en Safari
		if(versie >= 5) { return true; } else { return false; }
	}

}


function opacity(element, alpha)
{
	if(navigator.appName == "Microsoft Internet Explorer")
	{
		if(typeof($(element).filters.alpha) == "undefined")
		{
			$(element).style.filter = "alpha(opacity = " + alpha * 100 + ")";
		}
		else
		{
			$(element).filters.alpha.opacity = alpha * 100;
		}
	}
	else
	{
		$(element).style.opacity = alpha;
	}
}


