﻿var Kampagne = new Class({
    initialize: function() {
        this._i = 0;
        this._periodical;
        this._aktiv = false;
        this._container = $$('#inhalt .kampagne')[0];
        this._ebenen = this._container.getChildren('div.ebene');
        this._aktuelleEbene = this._container.getChildren('div.ebene aktuell')[0];

        /*
        this._standpunkte = new Suche.Standpunkte();
        this._standpunkte.addEvent('onLoaded', this.standpunkteAnzeigen.bind(this));
        */

        this.addEvents();
        //this.ebeneAnzeigen(1);

        //this.ebeneAnzeigen().delay(1000, this, this._aktuelleEbene);

        /*
        var Site = { counter: 0 };
        var addCount = function() { this.counter++; };
        addCount.periodical(1000, Site);
        */

        var fn = function() {
            this._i += 1;
            if (this._i == this._ebenen.length)
                this._i = 0;

            this.ebeneAnzeigen(this._i);
        } .bind(this);

        this._periodical = fn.periodical(6000);

    },

    ebeneAnzeigen: function(index) {
        if (this.aktiv) return;

        // Menuleiste einstellen
        var ul = this._container.getChildren('ul')[0];
        var buttons = ul.getElements('a');
        var button = ul.getElement('a.aktuell');

        button.removeClass('aktuell');
        buttons[index].addClass('aktuell');               
        
        var aktuell = this._aktuelleEbene;
        var neu = this._ebenen[index];

        if (aktuell == neu) return;

        neu.setStyles({
            display: 'block',
            visibility: 'visible',
            opacity: 1
        });

        this.aktiv = true;

        var fx = new Fx.Tween(aktuell, {
            duration: 'normal',
            onComplete: function() {
                aktuell.removeClass('aktuell');
                aktuell.setStyle('display', 'none');
                neu.addClass('aktuell')
                this._aktuelleEbene = neu
                this.aktiv = false;
            } .bind(this)
        });

        fx.start('opacity', 0);
    },

    addEvents: function() {
        var ul = this._container.getChildren('ul')[0];
        var buttons = ul.getChildren('li');
        buttons.each(function(item, index) {
            item.addEvent('click', function() {
                this.ebeneAnzeigen(index);
                $clear(this._periodical);
            }.bind(this))
        } .bind(this));

        return;

        if (this._aktuelleEbene.hasClass('aktuell'))
            alert('ja');
        else
            alert('neine');


        this._ebenen.each(function(item, index) {
            //alert(index + " = " + item);
        });


    }
});

window.addEvent('load', function() {
    var kampagne = new Kampagne();
});
