﻿function Twitter(targetElementID, url, interval) {
    var self = this;

    self.targetElementID = targetElementID;
    self.url = url;
    self.currentTweet = 0;
    self.twitterFeed = [];
    self.interval = interval;

    self.ShowText = function() {
        var html = jQuery.tmpl("tweetTemplate", self.twitterFeed[self.currentTweet]);
        jQuery('#' + self.targetElementID).html(html);
        jQuery('#' + self.targetElementID).fadeIn(200);
        self.currentTweet++;
        if (self.currentTweet == self.twitterFeed.length - 1) {
            self.currentTweet = 0;
        }
    }

    self.SetText = function() {
        jQuery('#' + self.targetElementID).fadeOut(200, self.ShowText);
    }

    self.OnSuccess = function(response) {
        self.twitterFeed = eval(response.d);
        self.SetText();
        setInterval(function() { self.SetText(); }, self.interval);
    }

    self.GetFeed = function() {
        jQuery.template("tweetTemplate", "<div class='Text'>{{html TweetText}}</div><div class='Date'>${DateText}</div>");
        jQuery.ajax({
            type: "POST",
            url: self.url,
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: self.OnSuccess,
            error: function() {
                $('#' + self.targetElementID).html("Error retrieving twitter feed");
            }
        });
    }
}
var twitter;
jQuery(document).ready(function() {
    var feed = window.location.protocol + "//" + window.location.host + "/Services/Twitter.asmx/GetTwitterFeed";
    twitter = new Twitter("TwitterText", feed, 9000);
    twitter.GetFeed();
});
