﻿// News Feed
var srabcb_news_feed = function() {
    var me = this;
    // Config
    me.url = "http://rssfeeds.webmd.com/rss/rss.aspx?RSSSource=RSS_PUBLIC";
    me.feedSelector = "#srabcb-news-feed .body";
    me.interval = 5000;
    me.numFeeds = 10;

    me.currentIndex = -1;
    me.feed;
    me.feedCount;
    me.intervalRef;

    me.init = function() {
        var feed = new google.feeds.Feed(me.url);
        feed.setNumEntries(me.numFeeds);
        feed.load(function(result) {
            var feed_div = $(me.feedSelector);

            if (!result.error) {
                me.feed = result.feed.entries;
                me.feedCount = result.feed.entries.length;
                me.loadNext();
            }
            else {
                $(me.feedSelector).text("Error loading news.");
            }
        });
    }

    me.stopInterval = function() {
        clearInterval(me.intervalRef);
    }
    me.startInterval = function() {
        me.stopInterval();
        me.intervalRef = setInterval('srabcb_news_feed.loadNext();', me.interval);
    }
    me.load = function(entry) {
        me.startInterval();
        $(me.feedSelector).fadeOut('fast', function() {
            $(me.feedSelector).empty().append('<a href="' + entry.link + '" target="_blank">' + entry.title + '</a>').fadeIn('slow');
        });
//        $(me.feedSelector).empty().append('<a href="' + entry.link + '" target="_blank">' + entry.title + '</a>');
    }

    me.loadNext = function() {
        if (me.currentIndex < me.feedCount - 1) {
            me.currentIndex++;
        } else {
            me.currentIndex = 0;
        }
        me.load(me.feed[me.currentIndex]);
    }

    me.loadPrevious = function() {
        if (me.currentIndex > 0) {
            me.currentIndex--;
        } else {
            me.currentIndex = me.feedCount - 1;
        }
        me.load(me.feed[me.currentIndex]);
    }
}
var srabcb_news_feed = new srabcb_news_feed();
google.load("feeds", "1");
google.setOnLoadCallback(srabcb_news_feed.init);