//var _baseUrl="http://search.twitter.com/search.json?geocode=37.783812%2C-122.237944%2C1km&callback=renderTweets";
var _baseUrl = "http://search.twitter.com/search.json?q=kieran+OR+fitzpatrick+OR+elurstoidi";
var _sinceId = -1;
var _shown_index = 1;
var _intervalId = undefined;
$(document).ready(function() {
	loadTweets();

	_intervalId = setInterval(loadTweets, 30000);
	setInterval(cycleTweets, 6000);
});

function loadTweets() {
	var requestUrl = _baseUrl;
	if (_sinceId > 0) {
		requestUrl += "&since_id=" + _sinceId;
	}
	$.ajax( {
		type : "GET",
		url : requestUrl,
		dataType : "jsonp",
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert("err: " + textStatus + errorThrown);
		},
		success : renderTweets

	});

}
function renderTweets(data, textStatus) {
	var results = data.results;
	_sinceId = data.max_id;
	var list = $('ul#mainList');
	for ( var i = 0; i < results.length; i++) {
		var tweet = results[i];
		var listItem = $("<li></li>");
		// listItem.append("<img src="+tweet.profile_image_url+"/>");
		listItem.append("<p>" + tweet.text + "</p>" + "<span>"
				+ tweet.from_user + "</span>");
		listItem.appendTo(list);
	}
}

function cycleTweets() {
	var next = $("ul#mainList li:not(.shown)").get(0);
	if (next == undefined || next.length == 0) {
		next = $("ul#mainList li:nth-child(" + _shown_index + ")");
		_shown_index = _shown_index < $("ul#mainList li").length ? _shown_index + 1
				: 1;
	} else {
		next = $(next);
	}
	var prev = $("ul#mainList li:visible");
	if (prev.length > 0) {
		prev.fadeOut(400, function() {
			next.fadeIn(200).addClass("shown");
		});
	} else {
		next.fadeIn(200).addClass("shown");
	}

}
