// --------------------------------------------------------
// 
// --------------------------------------------------------
var g_activeProfileData = null;

var g_activeGuessId = null;

// --------------------------------------------------------
// 
// --------------------------------------------------------
$(document).ready(
	function ()
	{
		$("#profile form.evaluate").submit(handleEvaluateSubmit);
		
		$("#profile div.evaluation-results a.try-another-one").click(handleLoadProfile);
		
		$("#profile div.evaluation-score input.button-yes, #profile div.evaluation-score input.button-no").click(handleEvaluationScore);
		
		initGuessBox();
		
		loadProfile();
	}
);

// --------------------------------------------------------
// 
// --------------------------------------------------------
function initGuessBox ()
{
	$("#profile form.evaluate input.guess").val($("#profile form.evaluate input.guess").attr("defaultvalue"));

	$("#profile form.evaluate input.guess").hover(
		function ()
		{
			$(this).addClass("guess-over");
		},
		function ()
		{
			$(this).removeClass("guess-over");
		}
	);
	
	$("#profile form.evaluate input.guess").focus(
		function ()
		{
			if ($(this).val() == $(this).attr("defaultvalue"))
			{
				$(this).val("").addClass("guess-active");
			};
		}
	);

	$("#profile form.evaluate input.guess").blur(
		function ()
		{
			if ($(this).val() == "")
			{
				$(this).val($(this).attr("defaultvalue")).removeClass("guess-active");
			};
		}
	);
};

// --------------------------------------------------------
// 
// --------------------------------------------------------
function handleEvaluateSubmit ()
{
	$("#profile div.evaluation-answer span.guess").html($("#profile form.evaluate input.guess").val());

	$("#profile div.evaluation-answer span.answer").html(g_activeProfileData.name);
	
	$("#profile").addClass("evaluate-score");
	
	$.get(g_contentRoot + "/value_edge/profiles/save_guess", { id: g_activeProfileData.id, guess: $("#profile form.evaluate input.guess").val() }, handleEvaluateResult);
	
	$("#profile form.evaluate input.guess").val($("#profile form.evaluate input.guess").attr("defaultvalue")).removeClass("guess-active");
	
	return false;
};

function handleEvaluateResult (data, textStatus)
{
	g_activeGuessId = data;
};

// --------------------------------------------------------
// 
// --------------------------------------------------------
function handleEvaluationScore ()
{
	var correct;
	
	if ($(this).is(".button-yes"))
	{
		correct = "1";
	}
	else if ($(this).is(".button-no"))
	{
		correct = "0";
	};
	
	$.get(g_contentRoot + "/value_edge/profiles/save_guess_status", { id: g_activeGuessId, correct: correct }, handleEvaluationScoreResult, "script");
	
	return false;
};

function handleEvaluationScoreResult ()
{

};

function processGuessStatusResult (totalGuesses, totalScoredGuesses, correctGuesses, recentWrongGuesses)
{
	var correctGuessPercentage = (totalScoredGuesses > 0) ? String(Math.round(correctGuesses / totalScoredGuesses * 100)) : "0";

	$("#profile div.evaluation-results p span.percentage").html(correctGuessPercentage);

	$("#profile div.evaluation-results dl.recent-wrong-guesses dd").remove();
	
	for (var i = 0; i < recentWrongGuesses.length; i++)
	{
		$("#profile div.evaluation-results dl.recent-wrong-guesses").append("<dd>" + recentWrongGuesses[i] + "</dd>");
	};
	
	if (!recentWrongGuesses.length)
	{
		$("#profile div.evaluation-results dl.recent-wrong-guesses").append("<dd>[none]</dd>");
	};

	$("#profile").removeClass("evaluate-score").addClass("evaluate-stats");
};

// --------------------------------------------------------
// 
// --------------------------------------------------------
function handleLoadProfile ()
{
	loadProfile();
	
	return false;
};

function loadProfile ()
{
	$("#profile").removeClass("evaluate-score").removeClass("evaluate-stats").addClass("loading");

	$.getScript(g_contentRoot + "/value_edge/profiles/load_random", handleProfileLoad);
};

function handleProfileLoad (data, textStatus)
{
	// console.log(textStatus);

	// console.log(data);
};

function addProfile (profile)
{
	g_activeProfileData = profile;
	
	$("#profile").removeClass("loading");
	
	$("#profile p.description strong.ownership").html(profile.ownership);

	$("#profile p.description strong.sector").html(profile.sector);

	$("#profile p.description strong.revenue").html(profile.revenue);
	
	$("#profile ol.value-edge").empty();
	
	for (var i = 1; i <= 5; i++)
	{
		if (!profile["value_edge_statement_" + i]) continue;
		
		$("#profile ol.value-edge").append($("<li class=\"value-edge-" + i + "\"><span class=\"index\">" + i + ".</span>" + profile["value_edge_statement_" + i] + "</li>"));
	};
};

function addProfileFail ()
{
	$("#profile").removeClass("loading").addClass("fail");
};
