var imgCache = new Object();
function cacheImage(url) {
	if (!imgCache[url]) {
		imgCache[url] = new Image();
		imgCache[url].src = url;
	}
}

$(document).ready(function() {
	$("img[hoversrc]").each(function(pos) {
		var img = $(this);
		var src = img.attr("src");
		img.attr("basesrc", src);

		cacheImage(src);
		cacheImage(img.attr("hoversrc"));

		img.mouseover(function() {
			img = $(this);
			img.attr("src", img.attr("hoversrc"));
		});
		img.mouseout(function() {
			img = $(this);
			img.attr("src", img.attr("basesrc"));
		});
	});

	var footnoteArray = $("span.footnote");
	if (footnoteArray.length > 0) {
		$("ul.bottom-nav").before("<div id=\"endnotes\"><div class=\"ruler\"></div></div>");
		var endnotes = $("#endnotes");

		footnoteArray.each(function(pos) {
			var footNum = pos + 1;
			var footnote = $(this);
			var footnoteInner = footnote.html();
			footnote.replaceWith("<a id=\"footnum-" + footNum + "\" class=\"footnum\">" + footNum + "</a>");
			endnotes.append("<div class=\"note\"><div class=\"num\"><a href=\"#\">" + footNum + "</a>.</div><div class=\"text\">" + footnoteInner + "</div></div>");

			var contents = $("#footnum-" + footNum).parent().contents();
			for (var i = 0; i < contents.length; i++) {
				var currentElement = $(contents[i]);
				if ((currentElement.attr("id") == "footnum-" + footNum) && ($(contents[i + 1]).hasClass("footnote"))) {
					currentElement.append(",");
					break;
				}
			}
		});
	}

	$("a.footnum").click(function(e) {
		$("html, body").animate({ scrollTop: $("#endnotes > div.note:eq(" + (parseInt($(this).text()) - 1) + ")").offset().top }, 500);
	});
	$("#endnotes div.note div.num a").click(function(e) {
		$("html, body").animate({ scrollTop: $("a.footnum:eq(" + (parseInt($(this).text()) - 1) + ")").offset().top }, 500);
	});
});