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


function navigationhover() {
	levels = new Array;
	levels[0]=document.getElementById("level1");
	levels[1]=document.getElementById("level2");
	levels[2]=document.getElementById("level3");
	
	for (i=0; i<levels.length; i++) {
		if(levels[i]) {
			levels[i].onmouseover = function() { this.className+=" active"; }
			levels[i].onmouseout = function() { this.className=this.className.replace(new RegExp(" active\\b"), ""); }
		}
	}
}

function marbachSite() {
	var link = document.getElementById("marbachsiteLink");
	if(link) {
		link.onclick=function() {
			openPopup(this.href,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,copyhistory=0,width=550,height=550");
			return false;
		}
	}
}

function printLink() {
	var link = document.getElementById("printlink");
	if(link) {
		link.onclick=function() {
			print();
			return false;
		}
	}
}

function teamInstallation() {
	var link = document.getElementById("installationlink");
	if(link) {
		link.onclick=function() {
			openPopup(this.href,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,copyhistory=0,width=835,height=775");
			return false;
		}
	}
}

function openPopup(href,winopts) {
	smallwindow=window.open(href,"Popup",winopts);
	smallwindow.focus();
}

function links() {
	var links=document.getElementsByTagName("a");
	for(i=0;i<links.length;i++) {
		if (links[i].className.indexOf("backlink") >= 0) {
			links[i].onclick=function() {
				history.back();
				return false;
			}
		}
	}
}

function persons() {
	var personList=document.getElementById("persons");
	if(personList) {
		var links=personList.getElementsByTagName("a");
		for(i=0;i<links.length;i++) {
			links[i].onclick=function() {
				openPopup(this.href,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,copyhistory=0,width=450,height=450");
				return false;
			}
		}
	}
}

function showLogo() {
	var home=document.getElementById("homelink");
	if(home) {
		var logo=document.getElementById("logolayer");
		var link=document.getElementById("logolink");
		home.onmouseover = function() {			
			logo.className="active";
		}
		link.onmouseout = function() {
			logo.className="";
		}
	}
}

function dimSlideshow() {
	var bigpicutre=document.getElementById("caption");
	if(bigpicutre) {
		document.getElementById("slideshow").className="dim";
	}
}

function printpage() {
	var printlink = document.getElementById("printlink");
	if(printlink) {
		printlink.onclick = function () {
			print();
			return false;
		}	
	}
}

var browserWidth = 0;
var slidesSuperLow = new Array;
var slidesLow = new Array;
var slidesHigh = new Array;
var slideImg, vorige_hoofdrubriek, huidige_hoofdrubriek, huidige_slide;

function checkBrowserWidth() {
	
	browserWidth = getBrowserWidth();
		
	// als men in dezelfde hoofdrubriek zit als de vorige pagina, dan zelfde slide tonen
	if(huidige_hoofdrubriek == vorige_hoofdrubriek) {
		slideNumber = vorige_slide;
	} else {
		slideNumber = random_getal;
	}
	
	SetCookie("vorige_slide", slideNumber);
	
	if(slideImg) {
		if(browserWidth > 1280) {
			slideImg.src = slidesHigh[slideNumber];
		} else {
			if(browserWidth > 1024) {
				slideImg.src = slidesLow[slideNumber];
			} else {
				slideImg.src = slidesSuperLow[slideNumber];
			}
		}
	}
	return true;
}


function getBrowserWidth() {
	if (window.innerWidth) {
		return window.innerWidth;
	} else if (document.documentElement && document.documentElement.clientWidth != 0) {
		return document.documentElement.clientWidth;
	} else if (document.body) {
		return document.body.clientWidth;
	}
	return 0;
}

function initialize() {
	slideImg = document.getElementById("slide");
	
	if(slideImg) {
		random_getal = get_random(slidesLow.length);
		
		vorige_hoofdrubriek = GetCookie("vorige_hoofdrubriek");
		vorige_slide 				= GetCookie("vorige_slide");
		
		if(isNaN(vorige_hoofdrubriek)) {
			vorige_hoofdrubriek = -1;
		}
		
		huidige_hoofdrubriek = slideImg.className;
		
		SetCookie("vorige_hoofdrubriek", huidige_hoofdrubriek);
				
		checkBrowserWidth();
		window.onresize = checkBrowserWidth;
	}
}

function get_random(aantal) {
	//geeft random integer tussen 0 en aantal-1
	var ranNum= Math.floor(Math.random()*aantal);
  return ranNum;
}

function SetCookie (name, value) {
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function GetCookie(name) {
	var cookiestring=""+document.cookie;
	var index1=cookiestring.indexOf(name);
	if (index1==-1 || name=="") return ""; 
	var index2=cookiestring.indexOf(';',index1);
	if (index2==-1) index2=cookiestring.length; 
	return unescape(cookiestring.substring(index1+name.length+1,index2));
}

addLoadEvent(initialize);
addLoadEvent(navigationhover);
addLoadEvent(marbachSite);
addLoadEvent(teamInstallation);
addLoadEvent(links);
addLoadEvent(showLogo);
addLoadEvent(persons);
addLoadEvent(printLink);
addLoadEvent(dimSlideshow);
addLoadEvent(printpage);

