 // +---------------------------------------------+
// | Run once document loaded to assign handlers |
// +---------------------------------------------+
// | IMacNeill 02.10.09 v1.0                     |
// +---------------------------------------------+
jQuery(document).ready(function()
{
	// remove all but 5 Twitter feeds
	while (jQuery("ul.tweetslist li").length > 5) {
		tweetSize = jQuery("ul.tweetslist li").length ;
		randomTweet=Math.floor(Math.random()*tweetSize);
		jQuery("ul.tweetslist li").eq(randomTweet).remove();
	}
	// Load first run of demochatter twitter feed
	jQuery("ul.tweetslist li").each( function() { getTweets( jQuery(this).attr("id") ); });
});

// +------------------------------------------+
// | Function to retrieve demochatter twitter |
// | feed, parse it and display it into the   |
// | 'newsticker' div.                        |
// +------------------------------------------+
// | IMacNeill 02.25.09 v1.0                  |
// +------------------------------------------+
var reHtmLnk = new RegExp(/(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?)/g);
var sHtmRpl = new String("<a href=\"$1\" target=\"_blank\">$1</a>");

var reUsrLnk = new RegExp(/(^|\s)@(\w+)/g);
var sUsrRpl = new String("$1@<a href=\"http://twitter.com/$2\" target=\"_blank\">$2</a>");

var reTagLnk = new RegExp(/(^|\s)#(\w+)/g);
var sTagRpl = new String("$1#<a href=\"http://search.twitter.com/search?q=%23$2\" target=\"_blank\">$2</a>");

var iTwtCyc = 0;
var oBegDte = new Date();
//var iTwtBeg = oBegDte.getTime();

var aMon = new Array(12);
aMon[0] = "Jan";
aMon[1] = "Feb";
aMon[2] = "Mar";
aMon[3] = "Apr";
aMon[4] = "May";
aMon[5] = "Jun";
aMon[6] = "Jul";
aMon[7] = "Aug";
aMon[8] = "Sep";
aMon[9] = "Oct";
aMon[10] = "Nov";
aMon[11] = "Dec";

function getTweets( uid )
{
	
	var oTwtDte = new Date();
	var oNowDte = new Date();

	var one_second = 1000;
	var one_minute = one_second * 60;
	var one_hour = one_minute * 60;
	var one_day = one_hour * 24;

	var iNumSec = 0;
	var iNumMin = 0;
	var iNumHrs = 0;
	var iNumDys = 0;
	
	jQuery.getJSON( "http://twitter.com/statuses/user_timeline/" + uid + ".json?count=1&callback=?", function(data)
	{

		// Now rebuild it from returned results
		jQuery.each(data, function(i,tweet)
		{
			var sTwtDte = new String(tweet.created_at);
			var aTwtDte = sTwtDte.split(' ');
			var sNewDte = aTwtDte[1] + ' ' + aTwtDte[2] + ' ' + aTwtDte[5] + ' ' + aTwtDte[3] + ' ' + aTwtDte[4];
			sTmeDif = "";
			oTwtDte.setTime(Date.parse(sNewDte));
			iTmeDif = oNowDte.getTime() - oTwtDte.getTime();
			iNumDys = Math.round(iTmeDif / one_day);

			var sTweet = tweet.text.replace( reHtmLnk, sHtmRpl ).replace( reUsrLnk, sUsrRpl ).replace( reTagLnk, sTagRpl );
			
			// Write the tweet
			jQuery("ul.tweetslist li[id=" + uid + "] div.tweet_text td").append(sTweet);
			jQuery("ul.tweetslist li[id=" + uid + "] div.tweet_meta a").each( function() { jQuery(this).attr("href","http://www.twitter.com/" + uid); } );
			jQuery("ul.tweetslist li[id=" + uid + "] div.tweet_meta a.icon img").attr("src", tweet.user.profile_image_url);
			jQuery("ul.tweetslist li[id=" + uid + "] div.tweet_meta h3").append(tweet.user.name);
			
		});
		
		//iTwtCyc++;
		//iCurTme = oNowDte.getTime() - iTwtBeg;
		//iTotMin = Math.round(iCurTme / one_minute);
		//window.status = "Twitter Cycle: " + iTwtCyc + " - Duration: about " + iTotMin + " minute(s)";
    });
}