
// Between the hours of 6pm & 6am, turn on Night Mode (gives the body the "night" class)
// Also turn on Night Mode when given the ?night=true URL param (for easy testing)
$(document).ready(function() {
	var time = new Date();
	var hours = time.getHours();
	var re = /[?&]night=1|true|yes/;
	var night = window.location.search.match(re);
	
	if ((hours && (hours >= 18 || hours < 6)) || night) {
		$("body").addClass("night");
	}
});

// Tooltips
$(document).ready(function() {
	window.ttfadeTO = null;
	$("a.link_tooltip").hover(
		function (e) {
			if (window.ttfadeTO != undefined) {
				clearTimeout(window.ttfadeTO);
				fadeOutToolTip();
			}
			prepareTooltip($(this), e);
			$("div#tooltip").fadeIn("normal");
		},
		function (e) {
			window.ttfadeTO = setTimeout("fadeOutToolTip()",1000);
			$("div#tooltip").stop(true, true);
		}
	)
	
	$("div#tooltip").hover(
		function (e) {
			if (window.ttfadeTO != undefined) {
				clearTimeout(window.ttfadeTO);
				$("div#tooltip").css("opacity","1");
			}
			$("div#tooltip").stop(true);
		},
		function (e) {
			window.ttfadeTO = setTimeout("fadeOutToolTip()",250);
		}
	)
});

function prepareTooltip(ttLink, event) {
	$("div#tooltip div.middle strong").text(ttLink.attr("title"));
	$("div#tooltip div.middle p").text(ttLink.attr("rev"));
	$("div#tooltip div.middle a").attr("href",ttLink.attr("href"));

	var ttWidth = $("div#tooltip").width();
	var ttHeight = $("div#tooltip").height();
	var scrollTop = $(document).scrollTop();
	var linkWidth = $(event.target).width();
	var linkLeftPos = $(event.target).offset().left;
	var linkTopPos = $(event.target).offset().top;
	
	var ttLeftPos = (linkLeftPos + linkWidth/2)-(ttWidth/2);
	var ttTopPos = linkTopPos-ttHeight+10;
	if (ttLeftPos < 0) {ttLeftPos = 0}
	
	$("div#tooltip").css({left: ttLeftPos, top: ttTopPos, display: "none"});
}

function fadeOutToolTip() {
	$("div#tooltip").fadeOut("fast");
}

//IE6 Hover on non-link elements
function addIE6Hover(selector) {
	$(selector).hover(
		function () {$(this).addClass("hover")},
		function () {$(this).removeClass("hover")}
	)
}