var settings = {};

/*
 * Master
 * http://rayboyd.com/
 *
 * Copyright (c) 2009 Ray Boyd
 * Dual licensed under the MIT and GPL licenses.
 *
 */

/** Twitter screen name and the number of tweets you would like to grab **/

settings.user  = "stephenfry";
settings.count = 5;

/** Various html sectors used to contain, format and display the twitter feed **/

settings.target_container         = '.left_column';
settings.target_twitter_container = '.twitter';
settings.html_twitter_title       = '<h2>Latest Tweets</h2>';
settings.html_twitter_container   = '<div class="twitter"></div>';
settings.html_tweet_body          = '<p></p>';
settings.html_tweet_meta          = '<div class="meta"></p>';

// Dom ready?
google.setOnLoadCallback(onLoadComplete);

// DOM onLoad callback
function onLoadComplete() { jsengine.init() } ;

/*
 * Application
 */
var jsengine = function()
{
    var _jsengine = false;
    return {
        init:function()
        {
            if(!_jsengine)
            {
                var resource = 'http://twitter.com/statuses/user_timeline/' + settings.user + '.json?callback=jsengine.parseJSON&count=' + settings.count;
                $.getScript(resource);
            };
            var _jsengine = true;
        },
        parseJSON:function(data)
        {
            var screen_name = data[0].user['screen_name'];
            $(settings.html_twitter_container).appendTo(settings.target_container);
            $(settings.html_twitter_title).appendTo(settings.target_container + ' ' + settings.target_twitter_container);
            var i = 0;
            while(i<data.length)
            {
                var output = data[i].text;
                $(settings.html_tweet_body)
                    .html(output)
                    .appendTo(settings.target_container + ' ' + settings.target_twitter_container);
                ++i;
            };
            $(settings.html_tweet_meta)
                .html('Follow <a target="_blank" href="http://twitter.com/' + screen_name + '">@' + screen_name + '</a> on <a target="_blank" href="http://twitter.com/">Twitter</a>.')
                .appendTo(settings.target_container + ' ' + settings.target_twitter_container);
        }
    };

}(); // jsengine 27/01/09 v1.0
