var twitterDownloader = new TwitterImageDownloader("images");
var currentLevel = null;

$(function()
{	
	$("#progress").corner("bottom");
	$(".bar").corner("5px");
	$("#footer div a#illness").hover(function() { $("#footer div span").css("visibility","visible"); }, function() { $("#footer div span").css("visibility", "hidden"); });
	
	var li = $("ol#levels li").click(function() { Play(li.index(this) + 1); });
	
	var queryStringPlayerName = GetPlayerNameFromQueryString();
	
	if (queryStringPlayerName != null)
	{
		$("#PlayerName").val(queryStringPlayerName);
		StartGame();
	}
});

function StartGame()
{
	Play(1);
}

function Play(level)
{
	if (GetPlayerName().length > 0)
	{
		$("#images").hide();
		$("#images").children().remove();
		$(".background").slideDown("fast");
		$(".title a").attr("href", "http://twitter.com/" + GetPlayerName()).html("@" + GetPlayerName());
		$("#levelmessage").html("Loading level " + level).show();
		
		SetSelectedLevel(level);
		SetProgressBar(0);
		
		twitterDownloader.DownloadImages(GetPlayerName(), level, ProgressUpdate, OnComplete, OnLevelComplete);
	}
	else
	{
		$("#PlayerName").css("border-color", "#FBC2C4");
		$("#PlayerName").css("background-color", "#FBE3E4");
		$("#PlayerName").focus();
	}
}

function ProgressUpdate(percentComplete)
{
	SetProgressBar(percentComplete);
}

function OnComplete(totalImages)
{
	SetProgressBar(0);
	$("#levelmessage").hide();
	$("#images").show();
}

function OnLevelComplete()
{
	if (currentLevel == 10)
	{
		$("div.title").html("All Levels Complete :)");
		$("#images").hide();
		$("#images").children().remove();
		SetProgressBar(0);
	}
	else
	{
		var originalContent = $("div.title").html();
		$("div.title").html("Level " + currentLevel + " Complete");
		
		//setTimeout("$(\"div.title\").html('" + originalContent.replace("'", "\\'") + "'); Play(" + (currentLevel + 1) + ");", 5000);
		Play(currentLevel + 1);
		setTimeout("$(\"div.title\").html('" + originalContent.replace("'", "\\'") + "');", 3000);
	}
}

function GetPlayerName()
{
	return $("#PlayerName").val();
}

function GetPlayerNameFromQueryString()
{
	var query = window.location.search.substr(1, window.location.search.length);

	if (query.length < 1) 
	{
		return null;
	}
	
	var queryArguments = query.split("&");
	
	for (var i=0; i<queryArguments.length; i++)
	{	
		var queryPair = queryArguments[i].split("=");
		
		if (queryPair[0] == 'name')
		{
			return queryPair[1];
		}
	}
	
	return null;
}

function SetSelectedLevel(level)
{
	$("ol#levels li").css("font-weight", "normal");
	$("ol#levels li").eq(level - 1).css("font-weight", "bold");
	currentLevel = level;
}

function SetProgressBar(percentComplete)
{
	var progressWidth = ($("div#progress").width() / 100) * percentComplete;
	$("div.#progress div.bar").css("width", progressWidth + "px");
}

function FindMe()
{
	var twitterName = $("#FindMe").val();
	
	if (twitterName.length > 0)
	{
		var statusMessage = "Find me! (Where's Wally/Waldo, Twitter Style) http://wally.tweetdoc.org/?name=" + twitterName;
		var setStatusWindow = window.open("http://twitter.com/home/?status=" + statusMessage, '_blank');
		setStatusWindow.focus();
	}
	else
	{
		$("#FindMe").css("border-color", "#FBC2C4");
		$("#FindMe").css("background-color", "#FBE3E4");
		$("#FindMe").focus();
	}
	
	
	
}
