/**                  
 * navigation.js
 *
 * Function set for handling the (slide) navigation bar
 * which is placed in the head of each page.
 *
 * @version 	1.0
 * @author	E.M. Brunekreef	
 * @package	javascript 
 * 
 * Copyright (c) 2005 Malibomba                               
 * IT IS NOT ALLOWED TO USE OR MODIFY ANYTHING OF THIS SITE,  
 * WITHOUT THE PERMISION OF THE AUTHOR.                       
 * Info? Mail to info@malibomba.com                           
 */
//<![CDATA[ 
slideMenu.Registry = [];
slideMenu.lineHeight = 20;


addLoadEvent(loadMenu);
function loadMenu() {
	var menu2 = new slideMenu("menu2",4); 	// Wie zijn we
	var menu3 = new slideMenu("menu3",4);	// Onderhoudsplan	
	var menu4 = new slideMenu("menu4",3);	// Offerte
	var menu5 = new slideMenu("menu5",5);	// Contact
} // End of function


function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() { 
			oldonload();
			func();
		}
	}
} // End of function



function slideMenu(id,numLines) {
	slideMenu.Registry[id] = [];
	slideMenu.Registry[id]['height']       = 1;
	slideMenu.Registry[id]['containerObj'] = document.getElementById(id+"Container");
	slideMenu.Registry[id]['contentObj']   = document.getElementById(id+"Content");
	//slideMenu.Registry[id]['maxHeight']  = new Number((numLines * slideMenu.lineHeight) + 2);
	slideMenu.Registry[id]['maxHeight']    = (slideMenu.Registry[id]['containerObj'].scrollHeight * numLines) - (numLines - 1);
	slideMenu.Registry[id]['interval']     = null;
	slideMenu.Registry[id]['timeout']      = null;
	
	slideMenu.Registry[id]['contentObj'].style.height  = '1px';
	
	// slide down events
	slideMenu.Registry[id]['containerObj'].onmouseover = function() { slideMenu.showMenu(id); }
	slideMenu.Registry[id]['containerObj'].onfocus     = function() { slideMenu.showMenu(id); }
	
	// slide up events
	slideMenu.Registry[id]['containerObj'].onmouseout  = function() { slideMenu.hideMenu(id); }
	slideMenu.Registry[id]['containerObj'].onblur      = function() { slideMenu.hideMenu(id); }

} // End of function



slideMenu.showMenu = function(id) {
	clearInterval(slideMenu.Registry[id]['interval']);
		
	slideMenu.Registry[id]['contentObj'].style.display = 'block';
	slideMenu.Registry[id]['contentObj'].style.zIndex += 10;
	
	slideMenu.Registry[id]['interval'] = window.setInterval("slideMenu.slideDown('"+id+"')",1);

} // End of function




slideMenu.hideMenu = function(id) {
	clearInterval(slideMenu.Registry[id]['interval']);
	
	slideMenu.Registry[id]['contentObj'].style.zIndex = 10;
	slideMenu.Registry[id]['interval'] = window.setInterval("slideMenu.slideUp('"+id+"')",1);

} // End of function



slideMenu.slideDown = function(id) {
	for(var i=0;i<15;i++) {
		if(slideMenu.Registry[id]['height'] >= slideMenu.Registry[id]['maxHeight']) {
			clearInterval(slideMenu.Registry[id]['interval']);
		} else {
			slideMenu.Registry[id]['contentObj'].style.height = slideMenu.Registry[id]['height']+'px';
			slideMenu.Registry[id]['height'] ++;
		}
	}

} // End of function



slideMenu.slideUp = function(id) {
	for(var i=0;i<15;i++) {
		if(slideMenu.Registry[id]['height'] <= 1) {
			clearInterval(slideMenu.Registry[id]['interval']);
			slideMenu.Registry[id]['contentObj'].style.display = 'none';
		} else {
			slideMenu.Registry[id]['contentObj'].style.height = slideMenu.Registry[id]['height']+'px';
			slideMenu.Registry[id]['height'] --;
		}
	}
} // End of function
