

var TwitterTimeline = function(){

};

TwitterTimeline.prototype = {
    timer: null,
    start: function(delay){
        if (typeof delay === "undefined" || delay === null) {
            delay = 5;
        }
        this.stop();
        this.timer = setInterval(twitterTimeline.load, delay * 60 * 1000);
        twitterTimeline.load();
    },
    stop: function(){
        if (this.timer != null) {
            clearInterval(this.timer);
        }
    },
    load: function(){
        jQuery("#twitter-tweets").empty().append(jQuery("#shared-loading").clone().attr("id", "twitter-loading").removeClass("hidden"));
        
				var data = twitterstream;
				        
        if (typeof data === "undefined" || data === null) {
            jQuery("#twitter-tweets").empty().append(jQuery("#shared-error").clone().attr("id", "twitter-error").removeClass("hidden").html("Unable to load tweets"));
            return;
        }
        
        jQuery("#twitter-tweets").empty();
        for (var i = 0; i < data.length; ++i) {
            var tweet = data[i];
            var urlParse = function(input){
                var result = input;
                var urlRE = /(https?:\/\/[^\s]+)/gi;
                result = result.replace(urlRE, "<a target=\"_blank\" href=\"$1\">$1</a>");
                return result;
            };
            var rtParse = function(input){
                var result = input;
                var trRE = /^(rt\s)/gi;
                result = result.replace(trRE, "<img title=\"retweet\" alt=\"rt\" src=\"assets/images/retweet.png\" class=\"retweet\"/>");
                return result;
            };
            var userParse = function(input){
                var result = input;
                var userRE = /@([^\s]+)/gi;
                result = result.replace(userRE, "<a target=\"_blank\" href=\"http://twitter.com/$1\">@$1</a>");
                return result;
            };
            var tagParse = function(input){
                var result = input;
                var tagRE = /\#(\S{1,})/gi;
                result = result.replace(tagRE, "<a target=\"_blank\" href=\"http://twitter.com/#search?q=%23$1\">#$1</a>");
                return result;
            };
            var html = "<div class=\"tweet\">";
            html += "<a href=\"http://twitter.com/" + tweet.user.screen_name + "\">";
            html += "<img class=\"avatar\" alt=\"\" title=\"" + tweet.user.name + "\" src=\"" + tweet.user.profile_image_url + "\" /></a>";
            html += "<span class=\"message\">" + rtParse(userParse(tagParse(urlParse(tweet.text)))) + "</span>";
            html += "<span class=\"via\">[source: " + tweet.source + "]</span>";
            html += "<span class=\"time\" title=\"" + tweet.created_at + "\">" + prettyDate(tweet.created_at) + "</span>";
            html += "</div>";
            jQuery("#twitter-tweets").append(html);
        }
        /* function ( xhr, status, err ) {
         jQuery("#twitter-tweets").empty().append(jQuery("#shared-error").clone().attr("id","twitter-error").removeClass("hidden").html("Unable to load tweets"));
         }
         */
    }
};

var twitterTimeline = new TwitterTimeline();

google.setOnLoadCallback(function(){
    jQuery(function(){
        twitterTimeline.start(5);
    });
});
