﻿function Whiteboard(whiteboard, timeout) {
    this.messages = [];
    var nl = $(whiteboard).getElementsByTagName('div');
    for (var i = 0; i < nl.length; i++) {
        if (Element.hasClassName(nl[i], 'wbmessage')) {
            this.messages.push(nl[i]);
        }
    }
    for (var i = 0; i < this.messages.length; i++) {
        this.messages[i].style.zIndex = this.messages.length - i;
    }
    
    this.timeout = timeout;
    this.current = 0;
    
    Element.show(whiteboard);
    setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
}

Whiteboard.prototype = {
    next: function() {
      for (var i = 0; i < this.messages.length; i++) {
        var message = this.messages[(this.current + i) % this.messages.length];
        message.style.zIndex = this.messages.length - i;
      }
      Effect.Fade(this.messages[this.current], {
      afterFinish: function(effect) {
          effect.element.style.zIndex = 0;
          Element.show(effect.element);
          Element.setOpacity(effect.element, 1);
      }
      });
      this.current = (this.current + 1) % this.messages.length;
      setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
    }
}
