// vars
var timeoutA = 1500;
var closetimerA = 0;
var ddmenuitemA = 0;

var timeoutB = 1500;
var closetimerB = 0;
var ddmenuitemB = 0;

var timeoutC = 1500;
var closetimerC = 0;
var ddmenuitemC = 0;

// closeAll
function closeAll()
{
	closeA();
	closeB();
	closeC();
}

// open --------------
function openA()
{
	canceltimerA();
	canceltimerB();
	canceltimerC();
	
	closeA();
	closeB();
	closeC();
	
	ddmenuitemA = $("#flyoutA").css('visibility', 'visible');	
}

// close --------------
function closeA()
{
	if(ddmenuitemA) ddmenuitemA.css('visibility', 'hidden');
}

// timer -------------------
function timerA()
{
	closetimerA = window.setTimeout(closeA, timeoutA);
}

// canceltimer -----------------
function canceltimerA()
{
	if(closetimerA)
	{
		window.clearTimeout(closetimerA);
		closetimerA = null;
	}
}
//@@@@@@@@@@@@@@@@@@@@

// open --------------
function openB()
{
	canceltimerA();
	canceltimerB();
	canceltimerC();
	
	closeA();
	closeB();
	closeC();
	
	ddmenuitemB = $("#flyoutB").css('visibility', 'visible');	
}

// close --------------
function closeB()
{
	if(ddmenuitemB) ddmenuitemB.css('visibility', 'hidden');
}

// timer -------------------
function timerB()
{
	closetimerB = window.setTimeout(closeB, timeoutB);
}

// canceltimer -----------------
function canceltimerB()
{
	if(closetimerB)
	{
		window.clearTimeout(closetimerB);
		closetimerB = null;
	}
}
//@@@@@@@@@@@@@@@@@@@@

// open --------------
function openC()
{
	canceltimerA();
	canceltimerB();
	canceltimerC();
	
	closeA();
	closeB();
	closeC();
	
	ddmenuitemC = $("#flyoutC").css('visibility', 'visible');	
}

// close --------------
function closeC()
{
	if(ddmenuitemC) ddmenuitemC.css('visibility', 'hidden');
}

// timer -------------------
function timerC()
{
	closetimerC = window.setTimeout(closeC, timeoutC);
}

// canceltimer -----------------
function canceltimerC()
{
	if(closetimerC)
	{
		window.clearTimeout(closetimerC);
		closetimerC = null;
	}
}
//@@@@@@@@@@@@@@@@@@@@


//..........................................................

$(document).ready(function()
{

	$("#triggerA").bind('mouseover', openA);
	$("#triggerA").bind('mouseout',  timerA);
	
	$("#triggerB").bind('mouseover', openB);
	$("#triggerB").bind('mouseout',  timerB);
	
	$("#triggerC").bind('mouseover', openC);
	$("#triggerC").bind('mouseout',  timerC);
	
	// close subs if hovering over other nonsub nav items...
	$(".noSub").bind('mouseover',  closeAll);
	
	//document.onclick = close;

//..................................................


// fade gallery images at load...
var fadeOut = 0.75;
var fadeIn = 1.0;
$(".gallery img").fadeTo(10, fadeOut);

// fade thumbs in on mouseover...
	$(".gallery img").hover(
	function()
	{
		$(this).fadeTo(25, fadeIn);
	},
	function()
	{
		$(this).fadeTo(25, fadeOut);
	}
);
	
// stop page from jumping when scrolled...
$(".gallery img").click(function(arrowClicked){arrowClicked.preventDefault();});
	

// make IE f****ing understand CSS properly!
//$("#side_panel tr:last-child")
	//.css({"background-image":"none"});

$("#book_online_table tr:last-child")
	.css({"background-image":"none"});

// the following causes problems with hover...
/*
$("#side_panel tr:first-child")
	.css({"background-image":
		 "url(../images/BG_divider_line.gif)",
		 "background-repeat": "no-repeat",
		 "background-position": "bottom"});
*/

///////////////////////////////////

// Sort out hover colours for side panel...
// js may seem a convoluted way to do this, but the reason is because
// the client will be editing the side panel items in Contribute,
// and there is no automatic way to make sure they remember to apply
// the correct class if if they don't make the item into a link...
// CSS needs Xor!
var thisElement;
$(function()
	{
		$("#side_bar tr a").hover(
			function()
			{
				thisElement = $(this);
				$(this).parent().parent("tr").addClass("highlight");
			},
			function()
			{
				$(this).parent().parent("tr").removeClass("highlight");
			}
		)
	}
)

///////////////////////////////////

// force div heights to match
var columnHeightLeft = $("div#column1_contents").height();
var columnHeightRight = $("div#side_panel").height();	
if(columnHeightLeft > columnHeightRight)
	$("div#side_panel").css({'height' : columnHeightLeft});
else
	$("div#column1_contents").css({'height' : columnHeightRight});	
});