var FaderFramework = {

    oldWinOnLoad: false,
    inits: new Array(),
    faders: new Object(),

    init: function (einstellungen) {
        var fader;

        if (this.inits) {
            this.inits[this.inits.length] = einstellungen;

        } else {
            fader = new this.Fader(einstellungen);

            if (fader != false && !this.faders[fader.id]) {
                this.faders[fader.id] = fader;
                window.setTimeout(function () {    fader.next(); }, 12000);
            }
        }
    },

    start: function () {
        this.oldWinOnLoad = window.onload;

        window.onload = function () {
            if (typeof(FaderFramework.oldWinOnLoad) == "function") {
                FaderFramework.oldWinOnLoad();
            }
            FaderFramework.onload();
        };
    },

    onload: function () {
        var i, fader, e = document.createElement("link");
       /* e.type = "text/css";
        e.rel = "stylesheet";
        e.href = "fileadmin/vabb/tmpl/fader_framework/fader_framework.css";
        document.getElementsByTagName("head")[0].appendChild(e);*/

        fader = this.inits;
        delete this.inits;

        for (i = 0; i < fader.length; i++) {
            this.init(fader[i]);
        }
    },

    Fader: function (einstellungen) {
        if (!einstellungen.id || !document.getElementById(einstellungen.id)
            || FaderFramework.faders[einstellungen.id]
            || einstellungen.images.length < 2) {

            return new Boolean(false);
        }

        var i, original = document.getElementById(einstellungen.id);

        this.id = einstellungen.id;
        this.reload=einstellungen.reload;
        this.images = new Array();
        this.texte = new Array();
        this.texte2 = new Array();
        this.frecid= new Array();
        this.counter = false;

        this.element = document.createElement("span");
        this.element.className = "fader";
        original.parentNode.replaceChild(this.element, original);

        for (i = 0; i < einstellungen.images.length; i++) {
            this.images[i] = document.createElement("img");
            this.images[i].src = einstellungen.images[i];
            this.images[i].alt = "Bild";
	    this.texte[i] = einstellungen.texte[i];
            this.texte2[i] = einstellungen.texte2[i];
            this.frecid[i] = einstellungen.frecid[i];
            if (i == 0) {
                this.element.appendChild(this.images[i]);
            }
        }

        this.fade = function (step) {
            var fader = this, imgs = this.element.getElementsByTagName("img"), txt1=this.element.getElementsByTagName("font");

            step = (!step) ? 0 : step;

            imgs[1].style.opacity = step/100;
            imgs[1].style.filter = "alpha(opacity=" + step + ")"; // IE?

            step = step + 2;

            if (step <= 100) {
                window.setTimeout(function () { fader.fade(step); }, 1);
            } else {
                imgs[1].className = "";
                this.element.removeChild(imgs[0]);
                //txt1[0].innerHTML="franz";
              //  document.getElementById("fadtxt").innerHTML=this.texte[this.counter];
               // document.getElementById("fadtxt2").innerHTML=this.texte2[this.counter];
                /* wenn realurl aus
                document.getElementById("faderimagelink").href=document.getElementById("faderlink_vorlage").href+"&tx_julleevents_pi1[showUid]="+this.frecid[this.counter];
                document.getElementById("fadtxt").href=document.getElementById("faderlink_vorlage").href+"&tx_julleevents_pi1[showUid]="+this.frecid[this.counter];
                */
                /*wenn realurl ein: */
                /*document.getElementById("faderimagelink").href=document.getElementById("faderlink_vorlage").href+"?tx_julleevents_pi1[showUid]="+this.frecid[this.counter];
                document.getElementById("fadtxt").href=document.getElementById("faderlink_vorlage").href+"?tx_julleevents_pi1[showUid]="+this.frecid[this.counter];
                */
                window.setTimeout(function () { fader.next(); }, this.reload);
            }
        };

        this.next = function () {
            this.counter = (this.counter < this.images.length -1) ? this.counter +1 : 0;
	    
            this.element.appendChild(this.images[this.counter]);
            this.images[this.counter].className = "next";
            this.fade();
        };
    }
};

FaderFramework.start();

