var Scroller = Class.create();

Object.extend(Scroller.prototype, {
  initialize: function(id,interval) {
    this.element = $(id);
    this.interval = interval;
    this.boxHeight = this.element.style.height.replace('px','')
    this.repeatHeight = this.element.scrollHeight;
    this.element.innerHTML = this.element.innerHTML + this.element.innerHTML;

    this.element.observe("mouseover",this.stop.bindAsEventListener(this));
    this.element.observe("mouseout",this.start.bindAsEventListener(this));

    this.start();
  },
  scroll: function(pe) {
	this.element.scrollTop=this.element.scrollTop+1
	if(this.element.scrollTop>this.repeatHeight) {
		this.element.scrollTop=0
	}
  },
  start: function(event) {
    if (this.pe) {
        this.pe.stop();
        this.pe.registerCallback();
    } else {
        this.pe = new PeriodicalExecuter(this.scroll.bind(this), this.interval);
    }
  },
  stop: function(event) {
    this.pe.stop();
  }
});

