NewsTicker = function(newsticker_data_id, timeout){
  
  this.lines = $.map($(newsticker_data_id + ' > p'), function(element){ return $(element).html() });
  this.timeout = timeout;
}
NewsTicker.prototype.start = function(){
  this.cur = 0;
  this.len = this.lines.length;
  this.tick();
};
NewsTicker.prototype.tick = function(){
  $('#newsticker').html(this.lines[this.cur]);
  var next = this.cur + 1;
  if(next < this.len){
    this.cur = next;
  } else {
    this.cur = 0;
  }
  var ticker = this;
  setTimeout(function() { ticker.tick(); }, ticker.timeout);
};

$(function(){
  var nt = new NewsTicker('#newsticker_data', 2000);
  nt.start();
});
