
function addToPersonalScoresTable(newVal) {
	var retrieved = $.cookie('scores');
	if (retrieved != null) {
		retrieved += encodeURIComponent("," + encodeURIComponent(newVal));
	} else {
		retrieved = encodeURIComponent(encodeURIComponent(newVal));
	}
	$.cookie('scores',retrieved);
}

function generateReplayLink(scoreID) {
	return '<a href="./index.php?replayID=' + scoreID + '">Watch</a>';
}                      

function generatePostHighScoreLink(message, anchorContent) {
	var url = 'http://snakejumpgame.com';
	var redirect = url;
	FBappID = '193405794016039'; 
	var name = 'Snake Jump!';
	var caption = 'The bouncing snake game.';
	var description = ' ';
	var link = "http://www.facebook.com/dialog/feed?app_id="+FBappID+
	"&link="+escape(url)+
	"&name="+escape(name)+
	"&caption="+escape(caption)+
	"&description="+escape(description)+
	"&message="+escape(message)+
	"&redirect_uri="+escape(redirect);

	return '<a href="' + link + '" target="_blank" rel="external">' + anchorContent + '</a>';
}

function generateTweetLink(url, message, anchorContent) {
	// return '' +
	// 	'<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>' + 
	// 	'<div style="display:inline;">' + 
	// 	   '<a href="http://twitter.com/share" class="twitter-share-button"' + 
	// 	      'data-url="' + url + '"' + 
	// 	      'data-text="' + message + '"' + 
	// 	      ' target="_blank">' + anchorContent + '</a>' + 
	// 	'</div>';
	
	var str = "";
	var encurl = $('<div/>').text(url).html();
	var encmessage = $('<div/>').text(message).html();
		
	str +=	'<div id="custom-tweet-button">' +
		' <a href="http://twitter.com/share?url=' + encurl + '&text=' + encmessage + '" target="_blank" rel="external">' + anchorContent + '</a>' +
		'</div>';
	
	return str;
}

function refreshHighScoresTables() {
		$.ajax({
		   url: "getTop25AllTime.php",
		   success: function(data){
				 $("#scores_allTime > table").replaceWith(data);
		   }
		 });
		$.ajax({
		   url: "getTop25PastWeek.php",
		   success: function(data){
				 $("#scores_pastWeek > table").replaceWith(data);
		   }
		 });		
		$.ajax({
		   url: "getTop25PastDay.php",
		   success: function(data){
				 $("#scores_pastDay > table").replaceWith(data);
		   }
		 });
}

function scoreUploadResponseReceived(response, saveCookiesAndRefresh) {
	saveCookiesAndRefresh = typeof(saveCookiesAndRefresh) != 'undefined' ? saveCookiesAndRefresh : true;
	
	var numScoresToDisplay = 10; 
	var split = response.split(",");
	var scoreID = split[0];
	var score = split[1];
	var rank = split[2];
	if (rank === '') rank = 'Unranked';
	var replayLink = generateReplayLink(scoreID);
	var postLink = generatePostHighScoreLink('I scored '+score+' playing Snake Jump - see a replay at http://snakejumpgame.com/index.php?replayID='+scoreID, 'Share (Facebook)');
	var tweetLink = generateTweetLink('http://snakejumpgame.com/index.php?replayID='+scoreID, 'I scored '+score+' playing Snake Jump - watch my replay: ', 'Share (Twitter)');
	var links = "<table class='innerTable'><tr><td>"+replayLink + "</td><td>" + postLink + "</td><td>" + tweetLink + "</td></tr></table>";
	$("#dynamicUpdate > tbody:first").prepend("<tr><td>" + score + "</td><td>" + rank + "</td><td>" + links + "</td></tr>");
	
	// TODO: trim the table to remove any rows near the bottom
	if (document.getElementById('dynamicUpdate').rows.length-1 > numScoresToDisplay) {
		$('#dynamicUpdate > tbody > tr:last').remove();
	}
	if ($(".hideIfEmpty").is(":hidden")) {
		$(".hideIfEmpty").slideDown("slow");
	}
	
	if (saveCookiesAndRefresh) {
		addToPersonalScoresTable(response);
		refreshHighScoresTables();
	}
}

function jsOut(toPrint) {
	// alert(toPrint);
	$(".jsOut").append(toPrint + "<BR>");
}

