var imgLoader;
var bgObj;
var boxObj;
var imgObj;
var textObj;
var oldIE = false;
var boxState = "hidden";
var boxLinks = new Array();
var boxTitles = new Array();
var boxIndex = 0;
var boxTotal = 0;
window.onload = function(){
	bgObj = document.getElementById("imgBoxBg");
	boxObj = document.getElementById("imgBox");
	imgObj = document.getElementById("imgBoxImage");
	textObj = document.getElementById("imgBoxText");
	bgObj.title = "Sluiten";
	bgObj.onclick = hideBox;
	setAlpha (boxObj,0);
	setAlpha (bgObj,0);
	if (document.body.runtimeStyle && !window.XMLHttpRequest){
		oldIE = true;
		boxObj.style.position = "absolute";
		bgObj.style.position = "absolute";
		resizeBg();
		window.onresize = resizeBg;
		window.onscroll = resizeBox;
	}
	var objs = document.getElementsByTagName ("A");
	for (var z = 0;z < objs.length;z++) if (objs[z].rel == "imgBox"){
		boxLinks[boxTotal] = objs[z].href;
		boxTitles[boxTotal] = objs[z].title;
		objs[z].index = boxTotal;
		objs[z].onclick = function(){return loadImg(this.index);}
		boxTotal++;
	}
}
document.onmousewheel = handleWheel;
document.onkeyup = function(e){
	var key = e ? e.keyCode : event.keyCode;
	if (key == 27)
		hideBox();
	else if (key == 37)
		changeImg(-1);
	else if (key == 39)
		changeImg(1);
}
function handleWheel(e){
	if (boxState != "hidden"){
		e = e ? e : event;
		if (delta = -e.wheelDelta || e.detail)
			changeImg (Math.abs (delta) / delta);
	}
	return boxState == "hidden";
}
function changeImg(index){
	if (boxIndex + index >= 0 && boxIndex + index < boxTotal)
		loadImg (boxIndex + index);
}
function loadImg(index){
	boxIndex = index;
	imgLoader = new Image();
	imgLoader.onload = showBox;
	imgLoader.src = boxLinks[boxIndex];
	textObj.innerHTML = "Afbeelding " + (boxIndex + 1) + " van " + boxTotal + "<br/>" + boxTitles[index];
	return false;
}
function showBox(){
	imgObj.src = imgLoader.src;
	if (boxState == "hidden"){
		setAlpha (bgObj,80);
		setAlpha (boxObj,100);
		boxObj.style.display = "block";
		bgObj.style.display = "block";
		boxState = "visible";
	}
	resizeBox();
}
function hideBox(){
	if (boxState == "visible"){
		bgObj.style.display = "none";
		boxObj.style.display = "none";
		setAlpha (bgObj,0);
		setAlpha (boxObj,0);
		boxState = "hidden";
	}
}
function resizeBox(){
	if (boxState != "hidden"){
		boxObj.style.width = imgObj.width + "px";
		boxObj.style.marginLeft = (boxObj.offsetWidth / -2) + "px";
		if (oldIE)
			boxObj.style.marginTop = ((document.body.scrollTop || document.documentElement.scrollTop) - (boxObj.offsetHeight / 2)) + "px";
		else
			boxObj.style.marginTop = (boxObj.offsetHeight / -2) + "px";
	}
}
function resizeBg(){
	bgObj.style.width = (document.body.offsetWidth + parseInt (document.body.currentStyle.marginLeft) + parseInt (document.body.currentStyle.marginRight)) + "px";
	bgObj.style.height = Math.max (Math.max (document.documentElement.clientHeight,document.body.offsetHeight) + parseInt (document.body.currentStyle.marginTop) + parseInt (document.body.currentStyle.marginBottom),document.body.scrollHeight) + "px";
}
function setAlpha (obj,alpha){
	if (obj.filters) obj.runtimeStyle.filter = "alpha(opacity=" + Math.round (alpha) + ")";
	else if (obj.style.MozOpacity !== undefined) obj.style.MozOpacity = alpha / 100;
	else if (obj.style.opacity !== undefined) obj.style.opacity = alpha / 100;
	else if (obj.style.KhtmlOpacity !== undefined) obj.style.KhtmlOpacity = alpha / 100;
}
