/**
 * Show or hide a div.
 */
function enablAltAddress (divId, isVisible) {
	if (isVisible)
		document.getElementById (divId).style.display = "block";
	else {
		var inputs = document.getElementById (divId).getElementsByTagName ("input");
		
		for (var i = 0; i < inputs.length; i ++) {
			inputs[i].value = "";
		}
		
		document.getElementById (divId).style.display = "none";
	}
}

/**
 * Toon een popup (div met id <element>). De popup wordt geventreerd op de pagina,
 * achter de popup wordt een div met id hiderdiv geplaatst die voorkomt dat de
 * achterliggende pagina kan worden gebruikt zolang de popup open staat.
 */
function openPopup (element) {
	document.getElementById ("hiderdiv").style.height  = document.documentElement.scrollHeight + "px";
	document.getElementById ("hiderdiv").style.display = "block";
	document.getElementById (element).style.display    = "block";
	
	// ScrollY positie ophalen
	var scrollY = 0;
	if (typeof (window.pageYOffset) == 'number')
	    scrollY = window.pageYOffset;
	else if (document.body && document.body.scrollTop)
	    scrollY = document.body.scrollTop;
	else if (document.documentElement && document.documentElement.scrollTop)
	    scrollY = document.documentElement.scrollTop;
	
	// Hoogte van zichtbaar deel van pagina ophalen
	var winHeight = 0;
	if (typeof (window.innerWidth) == 'number')
	    winHeight = window.innerHeight;
	else if (document.documentElement && document.documentElement.clientHeight)
	    winHeight = document.documentElement.clientHeight;
	
	// De popup centreren
	var x = document.body.clientWidth / 2 - document.getElementById (element).clientWidth / 2;
	var y = scrollY + winHeight / 2 - document.getElementById (element).clientHeight / 2;
	
	document.getElementById (element).style.left = x + "px";
	document.getElementById (element).style.top  = y + "px";
}


/**
 * De geopende popup (div met id <element>) sluiten.
 */
function closePopup (element) {
	document.getElementById (element).style.display = "none";
	document.getElementById ("hiderdiv").style.display = "none";
}


/*****************************************************************************
 * Menu functies
 ****************************************************************************/

var menu_props  = new Array ();
var menu_scroll = new Array ();

/**
 * Menu status initialiseren bij het inladen van de pagina.
 */
 
 //CmsEditorActive
try {
	if (CmsEditorActive!==true) {}
}
catch (err) {
	var CmsEditorActive=false
}

function initMenu () {
	/*if (CmsEditorActive!==true) {
		var menu = document.getElementById ("s_navbg");
		var subMenus = menu.getElementsByTagName ("div");
		var a = menu.getElementsByTagName ("a");
		
		for(var i=0; i<subMenus.length; i++){
			var menuId = subMenus[i].id;
			document.getElementById (menuId).style.display = "block";
			if (a[0].innerHTML!='Over ons' && a[0].innerHTML!='Contact'){ // Namen van het menu eventueel aanpassen
				if (subMenus[i].className.indexOf('huidig')!=-1){
					menu_props[menuId] = document.getElementById (menuId).offsetHeight; //+ 32
					//document.getElementById (menuId).style.height   = "200px"
					document.getElementById (menuId).style.overflow = "hidden";
					document.getElementById (menuId + "_control").src = "/sites/_sitetemplate/6/images/bullet_up.gif";
					document.getElementById (menuId + "_control").alt = "Menu verbergen";
				}
				else {
					// Menu dicht klappen
					menu_props[menuId] = document.getElementById (menuId).offsetHeight; //+ 32
					document.getElementById (menuId).style.height   = "0px";
					document.getElementById (menuId).style.overflow = "hidden";
					if(document.all){ // ie6 bug
						document.getElementById (menuId).style.display = "none";
					}
					document.getElementById (menuId + "_control").src = "/sites/_sitetemplate/6/images/bullet_down.gif";
					document.getElementById (menuId + "_control").alt = "Menu tonen";
				}
			}
		}
	}*/
}


/**
 * Een submenu met id <element> open of dichtklappen.
 */
function openCloseMenu (element) {
	var menu = document.getElementById (element);
	menu.style.display = "block";
	// Niet sliden als er al geslide wordt
	if (menu_scroll[element]) return;
	
	// Indien huidige grootte van menu niet bekend deze ophalen
	if (!menu_props[element]) {
		menu_props[element] = menu.offsetHeight;
		menu.style.height   = menu_props[element] + "px";
		menu.style.overflow = "hidden";
	}
	// Sliden locken
	menu_scroll[element] = true;
	// Menu open of dicht klappen
	if (menu.clientHeight > 0)
		slideElement (element, 0, true);
	else
		slideElement (element, menu_props[element], false);
}


/**
 * Deze functie zorgt voor het dadwerkelijk werken van de openCloseMenu methode.
 */
function slideElement (element, to, up) {
	var size = document.getElementById (element).clientHeight;
	if (up) {
		// Menu dichtklappen
		if (size > menu_props[element] * .10) {
			size -= 5;
		} else if (size > menu_props[element] * .1) {
			size -= 2;
		} else {
			size --;
		}
	} else {
		// Menu open klappen
		if (size < menu_props[element] * .75) {
			size += 5;
		} else if (size < menu_props[element] * .9) {
			size += 2;
		} else {
			size ++;
		}
	}
	
	// Nieuwe grootte instellen
	document.getElementById (element).style.height = size + "px";
	
	if ((up && size > to) || (!up && size < to)) { 
		// Doorgaan met sliden tot maximum berijkt is
		setTimeout ("slideElement ('" + element + "', " + to + ", " + up + ")", 20);
	} else {
		// Controls wijzigen en sliden vrij geven
		if (up) {
			document.getElementById (element + "_control").src = "/sites/_sitetemplate/6/images/bullet_down.gif";
			document.getElementById (element + "_control").alt = "Menu tonen";
			document.getElementById (element).style.height = "0px";
		} else {
			document.getElementById (element + "_control").src = "/sites/_sitetemplate/6/images/bullet_up.gif";
			document.getElementById (element + "_control").alt = "Menu verbergen";
			document.getElementById (element).style.height = menu_props[element] + "px";
		}
		
		menu_scroll[element] = false;
		//updateMenuCookie ();
	}
}


/**
 * Cookie opslaan waarin de menu status wordt opgeslagen zodat deze blijft 
 * gelden over meerdere pagina's.
 */
function updateMenuCookie () {
	var menu = document.getElementById ("s_navbg");
	var subMenus = menu.getElementsByTagName ("div");
	var value = "";
	
	for (var i = 0; i < subMenus.length; i ++) {
		var menuId = subMenus[i].id;
		
		value += menuId + ":";
		if (document.getElementById (menuId).clientHeight == 0) {
			// Menu is ingeklapt
			value += "0.";
		} else {
			// Menu is uitgeklapt
			value += "1.";
		}
	}
	document.cookie = "AdverterenMenus=" + value + ";;";
}