var menus = ['MROMenu', 'trainingMenu', 'aboutMenu', 'newsMenu'];
var timers = new Array();
var menuLevels = new Array();
var lastXMouse = -1;
var lastYMouse = -1;


function generateMenu(currentSect) {
	if (document.getElementById('reldir')) {
		reldir = document.getElementById('reldir').value;
	} else {
		var reldir = '';
	}
	document.writeln('<div class="mainNav" id="' + currentSect + '">');
	document.writeln('	<img src="' + reldir + 'images/base/' + currentSect + '.gif"  id="navImg" class="forPrint" />');
	document.writeln('	<ul>');
	document.writeln('		<li id="AOGGEMCont"><a href="' + reldir + 'aog_gem.html" title="AOG / GEM" id="AOGGEMSel"><span>AOG / GEM</span></a></li>')
	document.writeln('		<li id="MROCont"><a href="' + reldir + 'mro_home.html" title="MRO" id="MROSel" onMouseOver="showMenu(\'MROMenu\', 0, this, [\'MROMenu\', \'MROSel\'], [33, 0])" ><span>MRO</span></a></li>')
	document.writeln('		<li id="groundCont"><a href="' + reldir + 'services_gh.html" title="Ground Handling" id="groundSel"><span>Ground Handling</span></a></li>');
	document.writeln('		<li id="trainingCont"><a href="' + reldir + 'training_flight.html" title="Training" id="trainingSel" onMouseOver="showMenu(\'trainingMenu\', 0, this, [\'trainingMenu\', \'trainingSel\'], [19, 0])" ><span>Training</span></a></li>');
	document.writeln('		<li id="aboutCont"><a href="' + reldir + 'aboutus.html" title="About Us" id="aboutSel" onMouseOver="showMenu(\'aboutMenu\', 0, this, [\'aboutMenu\', \'aboutSel\'], [14, 0])" ><span>About Us</span></a></li>');
	document.writeln('		<li id="newsCont"><a href="' + reldir + 'news_media.html" title="News and Media" id="newsSel" onMouseOver="showMenu(\'newsMenu\', 0, this, [\'newsMenu\', \'newsSel\'], [22, 0])" ><span>News and Media</span></a></li>');
	document.writeln('	</ul>');
	document.writeln('</div>');

	document.writeln('<div id="MROMenu" class="navDrop">');
	document.writeln('	<h2>MRO</h2>');
	document.writeln('	<ul>');
	document.writeln('		<li><a href="' + reldir + 'mro_engines.html">Engines & APUs</a></li>');
	document.writeln('		<li><a href="' + reldir + 'mro_high-tech.html">High Tech Components including Avionics</a></li>');
	document.writeln('		<li><a href="' + reldir + 'mro_line.html">Line Maintenance</a></li>');
	document.writeln('		<li><a href="' + reldir + 'mro_parts.html">Parts Leasing</a></li>');
	document.writeln('		<li><a href="' + reldir + 'mro_landing.html">Landing Gear</a></li>');
	document.writeln('		<li><a href="' + reldir + 'mro_aircraftSales.html">Aircraft / Parts Sales</a></li>');
	document.writeln('	</ul>');
	document.writeln('</div>');


	

	document.writeln('<div id="trainingMenu" class="navDrop">');
	document.writeln('	<h2><a href="' + reldir + 'training_flight.html">Training</a></h2>');
	document.writeln('</div>');

	document.writeln('<div id="aboutMenu" class="navDrop">');
	document.writeln('	<h2>About Us</h2>');
	document.writeln('</div>');
	
	document.writeln('<div id="newsMenu" class="navDrop">');
	document.writeln('	<h2>News &amp; Media</h2>');
	document.writeln('	<ul>');
	document.writeln('		<li><a href="' + reldir + 'media_press_current.html">Press Releases<img src="' + reldir + 'images/content/shim.gif" width="1" height="1" border="0" alt=""></a></li>');
	document.writeln('		<li><a href="' + reldir + 'whatsnew_calendar.html">Calendar</a></li>');
	document.writeln('		<li><a href="' + reldir + 'media_latest_ads.html">Ads</a></li>');
	document.writeln('		<li><a href="' + reldir + 'downloads_interactive.html">Interactive and Video</a></li>');
	document.writeln('		<li><a href="' + reldir + 'downloads_catalogsvcs.html">Catalog of Services</a></li>');
	document.writeln('		<li><a href="' + reldir + 'downloads_ebrochures.html">E-Brochures</a></li>');
	document.writeln('		<li><a href="' + reldir + 'downloads_specs.html">Simulator Spec Sheets</a></li>');
	document.writeln('		<li><a href="' + reldir + 'media_takeoff.html">Takeoff Magazine</a></li>');
	document.writeln('	</ul>');
	document.write('</div>');


}

function cancelTimerHide(id){
	window.clearTimeout(timers[id]);
	timers[id] = false;
}

function cancelAllTimerHides(){
	for (var i = 0; i < menuLevels.length; i++) {
		var openMenu = menuLevels[i][0];
		cancelTimerHide(openMenu);
	}
}

function timerHide(id){
	var funcToCall = 'hideMenu("' + id + '")';
   	timers[id] = window.setTimeout(funcToCall, 400);
}

function hideMenu(id){
	menuLevels.pop();
	timers[id] = false;
	setElementProperty(id, 'display', 'none');
}

function resetMenus(lvlnum) {
	cancelAllTimerHides();
	for (var i = menuLevels.length - 1; i >= 0; i--) {
		var mlvl = menuLevels[i];
		var menu = mlvl[0];
		var lvl = mlvl[1];
		if (lvl >= lvlnum) {
			menuLevels.pop();
			setElementProperty(menu, 'display', 'none');
		} else {
			return;
		}
	}
}

function showMenu(openMenu, menuLevel, actItem, actAreas, relxy){
	if(document.getElementById){
		resetMenus(menuLevel);

		var mlvl = new Array(openMenu, menuLevel, actItem, actAreas);
		menuLevels.push(mlvl);
		
		var x = 0;
		var y = 0;

		x = getElementLeft(actItem);
		y = getElementBottom(actItem);

		setElementProperty(openMenu, 'display', 'block');
		setElementProperty(openMenu, 'left', (x + relxy[0]) + 'px');
		setElementProperty(openMenu, 'top', (y + relxy[1]) + 'px');
		setElementProperty(openMenu, 'z-index', '23');
	}
}

function getMousePos(event){
	var x, y;
	if(window.event){
		x = window.event.clientX;
		y = window.event.clientY;
		if (document.documentElement && document.documentElement.scrollTop){
			y+=document.documentElement.scrollTop;
			
		} else {
			y+=document.body.scrollTop;
			
		}
	} else {
		x = event.pageX;
		y = event.pageY;
	}
	if ((x == lastXMouse) && (y == lastYMouse)) {
		return;
	} else {
		lastXMouse = x;
		lastYMouse = y;
	}
	var dontHideParents = false;
	for (var i = menuLevels.length - 1; i >= 0; i--) {
		var mlvl = menuLevels[i];
		var openMenu = mlvl[0];
		var actAreas = mlvl[3];
		var testInside = isInside(x, y, actAreas);
		var timerExists = timers[openMenu];
		if (testInside || dontHideParents) {
			cancelTimerHide(openMenu);
			dontHideParents = true;
		} else if (!testInside && !timerExists) {
			timerHide(openMenu);
		} 
	}
}

function isInside(xMouse, yMouse, ids){
	for (var i = 0; i < ids.length; i++) {
		var id = ids[i];
		if (id == null) break;
		if ((xMouse >= getElementLeft(id)) && (xMouse <= getElementRight(id)) && (yMouse >= getElementTop(id)) && (yMouse <= getElementBottom(id))) {
			return true;
		}
	}
	return false;
}

function Array_pop() {
	var response = this[this.length - 1];
	this.length--;
	return response;
}

function Array_push() {
	var A_p = 0;
	for (A_p = 0; A_p < arguments.length; A_p++) {
		this[this.length] = arguments[A_p];
	}
	return this.length;
}

if (typeof Array.prototype.push == "undefined") {
	Array.prototype.push = Array_push;
}

window.onload = function() {
	document.onmousemove = getMousePos;
}
