$(function() {
	if(document.referrer.toLowerCase().search("safepic.com") != -1) {
		$("body").prepend("<div class='refer' />");
		$(".refer").text("The address of this site has changed. Please update your bookmarks!");
		$(".refer").append("<div class='refer_close'>X</div>");
		$(".refer").click (function() {
			$(this).slideUp("normal", function() {
				$(this).remove();
			});
		});
		$(".refer").slideDown("slow");
	}

	$(".expansion").hide();
	
	$("a").not(".indexLetter").click(function() {
		var target = $(this).attr("href");
		if (target.charAt(0) == '#') {
			var curEl = $(target);
			if (curEl.length > 0) {
				curEl.stop(true, true).slideToggle();
				addCloseLink(curEl);
				scrollTo($(target));
			}
			return false;
		}
	});
	
	$("a.findEl").click(function() {
		var target = $(this).attr("href");
		if (target.charAt(0) == '#') {
			var curEl = $(target);
			if (curEl.length > 0) {
				cascadeOpen(curEl);	
				scrollTo($(target));
			}
			return false;
		}
	});
	
	$("a.indexLetter").click(function() {
		var target = $(this).attr("href");
		if (target.charAt(0) == '#') {
			var curEl = $(target);
			if (curEl.length > 0) {
				scrollTo(curEl);
			}
			return false;
		}
	});
	
	$(".body_section .close").live("click", function() {
		$(this).parent().stop().slideToggle();
		scrollTo($(this).parent());
		return false;
	});
	
	$("a.highlight").click(function() {
		var target = $(this).attr("href");
		try {
			$(target).attr("id", "");
		}
		catch(e) {}
		
		window.location.pathname = target.split('#')[0];
		window.location.hash = "#" + target.split('#')[1];
		window.location.reload(true);
	});
	
	openToAnchor();
});

function scrollTo(el) {
	$('html,body').animate({scrollTop: (el.offset().top - 20)},'slow');
}
function cascadeOpen(curEl) {
	while (curEl.attr("class") != "body_section") {
		curEl.stop().slideDown();
		if(curEl.hasClass("expansion")) addCloseLink(curEl);
		curEl = curEl.parent();
	}
}
function addCloseLink(curEl) {
	if (curEl.find(" > .close").size() == 0) {
		curEl.append("<a class='close' href='#'>[close]</a>");
	}	
}
function openToAnchor() {
	var myFile = document.location.toString();
	if (myFile.match('#')) { // the URL contains an anchor
		var myAnchor = '#' + myFile.split('#')[1];
		var curEl = $(myAnchor);
		if (curEl.length > 0){ 
			cascadeOpen(curEl);
			scrollTo($(myAnchor));
		}
	}
}
