var NewsTicker = Class.create();
NewsTicker.prototype = {
  initialize: function(elementId) {
    this.elementId = elementId;
    Event.observe(window, 'load', this.startTicker.bind(this));
  },

  startTicker: function() {
    this.previousPointer = 0;
    this.nextPointer = 2;
    this.children = new Array();
    this.element = $(this.elementId);
    for(i=0; i<this.element.childNodes.length; i++) {
      if(this.element.childNodes[i].tagName == "LI"){
        this.children.push(Element.extend(this.element.childNodes[i]));
      }
    }

    this.maxIndex = this.children.length - 1;

    if (this.maxIndex > 1) {
      this.children[0].toggle();
      this.children[1].toggle();
      setInterval(this.tick.bind(this), 10000);
    }
    else if (this.maxIndex == 1)
    {
      this.children[0].toggle();
      this.children[1].toggle();
    }
    else if (this.maxIndex == 0)
    {
      this.children[0].toggle();
    }
  },

  tick: function() {

    var startElementIndex1 = this.previousPointer;
    var startElementIndex2 = this.previousPointer + 1;

    var endElementIndex1 = this.nextPointer;
    var endElementIndex2 = this.nextPointer + 1;

    this.children[startElementIndex1].toggle();
    this.children[endElementIndex1].toggle();

    if(endElementIndex2 > this.maxIndex) {
       this.children[startElementIndex2].toggle();
    } else if(startElementIndex2 > this.maxIndex) {
       this.children[endElementIndex2].toggle();
    } else {
      this.children[startElementIndex2].toggle();
      this.children[endElementIndex2].toggle();
    }

    this.previousPointer = this.nextPointer;
    this.nextPointer = endElementIndex2 >= this.maxIndex ? 0 : endElementIndex2 + 1;
  }
};