﻿var tweetContainer;
var twitterSearch;

window.addEvent('domready', function() {
    tweetContainer = $('twitterSearch');
    twitterSearch = new TwitterSearch('#msdays09', {
        onComplete: showTwitterHistory,
        proxyUrl: 'TwitterProxy.aspx',
        onNewTweet: showNewTweet
    });
    twitterSearch.retrieve();
    //twitterSearch.updatePeriodically(25, showNewTweet);
});

function showTwitterHistory(tweets) {
    tweetContainer.empty();
    tweets.each(function(tweet, i) {
        tweetContainer.adopt(getFormattedTweetElt(tweet, i));
    });
}

function getFormattedTweetElt(tweet, index) {
    var li = new Element('li');
    var date = Date.parse(tweet.created_at).format('%H:%M');
    li.set('html', '<!-- tweet id : ' + tweet.id + ' -->' +
							   '<img src="' + tweet.profile_image_url + '" />' +
							   '<span class="user">' + tweet.from_user + '</span>' +
							   '<p>' + tweet.text + '</p>' +
							   '<span class="date">Post&eacute; &agrave; ' + date + '</span>');
    li.set('class', 'clearfix tweet ' + (index % 2 == 0 ? 'even' : 'odd'));
    return li;
}

function showNewTweet(tweet) {
    var elt = getFormattedTweetElt(tweet, tweetContainer.getFirst().hasClass('odd') ? 0 : 1);
    elt.addClass('new');
    elt.inject(tweetContainer, 'top');
    new Fx.Tween(elt, { duration: 'long' }).start('height', 0, elt.getScrollSize().y - 10);
}