// Handles the flyout menus

var flyout = null;
var flyoutOwner = null;
var flyoutItems = new Array();
var clearTimer = null;

//**********************************************
//flyout initializations

function showFishingFlyout(event) {

	cancelClearTimer();
	clearFlyout();
	
	var eventSrc = event.srcElement;
	if (!eventSrc)
		eventSrc = event.currentTarget;
	flyoutOwner = eventSrc;
	
	//*****To edit the flyout change these function calls*****
	addFlyoutItem("Guides","guides_en.html");
	addFlyoutItem("Equipment","equipment_en.html");
	addFlyoutItem("Permits","permits_en.html");
	//********************************************************
	
	showFlyout();
}

function showLodgeFlyout(event) {

	cancelClearTimer();
	clearFlyout();
	
	var eventSrc = event.srcElement;
	if (!eventSrc)
		eventSrc = event.currentTarget;
	flyoutOwner = eventSrc;
	
	//*****To edit the flyout change these function calls*****
	addFlyoutItem("Accommodations","accomodations_en.html");
	addFlyoutItem("Meals","meals_en.html");
	addFlyoutItem("Directions","directions_en.html");
	//********************************************************
	
	showFlyout();
}

function showReportsFlyout(event) {
	
	cancelClearTimer();
	clearFlyout();
	
	var eventSrc = event.srcElement;
	if (!eventSrc)
		eventSrc = event.currentTarget;
	flyoutOwner = eventSrc;
	
	//*****To edit the flyout change these function calls*****
	addFlyoutItem("Dartmouth River","dartmouth_en.html");
	addFlyoutItem("York River","york_en.html");
	addFlyoutItem("St-Jean River","stjean_en.html");
	//********************************************************
	
	showFlyout();
}

//**********************************************


function flyoutItemInfo( text, link ) {
	this.text = text;
	this.link = link;
}

function delayClearFlyout() {
	clearTimer = window.setTimeout("clearFlyout();",300);
}

function cancelClearTimer() {
	window.clearTimeout(clearTimer);
}

function clearFlyout() {
	if (flyout != null) {
		document.body.removeChild(flyout);
		flyout = null;
		flyoutOwner = null;
	}
	flyoutItems = new Array();
}

function addFlyoutItem( text, link ) {
	flyoutItems[flyoutItems.length] = new flyoutItemInfo(text,link);
}

function getPageOffsetLeft(obj) {
	var offsetLeft = obj.offsetLeft;
	var parent = obj.offsetParent;
	while (parent) {
		offsetLeft += parent.offsetLeft;
		parent = parent.offsetParent;
	}
	
	return offsetLeft;
}

function getPageOffsetTop(obj) {
	var offsetTop = obj.offsetTop;
	var parent = obj.offsetParent;
	while (parent) {
		offsetTop += parent.offsetTop;
		parent = parent.offsetParent;
	}
	
	return offsetTop;
}

function showFlyout() {
	//Here we construct the flyout DOM and show the flyout
	flyout = document.createElement("DIV");
	flyout.className = "flyoutBody";
	flyout.onmouseout = new Function('delayClearFlyout();');
	flyout.onmouseover = new Function('cancelClearTimer();');
	
	for (var i = 0; i < flyoutItems.length; i++) {
		var flyoutItem = document.createElement("DIV");
		flyoutItem.className = "flyoutItem";
		
		flyoutItem.appendChild(document.createTextNode(flyoutItems[i].text));
		
		flyoutItem.onclick = new Function('document.location.href = "' + flyoutItems[i].link + '"');
		flyoutItem.onmouseover = new Function('this.className = "flyoutItemRollover"; ');
		flyoutItem.onmouseout = new Function('this.className = "flyoutItem"');	
		
		flyout.appendChild(flyoutItem);
	}
	
	flyout.style.top = getPageOffsetTop(flyoutOwner);
	flyout.style.left = getPageOffsetLeft(flyoutOwner) + flyoutOwner.offsetWidth;
	document.body.appendChild(flyout);
}