var log = function(stuff)
{
	console.log(stuff);
};//log

var onLoad = function(data)
{
	$('.aviso').delay(1000).fadeOut();

	$('#tableArea').children().each(function(){
		var tdata = $(this).metadata();

		var re_di_tot = 0;
		var re_se_tot = 0;

		for(var s in tdata.states)
		{
			var st = tdata.states[s];

			var di_tot = Number(data.dilma[st]);
			var se_tot = Number(data.serra[st]);
			var tot = Number(data.totals[st]);

			re_di_tot += di_tot;
			re_se_tot += se_tot;

			var di_per = (di_tot / tot) * 100;
			var se_per = (se_tot / tot) * 100;

			//log(st + ': ' + di_tot + '|' + se_tot + ' = ' + di_per + ' / ' + se_per);

			var tds = $(this).find('.' + st).children('td');
			$(tds[0]).html(String(di_per.toFixed(1)) + '%');
			$(tds[1]).html(String(se_per.toFixed(1)) + '%');
		}//for st in states

		if(re_di_tot > re_se_tot)$(this).removeClass('nulo').addClass('dilma');
			else if(re_di_tot < re_se_tot)$(this).removeClass('nulo').addClass('serra');
	});

	$('#dilmaTotal').html(data.totalTweets.dilma);
	$('#serraTotal').html(data.totalTweets.serra);

	addToList('dilma', data.dilmaTweets);
	addToList('serra', data.serraTweets);

	$('.boxIn').each(function(){
		$(this).data('jsp').reinitialise();
	});

	setTimeout(loadData, 7500);
};//onLoad

var addToList = function(cand, list)
{
	var tot = list.length;

	for(var t = tot -1; t >= 0; t--)
	{
		var dd = $(document).data('twDD').clone();
		dd.find('strong').html('@' + list[t].from_user);
		dd.find('p').html(wrapURLS(list[t].text));

		$('#' + cand + 'Tweets').prepend(dd);
	}//for t
};//addToList

var loadData = function()
{
	$.ajax({
	  url: 'http://www.twitradar.com/streamer/server.php?method=regiontotals',
	  dataType: 'jsonp',
	  success: onLoad
	});
};//loadData

var wrapURLS = function(text)
{
	var urlRegex = new RegExp('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]', 'gi');
	return text.replace(urlRegex, "<a href='$1'>$1</a>");
};//wrapURLS

var onResize = function()
{
	var bottom = $(window).height() - 51;

	if($(window).height() > 800)
	{
		$('.footer').css('top', ($(window).height() - 51) + 'px');
		$('html').css('overflow', 'hidden');
	}//if
	else
	{
		var diff = 950 - $(window).height();

		var top = $('.box').data('top') + diff;
		$('.box').css('top', top + 'px');
		$('.box').data('top', $('.box').position().top);

		$('.footer').css('top', '950px');
		$('html').css('overflow', 'auto');
	}//else

	//768+37

};//onResize

var onBoxOver = function()
{
	var top = $('.box').data('top') - 263;
	$(this).css('top', top + 'px');
};//onBoxOver

var onBoxOut = function()
{
	$(this).css('top', $('.box').data('top') + 'px');
};//onBoxOut

$(document).ready(function(){
	if($.address.path() != '/')
	{
		window.location = $.address.baseURL() + '/v1/#' + $.address.path();
	}//if path

	onResize();

	$(document).data('twDD', $('#dilmaTweets').children('dd').remove());

	$('.boxIn').jScrollPane({showArrows:true, verticalDragMaxHeight:10, verticalDragMinHeight:10});

	$('.box').data('top', $('.box').position().top);

	$('.box').mouseover(onBoxOver);
	$('.box').mouseout(onBoxOut);

	loadData();

	$(window).resize(onResize);
});
