
var intervalTime = 10000;
var slideTime = 750;
//var blankTime = 100;
var items;


function printError(XMLHttpRequest, textStatus, errorThrown) {
	//console.log(textStatus);
	//console.log(errorThrown);
	//console.log(XMLHttpRequest);
}


function startTicker(xml) {
	items = jQuery(xml);
	tick(0);
}


function tick(i) {
	var itemCount = jQuery('entry', items).length;
	var nextIndex = i + 1;

	//console.log('tick got index ' + i);
	var currentItem = items.find('entry:eq(' + i + ')');
	// render the news item
	showItem(currentItem);

	// time to start over?
	if(i > itemCount-2) {
		nextIndex = 0;

		reloadFeed();
	}

	tickFunctionCall = function() { tick(nextIndex); };
	setTimeout(tickFunctionCall, intervalTime);
}


function showItem(itemXml) {
	var title = itemXml.find('title').text();
	var date = itemXml.find('updated').text();
	var link = itemXml.find('link').attr('href');

	// format the date
	date = String(date);
	date = date.split('T')[1];
	date = date.substr(0, 5);

	tickIn();

	// render data
	jQuery('.tickerTitle').text(title);
	jQuery('.tickerTitle').slideDown('fast');
	jQuery('.tickerDate').text(date);
	jQuery('.tickerLink').attr('href', link);
}


function reloadFeed() {
	jQuery.ajax({
		type: "GET",
		url: "/feed/all.xml",
		dataType: "xml",
		success: feedSuccessfullyLoaded,
		error: printError
	});
}


function feedSuccessfullyLoaded(xml) {
	items = jQuery(xml);
}


function tickIn() {
	var tickerPanel = jQuery('div.tickerPanel');
	tickerPanel.css('top', '-20px');
	tickerPanel.animate({ top: '5px' }, slideTime);
}


function tickOut() {

}


jQuery.ajax({
	type: "GET",
	url: "/feed/all.xml",
	dataType: "xml",
	success: startTicker,
	error: printError
});


