/**
 * Twitter Feed Reader -- JavaScript Engine
 *
 * @author: Rahmin Pavlovic
 * @version: 03 June 2008
 *
 * copyright (c) 2008, Crain Communications
 *
 */

var twitterFeed;
var twitter = {

	html:[],
	limit:5,
	results:null,
	feedURL:'http://twitter.com/statuses/user_timeline/14692117.json',

	prepFeed:function() {
		document.getElementById('twitter_creativity').innerHTML = '<div align="center">Loading tweets...<br /><br /><img src="http://adage.com/images/global/ajax-arrows-036.gif" width="16" height="16" alt="" /></div>';
	},

	getFeed:function(count) {

		// store object instance
		twitterFeed = this;

		// display loading message before fetching feed
		this.prepFeed();

		// set limit based on widget config
		this.limit = (count) ? count : this.limit;

		// fetch feed
		new AJAX.FileRequest(
			'/ajax/get_twitter_feed.php',
			function() { 
				if(this.request && this.response) {
					twitterFeed.results=JSON.parse(this.response);

					for(var j=0; j<twitterFeed.results.length; j++) {
						twitterFeed.html.push('<div id="twitter_tweet_', j, '" class="twitter_tweet">', twitterFeed.results[j].text.autolink());

						if(twitterFeed.results[j].text.indexOf('@'+twitterFeed.results[j].in_reply_to_screen_name) != -1) {
							//alert(twitterFeed.results[j].text.substring(0, twitterFeed.results[j].text.indexOf('@')));
/*
							twitterFeed.results[j].text = twitterFeed.results[j].text.substring(0, twitterFeed.results[j].text.indexOf('@')) + 
								'@<a href="http://twitter.com/' + twitterFeed.results[j].in_reply_to_screen_name + '">' + twitterFeed.results[j].in_reply_to_screen_name + '</a>';
*/
						}

						twitterFeed.html.push('</div>');
						twitterFeed.html.push('<div class="twitter_tweet_created">');
						twitterFeed.html.push('<em>Posted: <a href="http://twitter.com/creativitymag/status/', twitterFeed.results[j].id,'">', twitterFeed.results[j].created_at, '</a>');
						twitterFeed.html.push(', from ', twitterFeed.results[j].source);
						if(twitterFeed.results[j].in_reply_to_screen_name !== null) {
							twitterFeed.html.push(' in reply to <a href="http://twitter.com/',  twitterFeed.results[j].in_reply_to_screen_name,'">', twitterFeed.results[j].in_reply_to_screen_name, '</a>');
						}
						
						twitterFeed.html.push('</em></div>');
						// stop if exceed limit
						if(j >= twitterFeed.limit-1) {
							break;
						}
					}
					twitterFeed.setFeed();
				}
			},
			null,
			'get',
			'url='+this.feedURL
		);
	},

	setFeed:function() {
		document.getElementById('twitter_creativity').innerHTML=this.html.join('');
		this.html.length=0;
	}
};

