var newsScroller_listContainerID='homeNewsFeeds'; //ID of the element containing the list to be scrolled
var newsScroller_jumpBackSpeed=1500; //In milliseconds (1000 = 1sec)
var newsScroller_scrollSpeed=100; //Smaller number = faster and smoother, larger number = slower and jumpier
var newsScroller_scrollIncrement=1; //Smaller = slower and smoother, larger = faster and jumpier

var newsScroller_newsHeadlinesUL, newsScroller_IntervalID, newsScroller_TimeoutID;

addLoadEvent( function() {

    //Get the element containing the list
    var newsScroller_newsHeadlines = document.getElementById(newsScroller_listContainerID);
    if (!newsScroller_newsHeadlines) return;

    //Get the list elements in the container and select the first one
    var newsScroller_uls = newsScroller_newsHeadlines.getElementsByTagName('ul');
    if (!newsScroller_uls || !newsScroller_uls[0]) return;

    newsScroller_newsHeadlinesUL = newsScroller_uls[0];

    //Change the overflow type to hidden to remove the scrollbar (used for accessibility if the user doesnt have JS enabled)
    newsScroller_newsHeadlinesUL.style.overflow='hidden';

    //Start the scroller
    newsScroller_IntervalID = window.setInterval( newsScroller_scroller ,newsScroller_scrollSpeed);
    newsScroller_TimeoutID = 0;

    //If the user places the mouse over the container stop the scroller
    newsScroller_newsHeadlines.onmouseover = function() {
      clearInterval( newsScroller_IntervalID );
      clearTimeout ( newsScroller_TimeoutID );
    }

    //When the user moves the mouse out of the container restart the scroller
    newsScroller_newsHeadlines.onmouseout = function() {
      newsScroller_IntervalID = window.setInterval( newsScroller_scroller ,newsScroller_scrollSpeed);
    }

} );

//Function used to scroll through the list
function newsScroller_scroller() {

  //Scroll down the list by the specified increment
  newsScroller_newsHeadlinesUL.scrollTop=newsScroller_newsHeadlinesUL.scrollTop+newsScroller_scrollIncrement;

  //If we are at the end of the list
  if (newsScroller_newsHeadlinesUL.scrollTop>=(newsScroller_newsHeadlinesUL.scrollHeight-newsScroller_newsHeadlinesUL.offsetHeight)) {
  
    //Stop the scroller
    clearInterval( newsScroller_IntervalID );
  
    //Jump back to the top after 1.5seconds
    newsScroller_TimeoutID = window.setTimeout( function() {
    
      //Set the scroll position to the top
      newsScroller_newsHeadlinesUL.scrollTop = 0;
      
      //restart the scroller (after checking it is dead)
      clearInterval( newsScroller_IntervalID );
      newsScroller_IntervalID = window.setInterval( newsScroller_scroller ,newsScroller_scrollSpeed);
      
    }, newsScroller_jumpBackSpeed );
  }
}