var diapoBackOpacity;
var diapoOpacity;
var diapoFadeTimer;
var diapoFading;
var diapoLang;
var diapoStartImage;

function setOpacity(elt, opacity) {
	if (elt.style.opacity != undefined)
		elt.style.opacity = opacity;
	else if (elt.style.filter != undefined)
		elt.style.filter = 'alpha(opacity='+Math.round(100*opacity)+')';
}

function placeDiapo() {
	var diapoDivBack = document.getElementById("diapoDivBack");
	var diapoDiv = document.getElementById("diapoDiv");
	var diapoDivParent = diapoDivBack.parentNode;
	var siteRoot = document.getElementById("layoutRoot");
	var siteMaxHeight;

	if (document.documentElement.clientHeight > siteRoot.offsetHeight) {
		siteMaxHeight = document.documentElement.clientHeight;
	} else {
		siteMaxHeight = siteRoot.offsetHeight;
	}
  
	diapoDivBack.style.height = siteMaxHeight+"px";

	var scrollLeft = 0;
	scrollLeft = document.documentElement.scrollLeft;
	if (!scrollLeft)
		scrollLeft = document.body.scrollLeft; // Chrome/Safari

	var scrollTop = 0;
	scrollTop = document.documentElement.scrollTop;
	if (!scrollTop)
		scrollTop = document.body.scrollTop; // Chrome/Safari

	diapoDiv.style.left = ((document.documentElement.clientWidth / 2) - (diapoDiv.offsetWidth / 2) + scrollLeft) + "px";
	diapoDiv.style.top = ((document.documentElement.clientHeight / 2) - (diapoDiv.offsetHeight / 2) + scrollTop) + "px";
}

function startDiapoFadeIn(lang, imgIdx) {
	if (!diapoFading) {
		diapoBackOpacity = 0.0;
		diapoOpacity = 0.0;

		var diapoDivBack = document.getElementById("diapoDivBack");
		var diapoDiv = document.getElementById("diapoDiv");
		var diapoLeft = document.getElementById("diapoLeft");

		if (diapoLeft.pausePlayback)
			diapoLeft.pausePlayback();

		setOpacity(diapoDivBack, 0.0);
		setOpacity(diapoDiv, 0.0);

		diapoDiv.style.display = "block";
		diapoDivBack.style.display = "block";

		placeDiapo();

		diapoLang = lang;
		diapoStartImage = imgIdx;

		diapoFading = true;
		diapoFadeTimer = setInterval("doDiapoFadeIn()", 40);
	}
}
function doDiapoFadeIn() {
	if (diapoBackOpacity == 0.5) {
		if (diapoOpacity == 1.0) {
			flashDynInsert("diapoDivFlash", "diapoFull", "100%", "100%", "opaque", "src=parts_" + diapoLang + "/diapo&lang=" + diapoLang + "&imgStartIdx=" + diapoStartImage);

			clearInterval(diapoFadeTimer);
			diapoFading = false;
		} else {
			diapoOpacity += 0.1;
			if (diapoOpacity > 1.0)
				diapoOpacity = 1.0;

			var diapoDiv = document.getElementById("diapoDiv");
			setOpacity(diapoDiv, diapoOpacity);
		}
	} else {
		diapoBackOpacity += 0.04;
		if (diapoBackOpacity > 0.5)
			diapoBackOpacity = 0.5;

		var diapoDivBack = document.getElementById("diapoDivBack");
		setOpacity(diapoDivBack, diapoBackOpacity);
	}
}

function startDiapoFadeOut() {
	if (!diapoFading) {
		diapoBackOpacity = 0.5;
		diapoOpacity = 1.0;

		var diapoDivBack = document.getElementById("diapoDivBack");
		var diapoDiv = document.getElementById("diapoDiv");

		setOpacity(diapoDivBack, diapoBackOpacity);
		setOpacity(diapoDiv, diapoOpacity);

		flashDynRemove("diapoDivFlash");

		diapoFading = true;
		diapoFadeTimer = setInterval("doDiapoFadeOut()", 40);
	}
}
function doDiapoFadeOut() {
	var diapoDivBack = document.getElementById("diapoDivBack");
	var diapoDiv = document.getElementById("diapoDiv");
	var diapoLeft = document.getElementById("diapoLeft");

	if (diapoOpacity == 0.0) {
		if (diapoBackOpacity == 0.0) {
			clearInterval(diapoFadeTimer);
			diapoDiv.style.display = "none";
			diapoDivBack.style.display = "none";
			if (diapoLeft.resumePlayback)
				diapoLeft.resumePlayback();
			diapoFading = false;
		} else {
			diapoBackOpacity -= 0.04;
			if (diapoBackOpacity < 0.0)
				diapoBackOpacity = 0.0;

			setOpacity(diapoDivBack, diapoBackOpacity);
		}
	} else {
		diapoOpacity -= 0.1;
		if (diapoOpacity < 0.0)
			diapoOpacity = 0.0;

		setOpacity(diapoDiv, diapoOpacity);
	}
}
