$(document).ready( function() {
	live.init();
});


var live = {

	social : 'twitter',
	twitter : null,
	facebook : null,
	
	init : function() {
		
		live.twitter = twitter;
		live.facebook = facebook;
		
		live.twitter.init();
		live.facebook.init();
		
		$('#twitter').click( function(e) {
			if (live.social != 'twitter')
			{
                                $('#twitter').addClass("active");
                                $('#facebook').removeClass("active");
				live.twitter.start();
				$('#facebookbox').hide();
				$('#twitterbox').show();
				live.social = 'twitter';
			}
		});
		
		$('#facebook').click( function(e) {
			if (live.social != 'facebook')
			{
                                $('#facebook').addClass("active");
                                $('#twitter').removeClass("active");
				live.twitter.stop();
				$('#twitterbox').hide();
				$('#facebookbox').show();
				live.social = 'facebook';
			}
		});
		
		live.twitter.start();
	}
}

var twitter = {

	channel : '#momoams',
	updateInterval: 25000,
	updateTimer : null,
	lastId : 0,
	maxItems : 10,
	active : true,
	
	init : function() {
	},
	start : function() {
		twitter.active = true;
		twitter.update();
	},
	stop : function() {
		twitter.active = false;
		clearTimeout( twitter.updateTimer );
	},
	
	update : function() {
		twitter.updateItems();
		twitter.cleanUp();
		
		if( twitter.active )
			twitter.updateTimer = setTimeout( twitter.update, twitter.updateInterval);
	},
	updateItems : function() {
		url="http://search.twitter.com/search.json?q="+encodeURIComponent(twitter.channel)+"&rpp=10&callback=?&since_id="+twitter.lastId;
		$.getJSON(url, function(json) {
				twitter.lastId = json.max_id_str;
   				json.results.reverse(); //Since we prepend, the last one becomes first. Reverse here.
        		$.each(json.results, function(i,item){
					item.timestamp=(Date.parse(item.created_at)/1000);
					if( $('#tw_' + item.id_str).length == 0 )
						twitter.showItem(item);
				});
		});
	},
	showItem : function(item) {
		holder = $('#socialholder');
		
		var markup = '<div class="tweet" id="tw_' + item.id_str + '" style="display: none;"><img src="' + item.profile_image_url + '" alt="' + item.from_user + '" /><a href="http://www.twitter.com/' + item.from_user + '" target="_blank">@' + item.from_user + '</a><span>' + item.text + '</span></div>';
		holder.prepend(markup);
		
		$('#socialholder #tw_' + item.id_str).slideDown('slow');
	},
	
	cleanUp : function() {
		var children = $('#socialholder').children();
		if( children.length > twitter.maxItems )
		{
			var i = 0;
			for( i = twitter.maxItems; i < children.length; i++ )
			{
				$(children[i]).remove();
			}
		}
	}
};

var facebook =  {

	init : function() {
		window.fbAsyncInit = function() {
		    FB.init({appId: '255955255198', status: true, cookie: true,
		             xfbml: true});
		 }
	}
}

