function wInit() {
  var c = document.getElementById("content");
  var t = document.getElementById("tekst");
  if (c.offsetHeight < t.offsetHeight+30) {
    c.style.height = t.offsetHeight+30+"px";
  }
}

function fnSearchEnter(e) {
	var keycode;
	if (window.event) {
		keycode = window.event.keyCode;
	} else if (e) {
		keycode = e.which;
	} else {
		return true;
	}
	if (keycode == 13) {
		document.getElementById("sb").onclick();
		return false;
	}
	return true;
}

document.getElementsByClassName = function(className, parentElement) {
	var children = ((typeof parentElement == "string" ? document.getElementById(parentElement) : parentElement) || document.body).getElementsByTagName('*');
	var elements = new Array;
	for (var i = 0; i < children.length; i++) {
		if (children[i].className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
			elements.push(children[i]);
	}
	return elements;
}

function InitMenu() {
	// init dropdown submenu's
	var menu = document.getElementById("menu");
	if (menu) {
	    var ul = menu.getElementsByTagName("UL");
	    for (var i = 0; i < ul.length; i++) {
			if (ul[i].id != "t000000") {
	    		InitSubMenus(ul[i]);
	    	}
	    }
	}
	
	// show only subs of current
	var visible_submenu;
	var currents = document.getElementsByClassName("current", "menu");
	for (var i = 0; i < currents.length; i++) {
		var sub = document.getElementsByClassName("submenu", currents[i].parentNode);
		if (sub.length) {
			sub[0].style.display = "block";
			visible_submenu = sub[0];
		}
	}

	// init menu on the left (home)
	var gW;
	var gS;
	var gL = 0;
	var sitewide = document.getElementById("sitewide");
	if (0&&sitewide) {
		a = sitewide.getElementsByTagName("A");
		for (var i = 0; i < a.length; i++) {
			if (a[i].firstChild.tagName == "SPAN") {
				var div = a[i].firstChild;
				gW = div.offsetWidth+4;
				gS = div.firstChild;
				div.style.width = div.offsetWidth+"px";
				div.firstChild.style.width = gW*2+"px";
				div.firstChild.innerText = div.firstChild.innerText+' '+div.firstChild.innerText;
				setTimeout(divscroll, 50);
				break;
			}
		}
	}
	
	function divscroll() {
		gL -= 2;
		if (gL < -gW) gL = 0;
		gS.style.left = gL+"px";
		setTimeout(divscroll, gL ? 50 : 1000);
	}
	
	// init images on the right
	var img = document.getElementById("images");
	if (img) {
		var imgs = img.getElementsByTagName("IMG");
		for (var i = 0; i < imgs.length; i++) {
			imgs[i].onclick = gotoBeeldbank;
		}
	}
}
AddToInitArray(InitMenu);

function gotoBeeldbank(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem) {
			var site = elem.src.split("/")[3];
			var image = (new RegExp(site+"/images/(.*?)$")).exec(elem.src);
                                                image = image[1].replace(/\/\d+x\d+/, "");
			location.href = "/cgi/beeldbank.cgi?site="+site+";image="+image;
		}
	}
}
	

var agt = navigator.userAgent.toLowerCase();
var isIE = agt.indexOf('msie') != -1;

var menuStyle = '';
var menuPullDownDirection = 'topbottom';
var menuTopFix = 0;
var menuLeftFix = 0;
var menuSubTopFix = 0;
var menuSubLeftFix = 0;

var prefix = '';
var menuTimer;
var fullexit = false;

var currentItem = null;
function UpdateCurrent(elem) {
	if (currentItem) {
		if (/current/.test(currentItem.className)) {
			currentItem.style.background = "#008ac6";
			currentItem.style.color = "white";
		} else {
			currentItem.style.background = "";
			currentItem.style.color = "#4d87af";
                                }
		currentItem = null;
	}
	if (elem) {
		currentItem = elem;
		currentItem.style.backgroundColor = "#13467C";
		currentItem.style.color = "#498CB9";
	}
}

function PointsToSub(elem) {
	if (!elem.tagName) elem = elem.parentNode; /* NN fix */
	var id = /p(m\d+)/.exec(elem.className);
	return elem.href && id && document.getElementById(id[1]);
}

function GetSubMenu(elem) {
	var id = /p(m\d+)/.exec(elem.className);
	var m = document.getElementById(id[1]);
	if (m && m.firstChild) {
	    return m;
	} else {
	    return;
	}
}

function InitSubMenus(menu) {
    for (var i = 0; i < menu.childNodes.length; i++) {
        var li = menu.childNodes[i];
        if (li.tagName && li.tagName == "LI") {
            var a = li.getElementsByTagName("A")[0];
    		if (PointsToSub(a)) {
    			// a
    			a.onmouseover = MenuShow;
    			a.onmouseout = MenuHide;
    			if (menuStyle) a.style.backgroundImage = "url(css/"+menuStyle+"/gfx/arrow.gif)";
    			GetSubMenu(a).isSub = true;
    		} else {
    			// a
    			a.onmouseover = StopTimer;
    			a.onmouseout = StartTimer;
    			if (menuStyle) a.style.backgroundImage = "url(gfx/trans.gif)";
    		}
      		a.firstChild.innerHTML = a.firstChild.innerHTML.replace(/-/g, "- ");
        }
    }
    SetWidth(menu);
}

function SetWidth(menu, w) {
	if (isIE) {
	    //menu.style.width = (menu.offsetWidth < w ? w : menu.offsetWidth)+"px";
	}
}

function MenuShow(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem) {
			ClearTimer();
			if (!elem.tagName) elem = elem.parentNode; /* NN fix */
			if (elem.tagName == "SPAN") elem = elem.parentNode;
			var m = GetSubMenu(elem);
			if (m) {
            	var mdiv = document.getElementById("menu");
				if (m.isSub) {
					MenuClearAll(true);
					UpdateCurrent(elem);
					m.style.left = elem.parentNode.offsetLeft+elem.offsetWidth+menuSubLeftFix+"px";
	    		    //m.style.top = elem.parentNode.offsetTop+elem.offsetTop+menuSubTopFix+"px";
	    		    m.style.top = elem.parentNode.offsetTop+"px";
					//if (elem.tagName == "A") elem.parentNode.style.backgroundImage = "url("+prefix+"gfx/li.gif)";
				} else {
					MenuClearAll();
					if (menuPulldownDirection == 'topbottom') {
					    m.style.left = elem.parentNode.offsetLeft+menuLeftFix+"px";
					    m.style.top = elem.offsetTop+elem.offsetHeight+menuTopFix+"px";
					} else {
					    m.style.left = elem.offsetLeft+elem.offsetWidth+menuLeftFix+"px";
					    m.style.top = elem.offsetTop-1+menuTopFix+"px";
					}
				}
    		    m.style.display = "block";
    		    m.style.visibility = "visible";
				SetWidth(m, elem.offsetWidth);

            	//alert(mdiv.offsetLeft);
            	var w = m.offsetWidth;
            	var h = m.offsetHeight;
            	var x = mdiv.offsetLeft+parseInt(m.style.left);
            	var y = mdiv.offsetTop+parseInt(m.style.top);
            	//alert("mdivleft="+mdiv.offsetLeft+", w="+w+", h="+h+", x="+x+", y="+y);
                var cw = isIE ? document.body.clientWidth : document.documentElement.clientWidth;
                if (x + w > cw + document.body.scrollLeft) {                       // til subsub naar links
                        var nx = cw - w - mdiv.offsetLeft - (m.isSub ? (elem.offsetWidth+w) : 0) + document.body.scrollLeft;
                        m.style.left = nx+"px";
                }
            	//alert(document.documentElement.clientHeight);
            	//alert(y+" + "+h+" > "+document.body.offsetHeight +" + "+document.body.scrollTop);
                var ch = isIE ? document.body.clientHeight : document.documentElement.clientHeight;
                if (y + h > ch + document.body.scrollTop) {
                        var ny = ch - h - mdiv.offsetTop + document.body.scrollTop;
                        m.style.top = ny+"px";
                }
            	//alert("top="+m.style.top+", left="+m.style.left);

				if (isIE) showHideSelectControls('hide',x,y,w,h);
				if (!isIE) mdiv.style.height = "300px";
			}
		}
	}
}

function MenuHide(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem) {
  			StartTimer(evt);
		}
	}
}

function MenuClearAll(subsonly) {
	var menu = document.getElementById("menu");
    var ul = menu.getElementsByTagName("UL");
    for (var i = 0; i < ul.length; i++) {
    	var child = ul[i];
    	if (/subsubmenu/.test(child.className)) {
			child.style.display = "none";
   		    child.style.visibility = "hidden";
    	}
    }
    UpdateCurrent();
    if (fullexit) {
		if (isIE) showHideSelectControls();
		if (!isIE) menu.style.height = "130px";
   	}
}

function StopTimer(evt) {
	ClearTimer();
	evt = (evt) ? evt : ((event) ? event : null);
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem) {
    		if (!elem.tagName) {
    		    elem = elem.parentNode; /* NN fix */
    		}
    	    if (elem.tagName == "SPAN") {
    	        elem = elem.parentNode;
    	    }
    		if (elem.tagName == "A" && !PointsToSub(elem) && !elem.parentNode.parentNode.isSub) {
    			MenuClearAll(true);
    		}
    		//if (elem.tagName == "A") elem.parentNode.style.backgroundImage = "url("+prefix+"gfx/li.gif)";
		}
	}
}

function StartTimer(evt) {
	evt = (evt) ? evt : ((event) ? event : null);
	var timeout = 500;
	if (evt) {
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
        if (elem.tagName == "SPAN") {
        	elem = elem.parentNode;
        }
    	if (elem && elem.tagName == "A") {
    		elem.parentNode.style.backgroundImage = "url(gfx/trans.gif)";
    	}
	}
	//alert(timeout);
	menuTimer = setTimeout("MenuClearAll()", timeout);
	fullexit = true;
}

function ClearTimer() {
	clearTimeout(menuTimer);
	fullexit = false;
}

function showHideSelectControls(action,x,y,width,height) { 
	var right=x+width-1; 
	var bottom=y+height-1; 
	
	var selectControls=document.getElementsByTagName("select"); 
	for (var i=0; i<selectControls.length; i++) {
		if (action=='hide') {
			var sx=selectControls[i].offsetLeft; 
			var sy=selectControls[i].offsetTop; 
	
			// sx and sy are relative to parent. Compute absolute values 
			var parent=selectControls[i].offsetParent; 
			do { 
				sx += parent.offsetLeft; 
				sy += parent.offsetTop; 
			} while (parent = parent.offsetParent); 
			
			var sRight=sx+selectControls[i].offsetWidth-1; 
			var sBottom=sy+selectControls[i].offsetHeight-1; 

			if(x <= sRight 
			&& right >= sx 
			&& y <= sBottom 
			&& bottom >= sy) 
				selectControls[i].style.visibility='hidden'; 

		} else {
			selectControls[i].style.visibility='visible'; 
		}
	} 
}


