/*****
Image Cross Fade Redux
Version 1.0
Last revision: 02.15.2006
steve@slayeroffice.com

Please leave this notice intact

Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html

modifiziert von Franziska Maelzer: http://die.netzspielwiese.de/blog/javascript-dom/2006-06/dom-scripting-slideshow
modified by Ralph Niemeyer (r.niemeyer@birfood.de): http://www.birfood.de/ (19.01.2010)
Images have to be in a div-Tree:
<div id="slideshow">
  <img class="start" src="first.img">
  ...
  <img src="last.img">
</div>
*****/

window.addEventListener ? window.addEventListener("load", ss_init, false) : window.attachEvent("onload", ss_init);

var images = new Array();
var current = 0;
var speed = 3000;

function ss_init() {
    images = document.getElementById("slideshow").getElementsByTagName("img");
    images[0].xOpacity = 1.0;

    for(var i = 1; i < images.length; ++i) {
  images[i].xOpacity = 0.0;
    }

    setTimeout(ss_fade, speed);
}

function ss_fade() {
    cOpacity = images[current].xOpacity;
    next = images[current + 1] ? current + 1 : 0;
    nOpacity = images[next].xOpacity;

    cOpacity -= 0.05;
    nOpacity += 0.05;

    images[next].style.visibility = "visible";
    images[next].style.display = "block";
    images[current].xOpacity = cOpacity;
    images[next].xOpacity = nOpacity;

    setOpacity(images[current]);
    setOpacity(images[next]);

    if (cOpacity <= 0) {
        images[current].style.display = "none";
        current = next;
        setTimeout(ss_fade, speed);
    } else {
        setTimeout(ss_fade, 50);
    }
}

function setOpacity(obj) {
    if (obj.xOpacity > .99) {
        obj.xOpacity = .99;
    } else {
        obj.style.opacity = obj.xOpacity;
        obj.style.MozOpacity = obj.xOpacity;
        obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
    }
}
