var bildwechsel = new Object();
bildwechsel.laden = false;
bildwechsel.initialisierungswerte = new Array();
bildwechsel.faders = new Object();
bildwechsel.init = function(parameter) {
    var fader;
    if (this.initialisierungswerte) {
        this.initialisierungswerte[this.initialisierungswerte.length] = parameter;
    } else {
        fader = new this.Fader(parameter);
        if (fader != false && !this.faders[fader.id]) {
            this.faders[fader.id] = fader;
            window.setTimeout(function() { fader.next(); }, fader.viewTime);
        }
    }
};
bildwechsel.start = function() {
    this.laden = window.onload;
    window.onload = function () {
        if (typeof(bildwechsel.laden) == "function")
            bildwechsel.laden();
        setTimeout("bildwechsel.onload()", 4000);
    };
};
bildwechsel.onload = function() {
    var fader = this.initialisierungswerte;
    delete this.initialisierungswerte;
    for (var i = 0; i < fader.length; i++) {
        this.init(fader[i]);
    }
};
bildwechsel.Fader = function(parameter) {
    if (!parameter.id || !document.getElementById(parameter.id) || bildwechsel.faders[parameter.id] || parameter.bilder.length < 2)
        return new Boolean(false);
    var i, orig = document.getElementById(parameter.id);
    this.id = parameter.id;
    this.bilder = new Array();
    this.zaehler = false;
    this.element = document.createElement("span");
    this.element.className = "fader";
    orig.parentNode.replaceChild(this.element, orig);
    for (i = 0; i < parameter.bilder.length; i++) {
        this.bilder[i] = document.createElement("img");
        this.bilder[i].src = parameter.bilder[i];
        this.bilder[i].alt = "Bild";
        if (i == 0)
            this.element.appendChild(this.bilder[i]);
    }
    this.fade = function(opwert) {
        var fader = this, imgs = this.element.getElementsByTagName("img");
        opwert = (!opwert) ? 0 : opwert;
        imgs[1].style.opacity = opwert/100;
        imgs[1].style.filter = "alpha(opacity=" + opwert + ")";
        opwert = opwert + 2;
        if (opwert <= 100) {
						// rekursiver Aufruf der Funktion fader.fade
            window.setTimeout(function () { fader.fade(opwert); }, 1);
        } else {
            imgs[1].className = "";
            this.element.removeChild(imgs[0]);
            window.setTimeout(function () { fader.next(); }, 4000);
        }
    };
    this.next = function() {
        this.zaehler = (this.zaehler < this.bilder.length -1) ? this.zaehler +1 : 0;
        this.element.appendChild(this.bilder[this.zaehler]);
        this.bilder[this.zaehler].className = "next";
        this.fade();
    };
};
bildwechsel.start();
