/*
	Gemaakt door		: Creative Internet Webdesign - Rob van der Burgt
	Email				: rob@creativeinternet.nl
	
	Deze code is vrij te gebruiken, wij zouden het waarderen als er een emailtje naar ons gestuurd zou worden...
	
	Script is getest en werkend onder: 
		FireFox >=1.0 Windows
		FireFox >=1.4 Linux
		Internet Explorer >=5.0
		Opera 
		
	Dat het script niet getest is onder een bepaalde browser/versienummer wil niet 
	zeggen dat het niet werkt onder anderre browsers. de resultaten hierboven zijn gedaan
	op beschikbare systemen.
	
-----------------------------------------------------------------------------------------------------------------
	
	Script by			: Creative Internet Webdesign - Rob van der Burgt
	Email				: rob@creativeinternet.nl
	
	You are free to use this code, we would appriciate an e-mail if you were to use it ...
	
	Script has been tested and working in:
		FireFox >=1.0 Windows
		FireFox >=1.4 Linux
		Internet Explorer >=5.0
		Opera 
		
	The script may work with other browsers/versions/operating systems but have not been tested.
*/

var MenuHeight = 20; 			// hoogte van 1 menu item
var MenuHeightTop = 20;			// hoogte van bovenste menu item (deze is 0 wanneer deze niet bestaat)
var MenuStepIncrease = 6; 		// snelheid uitklappen
var MenuStepDecrease = 6; 		// snelheid inklappen

//laat dit met rust
var Menus = new Array();
var timer;

// ie 5.0 fix arraynaam.push functie
Array.prototype.push = function (element) {
    this[this.length] = element;
    return this.length;
};

// kijk of menu in array bestaat en voeg toe indien dit niet het geval is
function checkMenu(menuName){
	var arrstring;
	arrstring = Menus.toString();
	if (arrstring.indexOf(menuName) < 0){
		Menus.push(menuName);
		Menus[menuName] = new Array();
		Menus[menuName][0] = MenuHeight;
		Menus[menuName][2] = 0;
	}
}

// laat menu zien
function menuShow(menuID, menuItems){
	checkMenu(menuID);
	Menus[menuID][1] = ( menuItems * MenuHeight ) + MenuHeightTop;
	changeMenu(menuID, newJobID(menuID));
	
	document.getElementById(menuID + 'img').src = 'img/menu-hover.gif';
}

// verberg menu
function menuHide(menuID){
	checkMenu(menuID);
	Menus[menuID][1] = MenuHeightTop;
	changeMenu(menuID, newJobID(menuID));
	
	document.getElementById(menuID + 'img').src = 'img/menu-normal.gif';
}

// maak nieuw taaknummer aan voor menu
function newJobID(menuName) {
	Menus[menuName][2]++;
	return Menus[menuName][2];
}

// wijzig de groote van het menu, deze wordt bepaald naar de waardes in de array
function changeMenu(menuName, jobID){
	if (Menus[menuName][0] == Menus[menuName][1] || jobID != Menus[menuName][2]){
		return;	
	} else if (Menus[menuName][0] > Menus[menuName][1]){
		Menus[menuName][0] -= MenuStepDecrease;
		if (Menus[menuName][0] < Menus[menuName][1]){
			Menus[menuName][0] = Menus[menuName][1];
		}
	} else if (Menus[menuName][0] < Menus[menuName][1]){
		Menus[menuName][0] += MenuStepIncrease;
		if (Menus[menuName][0] > Menus[menuName][1]){
			Menus[menuName][0] = Menus[menuName][1];
		}
	} 
	element = document.getElementById(menuName);
	element.style.height = Menus[menuName][0] + 'px';
	timer = setTimeout("changeMenu('" + menuName + "', " + jobID + ");",0);	
}

// laat anderre achtergrond zien in een menu-item
function changecolor(itemName, newcolor){
	if(document.layers){document.layers[itemName].bgColor = newcolor;}
	if(document.getElementById){document.getElementById(itemName).style.backgroundColor = newcolor;}
}
