/**
 * Random message
 */
var RandomMessage = Class.create({
  /**
   * Current messages
   *
   * @var array
   */
  messages: null,

  /**
   * PeriodicalExecuter instance
   *
   * @var PeriodicalExecuter
   */
  timer: null,

  /**
   * Container of message
   *
   * @var Element
   */
  message: null,

  /**
   * Container of author
   *
   * @var Element
   */
  author: null,

  /**
   * Set messages and start random message
   *
   * @param messages
   * @param options
   */
  initialize: function (messages, options)
  {
    this.messages = messages;
    this.message = $(options.message);
    this.author = $(options.author);
    this.interval = options.interval;
    this.timer = new PeriodicalExecuter(this.randomMessage.bind(this), this.interval);
    this.randomMessage();
  },

  /**
   * Sort a message and show
   */
  randomMessage: function ()
  {
    var message = this.messages.rand();
    this.message.update('&ldquo;' + message[0] + '&rdquo;');
    this.author.update(message[1]);
  }
});
