// Nachrichten

var NachrichtenAnzeige = Class.create();
  NachrichtenAnzeige.prototype = {
    initialize: function(element, options) {
      this.element = $(element);
      this.options = Object.extend({className: 'nachricht', anzeigeDauer: 2.5}, options);
      this.nachrichten = $A(document.getElementsByClassName(this.options.className, this.element));
      this.aktuelleNachricht = this.nachrichten.first();
      this.zeitgesteuerterAufruf();
    },


    naechsteNachricht: function() {
      return this.nachrichten[(this.nachrichten.indexOf(this.aktuelleNachricht) + 1) % this.nachrichten.length];
    },

    zeitgesteuerterAufruf: function() {
      window.setTimeout(this.ticken.bind(this), this.options.anzeigeDauer * 1000);
    },

    ticken: function() {
      var aktuelleNachricht = this.aktuelleNachricht, naechsteNachricht = this.naechsteNachricht();

      new Effect.Parallel([
        new Effect.Fade(aktuelleNachricht, {sync: true}),
        new Effect.Appear(naechsteNachricht, {sync: true})
      ], {
        duration: 2,
        afterFinish: (function(effect) {
          this.aktuelleNachricht = naechsteNachricht;
          this.zeitgesteuerterAufruf();
        }).bind(this)
      })
    }
  }
