if (typeof SSB == "undefined") var SSB = new Object();
if (typeof SSB.hunt == "undefined") SSB.hunt = new Object();

SSB.hunt.pages = [ "2100", "2200", "2300", "2400",
				  "3100", "3300", "3400", "3600", 
				  "4200", "4400", 
				  "5100", "5300", "5500",
				  "6200" ];
SSB.hunt.links = [ "the-war-of-1812.aspx", "the-capital-captured.aspx", "baltimore-in-the-balance.aspx", "a-moment-of-triumph.aspx",
				  "making-the-flag.aspx", "family-keepsake.aspx", "national-treasure.aspx", "preservation-project.aspx", 
				  "francis-scott-key.aspx", "national-anthem.aspx", 
				  "symbols-of-a-new-nation.aspx", "flag-rules-and-rituals.aspx", "the-flag-in-the-sixties.aspx",
				  "interactive-flag.aspx" ];
SSB.hunt.congrats = "congratulations.aspx";

SSB.hunt.state = null;

SSB.hunt.load = function ()
{
	var SSB_hunt_state = $.cookie("SSB_hunt_state");

	if (!SSB_hunt_state) {
		SSB.hunt.reset()
//	} else if (SSB.id == "2100") {
//		SSB.hunt.reset()
	} else {
		SSB.hunt.state = unserialize(SSB_hunt_state);
	}
	
	console.log("SSB.hunt.load()", SSB.hunt.state);
}

SSB.hunt.save = function ()
{
	console.log("SSB.hunt.save()", SSB.hunt.state);
	
	$.cookie("SSB_hunt_state", serialize(SSB.hunt.state));
}

SSB.hunt.reset = function ()
{
	console.log("SSB.hunt.reset()", SSB.hunt.state);

	var i;
	
	SSB.hunt.state = new Object();
	
	SSB.hunt.state.answered = [];
	
	for (i = 0; i < SSB.hunt.pages.length; i++) {
		SSB.hunt.state.answered[i] = false;
	}
	
	SSB.hunt.save();
}

SSB.hunt.init = function ()
{
	console.log("SSB.hunt.init()");
	
	var i;

	SSB.hunt.load();
	
	SSB.hunt.which = -1;
	SSB.hunt.count = 0;
	SSB.hunt.next = null;

	for (i = 0; i < SSB.hunt.pages.length; i++) {
		if (SSB.id == SSB.hunt.pages[i]) {
			SSB.hunt.which = i;
		} else if (SSB.hunt.next == null && SSB.hunt.state.answered[i] == false) {
			SSB.hunt.next = SSB.hunt.links[i];
		}
		
		if (SSB.hunt.state.answered[i]) {
			SSB.hunt.count++;
		}
	}

	if (SSB.hunt.count == SSB.hunt.pages.length) {
		SSB.hunt.next = SSB.hunt.congrats;
	}

	console.log("SSB.hunt.init()", SSB.id, SSB.hunt.which);
	console.log("SSB.hunt.init()", SSB.hunt.count, SSB.hunt.pages.length, SSB.hunt.next);
}

SSB.hunt.setup = function ()
{
	var count;

	console.log("SSB.hunt.setup()");
	
	SSB.hunt.init();

	if (SSB.hunt.count <= 9) {
		count = "Found 0" + SSB.hunt.count + " of " + SSB.hunt.pages.length;
	} else {
		count = "Found " + SSB.hunt.count + " of " + SSB.hunt.pages.length;
	}
	
	$("#hunt-count span").text(count);
	$("#hunt-count").css("background-position", "left " + (SSB.hunt.count * -132) + "px");

	if (SSB.hunt.state.answered[SSB.hunt.which]) {
		$("#hunt-answers li").css("background-image", "url(_images/Collect_Stars_box.png)");
		$("#hunt-answers li.correct").css("background-image", "url(_images/Collect_Stars_box_correct.png)");
		$("#hunt-answers li").css("cursor", "auto");
		var msg = "<span class='green' style='font-weight: bold;'>Correct!  You've found another star.</span>"
		
		if (SSB.hunt.count == SSB.hunt.pages.length) {
			msg += " <a href='" + SSB.hunt.congrats + "'>Get your certificate.</a>";
		} else {
			msg += " <a href='" + SSB.hunt.next + "'>Find the next star.</a>";
		}
		$("#hunt-response").html(msg);
	} else {
		$("#hunt-answers li").bind("click", function () {
			var msg;
			var c;
			
			$("#hunt-answers li").css("background-image", "url(_images/Collect_Stars_box.png)");
	
			if ($(this).attr("class").indexOf("correct") == -1) {
				$(this).css("background-image", "url(_images/Collect_Stars_box_incorrect.png)");
				msg = "<span class='red' style='font-weight: bold;'>Incorrect.  Try again.</span>";
			} else {
				$(this).css("background-image", "url(_images/Collect_Stars_box_correct.png)");
				SSB.hunt.count += 1;
				
				msg = "<span class='green' style='font-weight: bold;'>Correct!  You've found another star.</span>"

				if (SSB.hunt.count == SSB.hunt.pages.length) {
					msg += " <a href='" + SSB.hunt.congrats + "'>Get your certificate.</a>";
				} else {
					msg += " <a href='" + SSB.hunt.next + "'>Find the next star.</a>";
				}

				if (SSB.count <= 9) {
					count = "Found 0" + SSB.hunt.count + " of " + SSB.hunt.pages.length;
				} else {
					count = "Found " + SSB.hunt.count + " of " + SSB.hunt.pages.length;
				}
	
				$("#hunt-count span").text(count);
				$("#hunt-count").css("background-position", "left " + (SSB.hunt.count * -132) + "px");
				
				$("#hunt-answers li").unbind("click");
				$("#hunt-answers li").css("cursor", "auto");
				
				SSB.hunt.state.answered[SSB.hunt.which] = true;
				SSB.hunt.save();
			}
	
			$("#hunt-response").html(msg);
		});
	}
	
	$("#hunt").show();
}

