
var navigation = false;
var showbackground = false;
//pagina kleiner maken bij lage resolutie


if (window.addEventListener){
	window.addEventListener("resize", resize, false);
} else {
	window.attachEvent("onresize", resize);
}


	if (window.addEventListener) {
		window.addEventListener("load", bodyInit, false);
	} else {
		window.attachEvent("onload", bodyInit);
	}



function bodyInit() {
	var Dock = new dock('dock');
	resize();
	//dynamisch transparantie
	var transparantinhoud = new transparant(document.getElementById("inhoud"), 50);
	var transparantnavigatie = new transparant(document.getElementById("navigatie"), 50);
	var showBackground = new showBackgroundImage();
	
	if (window.addEventListener) {
		document.getElementById("sluit").addEventListener("click", showBackground.transOut, false);
	} else {
		document.getElementById("sluit").attachEvent("onclick", showBackground.transOut);
	}


}

function showBackgroundImage() {
	showBackgroundImage.prototype.transOut = transOut;
	showBackgroundImage.prototype.trans = trans;
	showBackgroundImage.prototype.transNav = transNav;
	showBackgroundImage.prototype.navigatieTrans = navigatieTrans;
	
	var construct = eval(this);
	this.Obj = Array();
	this.Obj[0] = document.getElementById("inhoud");
	this.Obj[1] = document.getElementById("backgroundinhoud");
	this.Obj[2] = document.getElementById("navigatie");
	this.Obj[3] = document.getElementById("backgroundnavigatie");

	this.fps = 25;
	this.minTransObj = new Array()
	this.minTransObj[0] = 0;
	this.minTransObj[1] = 0;
	this.minTransObj[2] = 0;
	this.minTransObj[3] = 0;
	this.maxTransObj = new Array()
	this.maxTransObj[0] = 100;
	this.maxTransObj[1] = 50;
	this.maxTransObj[2] = 100;
	this.maxTransObj[3] = 50;
	
	this.lengthAnimation = 500;
	
	this.stepWidthObj = new Array()
	this.stepWidthObj[0] = (this.maxTransObj[0] - this.minTransObj[0]) / (this.fps / 1000 * this.lengthAnimation);
	this.stepWidthObj[1] = (this.maxTransObj[1] - this.minTransObj[1]) / (this.fps / 1000 * this.lengthAnimation);
	this.stepWidthObj[2] = (this.maxTransObj[2] - this.minTransObj[2]) / (this.fps / 1000 * this.lengthAnimation);
	this.stepWidthObj[3] = (this.maxTransObj[3] - this.minTransObj[3]) / (this.fps / 1000 * this.lengthAnimation);

	this.opacityObj = new Array()
	this.opacityObj[0] = this.maxTransObj[0];
	this.opacityObj[1] = this.maxTransObj[1];
	this.opacityObj[2] = this.maxTransObj[2];
	this.opacityObj[3] = this.maxTransObj[3];

	this.timerOut = 0;
	this.direction = "out";
	


	function transOut() {
		showbackground = true;
		clearInterval(construct.timerOut);
		construct.timerOut = setInterval(function() {
			trans(construct.direction);
		}, 1000 / construct.fps);
	}

	function transNav() {
	
		if (navigation == false) {
			for (var i = 2; i < construct.Obj.length; i++) {
				construct.opacityObj[i] = 0;
				construct.Obj[i].style.opacity = 0;
				construct.Obj[i].style.filter = "alpha(opacity=0)";
			}
		}

		clearInterval(construct.timerOut);
		construct.timerOut = setInterval(function() {
			navigatieTrans();
		}, 1000 / construct.fps);
	}


	function navigatieTrans() {
			for (var i = 2; i < construct.Obj.length; i++) {

					construct.Obj[i].style.display = "block";
					construct.opacityObj[i] += construct.stepWidthObj[i];
					construct.Obj[i].style.opacity = (construct.opacityObj[i] / 100);
					construct.Obj[i].style.filter = "alpha(opacity=" + construct.opacityObj[i] + ")";
					
					if (construct.opacityObj[i] >= construct.maxTransObj[i]) {
						construct.Obj[i].style.opacity = (construct.maxTransObj[i] / 100);
						construct.opacityObj[i] = construct.maxTransObj[i];
						clearInterval(construct.timerOut);
						document.getElementById("sluit").style.backgroundPosition = "0px 0px"
						construct.direction = "out";
						navigation = true;
					}
			}
	}

	function trans(richting) {
		if (richting == "in") {
			for (var i = 0; i < construct.Obj.length; i++) {
				if ((i == 2 || i == 3) && construct.Obj[2].innerHTML == "") {
				
				} else {
					construct.Obj[i].style.display = "block";
				}
					construct.opacityObj[i] += construct.stepWidthObj[i];
					construct.Obj[i].style.opacity = (construct.opacityObj[i] / 100);
					construct.Obj[i].style.filter = "alpha(opacity=" + construct.opacityObj[i] + ")";
					
					if (construct.opacityObj[i] >= construct.maxTransObj[i]) {
						construct.Obj[i].style.opacity = (construct.maxTransObj[i] / 100);
						construct.opacityObj[i] = construct.maxTransObj[i];
						clearInterval(construct.timerOut);
						document.getElementById("sluit").style.backgroundPosition = "0px 0px"
						construct.direction = "out";
						showbackground = false;
					}
			}
		} else {
			for (var i = 0; i < construct.Obj.length; i++) {
				construct.opacityObj[i] -= construct.stepWidthObj[i];

				construct.Obj[i].style.opacity = (construct.opacityObj[i] / 100);	
				construct.Obj[i].style.filter = "alpha(opacity=" + construct.opacityObj[i] + ")";
				
				if (construct.opacityObj[i] <= construct.minTransObj[i]) {
					construct.Obj[i].style.opacity = (construct.minTransObj[i] / 100);
					construct.opacityObj[i] = construct.minTransObj[i];
					clearInterval(construct.timerOut);
					construct.Obj[i].style.display = "none";
					document.getElementById("sluit").style.backgroundPosition = "0px 22px"
					construct.direction = "in";
					showbackground = true;
					
				}
			}
		}
	}

}