/*
this script prettifies a multi-(static-)page image gallery by creating fading images;
only 'gallery_image' IDs in the source code required;
created by Michael Eichelsdoerfer (www.michael-eichelsdoerfer.de);
inspired by "Onload image fades without Flash" (www.clagnut.com/sandbox/imagefades/);
v 1.2, 2007-11-29
v 1.3, 2009-01-26: changed loading to use jQuery
*/

document.write("<style type='text/css'>#gallery_image {visibility:hidden;}</style>");

function initImage() {
	var imageId = 'gallery_image';
	if (!document.getElementById(imageId)) return;
	var image = document.getElementById(imageId);
	setOpacity(image, 0);
	image.style.visibility = "visible";
	fadeIn(imageId,0);
}

// addLoadEvent(initImage);

$(document).ready(function(){
	initImage();
});

function fadeIn(objId,opacity) {
	if (document.getElementById) {
		var obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 5;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 40);
		} else {
			// prepareLinks();
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

function prepareLinks() {

	if(!document.getElementsByTagName) return false;
	var links = document.getElementsByTagName('a');
	for (var i=0; i<links.length; i++) {
		// do not fade if it's a link to a PDF
		if (links[i].getAttribute('href').indexOf('.pdf') == -1) {
			links[i].onclick = function() {
				targetPage = this.getAttribute('href');
				initFadeOut();
				return false;
			}
		}
	}
}

function initFadeOut() {
	var imageId = 'gallery_image';
	var image = document.getElementById(imageId);
	setOpacity(image, 100);
	image.style.visibility = "visible";
	fadeOut(imageId,100);
}

function fadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity >= 0) {
			setOpacity(obj, opacity);
			opacity -= 5;
			window.setTimeout("fadeOut('"+objId+"',"+opacity+")",20);
		} else {
			window.location = targetPage;
		}
	}
}
