function initTwitterFeeds()
{

//	jQuery('#AtMentions').remove();
	

	jQuery('#twFeed').remove();
	jQuery('head').append('<script id="twFeed" src="http://search.twitter.com/search.json?q=from%3Awearevisible&result_type=recent&callback=refreshTwitterFeeds"></script>');
}

function refreshTwitterFeeds(JSON)
{
	var tfw = jQuery('#TwitterFeed');
	if(tfw.size() > 0)
	{
		if(twScroller != null)
			twScroller.pause();
		
		var feeds = JSON;
		var feedWrapper = jQuery('#TwitterFeed');
		feedWrapper.css('visibility', 'hidden').empty();
		twScrollerCount = feeds.results.length;
		for (var i=0; i< twScrollerCount; i++)
		{



			feedWrapper.append('<li>' + 
								 '<p title="'+ feeds.results[i]['text'] +'">' + feeds.results[i]['text'] + '</p>' + 
								 '<small>' + formatTimeSince(feeds.results[i]['created_at']) + '</small>' + 
						'</li>');
		}
			
		if(twScroller != null)
		{
			twScroller.begin();
			setTimeout(twScroller.play, 5000);
		}
		else
		{
			var fw = jQuery('#TwitterFeedWrapper');
			var lf = fw.find('li:first');
			fw.css('height', 3*(parseInt(lf.height()) + parseInt(lf.css('paddingTop')) + parseInt(lf.css('paddingBottom')) + parseInt(lf.css('marginBottom')) + 1) - 11 + 'px');					
			fw.scrollable({circular: false, vertical: true}).autoscroll({steps:1, interval: 5000});
			twScroller = fw.data("scrollable");
		}
		
		feedWrapper.css('visibility', 'visible');
		
		twScrollerTimer = setInterval(twCheckRefresh, 10000);
	}
}

var twScroller = null;
var twScrollerCount = 0;
var twScrollerTimer = null;

function twCheckRefresh()
{
	if(twScroller != null)
	{
		if(twScroller.getIndex() == twScrollerCount - 1)
		{
			clearInterval(twScrollerTimer);
			initTwitterFeeds();
		}
	}
}

function initTwitterFeeds2()
{
	jQuery('#twFeed2').remove();
	jQuery('head').append('<script id="twFeed2" src="http://search.twitter.com/search.json?q=%23wearevisible+OR+@wearevisible&callback=refreshTwitterFeeds2"></script>');
}

function refreshTwitterFeeds2(JSON)
{
	var tfw = jQuery('#TwitterFeed2');
	if(tfw.size() > 0)
	{
		if(twScroller2 != null)
			twScroller2.pause();
		
		var feeds = JSON;
	
		var feedWrapper = jQuery('#TwitterFeed2');
		feedWrapper.css('visibility', 'hidden').empty();
		twScrollerCount2 = feeds.results.length;
		for (var i=0; i< twScrollerCount2; i++)
		{
			feedWrapper.append('<li>' + 
								 '<p title="'+ feeds.results[i]['text'] +'">' + feeds.results[i]['text'] + '</p>' + 
								 '<small>' + formatTimeSince(feeds.results[i]['created_at']) + '</small>' + 
							'</li>');
		}
		if(twScroller2 != null)
		{
			twScroller2.begin();
			setTimeout(twScroller2.play, 5000);
		}
		else
		{
			var fw = jQuery('#TwitterFeedWrapper2');
			var lf = fw.find('li:first');
			fw.css('height', 2*(parseInt(lf.height()) + parseInt(lf.css('paddingTop')) + parseInt(lf.css('paddingBottom')) + 1) + 9 + 'px');					
			fw.scrollable({circular: false, vertical: true}).autoscroll({steps:1, interval: 5000});
			twScroller2 = fw.data("scrollable");
		}
		
		feedWrapper.css('visibility', 'visible');
		
		twScrollerTimer2 = setInterval(twCheckRefresh2, 10000);
	}
}

var twScroller2 = null;
var twScrollerCount2 = 0;
var twScrollerTimer2 = null;

function twCheckRefresh2()
{
	if(twScroller2 != null)
	{
		if(twScroller2.getIndex() == twScrollerCount2 - 1)
		{
			clearInterval(twScrollerTimer2);
			initTwitterFeeds2();
		}
	}
}

function formatTimeSince(date) { // 
	var refTime = new Date(date);
	var refTime = refTime.getTime();
	var d = new Date();
	refTime = refTime / 1000;
	var timeNow = Math.round(d.getTime()/1000); // d.getTime() returns UNIX timestamp in miliseconds
	var timeSince = Math.round(timeNow - refTime);
	if (timeSince < 60) {
		return 'about ' + timeSince + " sec ago";
	} else if (timeSince < 3600) {
		return  'about ' + Math.round(timeSince / 60) + " min ago";
	} else if (timeSince < 86400) {
		var hh = Math.floor(timeSince / 3600);
		var mm = Math.round((timeSince - (hh * 3600)) / 60);
		return 'about ' + hh + " hours " + mm + " minutes ago";
	} else {
		return 'about ' + Math.round(timeSince / 86400) + " days ago";
	}
}

function initWSMStaticFeeds()
{
	var WSMFeed = $('#WSMFeed');
	if(WSMFeed.size() > 0)
	{
		var feedList = WSMFeed.find('ul');
		var feedSize = feedList.find('li').size();
		
		var arr = [];
		for (var i=0; i<feedSize; i++)
			arr[i] = i;
		arr.sort(randOrd);
				
		var randomList = null;
		for (var i=0; i<feedSize; i++)
		{
			if(i%2 == 0)
			{
				if(randomList != null)
					randomList.appendTo(WSMFeed.find('.ScrollerItems'));
				var randomList = $('<ul></ul>');
				randomList.append(feedList.find('li:eq(' + arr[i] + ')').clone(true));
			}
			else
				randomList.append(feedList.find('li:eq(' + arr[i] + ')').clone(true));
		}
		
		randomList.appendTo(WSMFeed.find('.ScrollerItems'));
		
		feedList.remove();
		WSMFeed.scrollable({circular: true, vertical: true}).autoscroll({steps:1, interval: 5000}).css('visibility', 'visible');
	}
}

function randOrd()
{
	return (Math.round(Math.random())-0.5);
}

jQuery(function(){
	initTwitterFeeds();
	initTwitterFeeds2();
	initWSMStaticFeeds();
});
