/*****
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
*****/

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


function so_init() {
        if(!d.getElementById || !d.createElement)return;

        // erstes Bild wird eingelesen
        bild = d.getElementById("slideshow").getElementsByTagName("img");
        bilder[0] = bild[0];
        bilder[0].style.display = "block";
        bilder[0].xOpacity = 0.99;

        bilder[1] = new Image();
        bilder[1].src = bilderPfad + "002.jpg";
        bilder[1].xOpacity = 0;
        d.getElementById("slideshow").appendChild(bilder[1]);

        setTimeout(so_xfade,geschwindigkeit);
        neuesBild();
}

function so_xfade() {
        cOpacity = bilder[aktuell].xOpacity;
        nIndex = bilder[aktuell+1]?aktuell+1:0;
        nOpacity = bilder[nIndex].xOpacity;

        cOpacity-=0.05;
        nOpacity+=0.05;

        bilder[nIndex].style.display = "block";
        bilder[aktuell].xOpacity = cOpacity;
        bilder[nIndex].xOpacity = nOpacity;

        setOpacity(bilder[aktuell]);
        setOpacity(bilder[nIndex]);

        if(cOpacity<=0) {
                bilder[aktuell].style.display = "none";
                aktuell = nIndex;
                setTimeout(so_xfade,geschwindigkeit);
                neuesBild();
        } else {
                setTimeout(so_xfade,50);
        }

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

function neuesBild() {
        // immer ein Bild vorausladen
        if ( (aktuell < (bilderAnzahl-2)) && (bilder.length < bilderAnzahl) ) {
                bilder[aktuell+2] = new Image();
                bilder[aktuell+2].src =  bilderPfad + "0" + ((aktuell+3)<10 ? "0" + (aktuell+3) : (aktuell+3)) + ".jpg"
                bilder[aktuell+2].xOpacity = 0;
                d.getElementById("slideshow").appendChild(bilder[aktuell+2]);
        }
}
