var itemQueue = new Queue();
var lastActionTime = new Date();
var currentState = "play";

function getItemHtml(item) {
	html = '<div class="item" style="display:none">';
	html = html + '<table><tr><td><div class="itemtotal">';
	html = html + item.total;
	html = html + '</div></td><td><div class="itemdetails"><a href="';
	html = html + item.url + '">';
	html = html + item.name;
	html = html + '</a></div></td></tr></table></div>';
	return html;
}

function getData() {
	$.getJSON("/activity",function(json){
			//Add data we get to the queue
			for (i=json.length -1;i>=0; i--) {
				itemQueue.enqueue(json[i]);
			}
		});
}

function togglePlayPause() {
	if (currentState == "pause") {
		play();
		currentState = "play"
	} else {
		pause();
		currentState = "pause"
	}
}

function play() {
	$("#paused").html("");
	$("#controlimage").attr("src","/images/24-control-pause.png");
	getData();
	$("body").everyTime(20000,"activityupdate", activityupdate,
		0,
		true);
	$("body").everyTime(2000,"activitydisplay", activitydisplay,
	0,
	true);	
}

function pause() {
	$("#paused").html("(paused)");
	$("#controlimage").attr("src","/images/24-arrow-next.png");
	$("body").stopTime("activityupdate");
	$("body").stopTime("activitydisplay");
}

function activityupdate(){
	//time difference
	currentTime = new Date();
	diff = currentTime - lastActionTime;
	if (diff > 1000*60*20) {
		//Put up message
		$("#paused").html("(paused due to no activity)");
		$("#controlimage").attr("src","/images/24-arrow-next.png");
		$("body").stopTime("activityupdate");
	} else {
		getData();
	}		
}

function activitydisplay(){
		var item = itemQueue.dequeue();
		if (item) {
			$(getItemHtml(item)).insertBefore("div.item:first");
			$("div.item:first").show("medium");
			$("div.item:last").hide().remove();			
		}	
}
	
$(document).ready(function(){
	
	play();
	
	$("a").click(function(){
		//Set the updated date
		lastActionTime = new Date(); 
		});		
	});
	
