$(document).ready(function() {
	
	setupSlideshow();
	
	$(".remember_menu_item").click(function() {
		var idx = $(".remember_menu_item").index($(this));
		displaySlideAtIndex(idx, true);
		return false;
	});
});

function setupSlideshow() {
	var hash = (document.location.hash).substring(1);
	
	var selectedIndex = indexCorrespondingToHash(hash);
	
	var width = $("#remember_pages").width();
	$("#remember_pages").children().not(":first").css("display", "none");
	$("#remember_pages").children().each(function(idx, elm) {
		$(elm).css("position", "absolute");
		var newPos = (idx*width) + "px";
		$(elm).css("left", newPos);
		$(elm).css("top", "0px");
	});
	
	displaySlideAtIndex(selectedIndex, false);
}

function displaySlideAtIndex(idx, animated) {
	var width = $("#remember_pages").width();
	var child = $("#remember_pages").children().eq(idx);
	var activeIndex = $("#remember_pages > div").index(child);
	child.css("display", "block");
	
	$(".remember_menu_item").removeClass("active");
	$(".remember_menu_item").eq(idx).addClass("active");
	document.location.hash = hashCorrespondingToIndex(idx);
	
	$("#remember_pages > div").each(function(idx, elm) {
		var newPos = ((idx - activeIndex)*width) + "px";
		$(elm).stop();
		if(animated == true) {
			$(elm).animate({
				left: newPos
			});
		} else {
			$(elm).css("left", newPos);
		}
	});
}

function indexCorrespondingToHash(hash) {
	if(hash == "screenshots") return 1;
	if(hash == "features") return 2;
	return 0;
}

function hashCorrespondingToIndex(index) {
	if(index == 1) return "screenshots";
	if(index == 2) return "features";
	return "introduction";
}