
	var imageDiv = "zoomImage";
	var backgroundDiv = "zoomImageBackground";
	var finalWidth = 780;
	var finalHeight = 510;
	var fadetimeouts = new Array();
	var scrolling = 0;
	
	function pageSize() {
		finalWidth = (window.innerWidth) ? window.innerWidth-80 : document.body.clientWidth-80;
		finalHeight = (window.innerHeight) ? window.innerHeight-80 : document.body.clientHeight-80;
		scrolling = document.documentElement.scrollTop;
	}
	
	
	function keyHandler(e) {
		var kC  = (window.event) ?    // MSIE or Firefox?
			 event.keyCode : e.keyCode;
		var Esc = (window.event) ?
			27 : e.DOM_VK_ESCAPE // MSIE : Firefox
		if(kC == Esc)
			hideImage(imageDiv, backgroundDiv);
	} 

	function fadeImage(i, steps) {
		document.getElementById(imageDiv).style.opacity = i/steps;
		document.getElementById(imageDiv).style.filter = "alpha(opacity=" + Math.floor(i * 100 / steps) + ")"; // Internet Explorer
	}
	
	function showImage(imagelink, image, background, fadeIn) {
		pageSize();
		imageDiv = image;
		backgroundDiv = background;

		if(!document.getElementById(backgroundDiv)) {
			var backDivContainer = document.createElement("div");
			backDivContainer.id=backgroundDiv;
			backDivContainer.style.position="absolute";
			backDivContainer.style.left="0px";
			backDivContainer.style.width="100%";
			backDivContainer.style.height="100%";
			backDivContainer.style.opacity = 85;
			backDivContainer.style.filter = "alpha(opacity=0.85)"; // Internet Explorer
			backDivContainer.style.zIndex="90";
			backDivContainer.style.backgroundColor="#000000";
			document.getElementsByTagName("body")[0].appendChild(backDivContainer);
		}
		document.getElementById(backgroundDiv).style.display = 'block';
		document.getElementById(backgroundDiv).style.top = scrolling + "px";
		
		if(!document.getElementById(imageDiv)) {
			var imageDivContainer = document.createElement("div");
			imageDivContainer.id=imageDiv;
			imageDivContainer.style.position="absolute";
			imageDivContainer.style.left="40px";
			imageDivContainer.style.overflow="auto";
			imageDivContainer.style.opacity = 0;
			imageDivContainer.style.filter = "alpha(opacity=0)"; // Internet Explorer
			imageDivContainer.style.zIndex="100";
			document.getElementsByTagName("body")[0].appendChild(imageDivContainer);
		}
		document.getElementById(imageDiv).style.display = 'block';
		document.getElementById(imageDiv).style.top = scrolling + 40 + "px";
		
		// check if imageDivClose-element exists
		if(!document.getElementById(imageDiv+"Close")) { // if not, create it
			var imageDivClose = document.createElement("div");
			imageDivClose.id=imageDiv+"Close";
			imageDivClose.style.position="absolute";
			imageDivClose.style.left="140px";
			imageDivClose.style.zIndex="150";
			imageDivClose.innerHTML = '<a href="javascript:void(0)" onclick="hideImage(\'zoomImage\', \'zoomImageBackground\')">'
				+ '<img src="images/close.png" alt="Close"></a>';
			document.getElementsByTagName("body")[0].appendChild(imageDivClose);
		}
		document.getElementById(imageDiv+"Close").style.display = 'block';
		document.getElementById(imageDiv+"Close").style.top = scrolling + 90 + "px";
		
		document.getElementById(imageDiv).innerHTML = '<a href="'+imagelink+'" target="_blank"><img src="' + imagelink + '" alt="Image"></a>';
		document.getElementById(imageDiv).style.width=finalWidth+"px";
		document.getElementById(imageDiv).style.height=finalHeight+"px";
		if(fadeIn == true) {
			var i = 0;
			while(i <= 100) {
				fadetimeouts[i] = window.setTimeout("fadeImage("+i+", 100)", (i*6)); i++;
			}
		}
	}
	
	function hideImage(imageDiv, backgroundDiv) {
		
		document.getElementById(backgroundDiv).style.display = 'none';
		
		for(var i = 0; i <= 100; i++) {
			window.clearTimeout(fadetimeouts[i]);
		}
		document.getElementById(imageDiv).style.opacity = 0;
		document.getElementById(imageDiv).style.filter = "alpha(opacity=0)"; // Internet Explorer
		document.getElementById(imageDiv).style.display = 'none';
		document.getElementById(imageDiv+"Close").style.display = 'none';
		
		
	}
		
	document.onkeypress = keyHandler;
