
var initial=0;
var cell;
var imageElement;
var newImage;
var newColor;
var menu = null;
var menuDisplayed = null;
var listItemImg=null;

var hiLitedOpt = null;

function myInit(element) {
	initial=1
	element.onmouseover=null;
}

function replaceImg(img_element, img) {
	
	img_element.src=img;
}

function ddReplaceImg(img_id, img) {

	var element = document.getElementById(img_id);
	element.src=img;
}


function overMenu(cell, list, color, id, img) {
	var leftPos;
	var listElement;
	if (initial != 0) {
		listElement = document.getElementById(list);
		if (listElement.style.display != "inline") {
			clearTimer();
			hideMenu();
			replaceImg(document.getElementById(id), img);
			leftPos = getLeft(cell);
			if (id == "opt5") leftPos -= 2;
				
			/* browser detection: firefox is ok */
			userAgentVar = navigator.userAgent;
			// must check for Opera first
			if (/opera/.test( navigator.userAgent.toLowerCase())) {
				leftPos -= 1;
			} else if (/chrome/.test( navigator.userAgent.toLowerCase())) {
				if (id != "opt5") leftPos -= 1;
			} else if (/safari/.test( navigator.userAgent.toLowerCase())){
				leftPos -= 1;
			} else if (userAgentVar.indexOf("MSIE") != "-1") {
				if (/MSIE (\d+\.\d+);/.test(userAgentVar)){
					var iev=new Number(RegExp.$1)
					if (iev < 9) leftPos -= 1;
				}
			}
		}
		listElement.style.left= leftPos + "px";
		listElement.getElementById(list).style.display="inline";
	}
}

function overMenu(img_element, list, img) {
	var leftPos;
	if (initial != 0) {
/*		var listElement = document.getElementById(list); */
		/*		if (listElement.style.display != "inline") { */
		clearTimer();
		if (list != menuDisplayed) {
/*			clearTimer(); */
			hideMenu();
			replaceImg(img_element, img);
			leftPos = getLeft(img_element);
/*			var agent=navigator.userAgent.toLowerCase();
			if (agent.indexOf("firefox") != -1) {
				if (list != 'reviewMenu') leftPos -= 1;
			}
*/			
/*			listElement.style.left= leftPos + "px";
			listElement.getElementById(list).style.display="inline"; */

			document.getElementById(list).style.left= leftPos + "px";
			document.getElementById(list).style.display="inline";
			menuDisplayed = list;
		}  /* else alert("Already displyed"); */
	}
}

function ddOverMenu(img_element, opt, img) {

/*	if (initial != 0)  { this was to prevent submenus from popping up if cursor is over top-level
						menu item when page is loaded, and mouse hasn't moved yet. But this cannot
						happen, because top-level menu items that have submenus are not links. It
						was causing a problem wherein if cursor was moved over a top-level menu
						item from within the area of a submenu, even though the latter is not displayed
						when page is initially loaded, for some reason (browser bug? at least in
						firefox) the initial variable was not getting set to 1 */
		if (hiLitedOpt == null) {
/*			ddHideMenu(); */
			replaceImg(img_element, img);
			hiLitedOpt = opt;
		} else if (opt != hiLitedOpt) {
				ddHideMenu();
				replaceImg(img_element, img);
				hiLitedOpt = opt;
		} else clearTimer();
/*		hiLitedOpt = opt; */
/*	} */
}

function ddOverSubMenu(opt, img) {
	/* This is neccesary because since the submenu takedown is delayed, it stays up for a little
	 * while wihtout the "knowledge" of the triggering top-level menu item. Thus the user is able
	 * to move the cursor over this submenu and then back into the top-level menu item. In order
	 * to prevent this looking like the case that it came from some other top-level menu item,
	 * must reset hiLitedOpt back to the value it was that got this sub menu displayed. This will
	 * thereby prevent allow ddOverMenu to know that it should clear the timer.
	 */
/*	clearTimer(); */
	var img_element=document.getElementById(opt);
	
/*	replaceImg(img_element, img); */
/*	hiLitedOpt = opt; */
	ddOverMenu(img_element, opt, img);
}

function getLeft(element) {

/*	var left = 9; */
	var left = 0;
	while( element != null ) {
		left += element.offsetLeft;
		element = element.offsetParent;
	}
	return left;
}

/* function outMenu(thecell, menu, color, id, img) { */
function outMenu(img_element, menu, img) {

/*	cell = thecell; */
	imageElement = img_element;
	newImage = img;
/*	newColor = color; */

/*	cell.style.backgroundColor=color;
	replaceImg(document.getElementById(id), img); */
	
/*	document.getElementById(menu).style.display="none"; */
	startTimer(menu);
}

function ddOutMenu(img_element, img, id) {
	imageElement = img_element;
	newImage = img;
	ddStartTimer(id);
}

function outSubMenu(menuid, imgId, img) {
		var img_element=document.getElementById(imgId);
		outMenu(img_element, menuid, img);
}

function ddOutSubMenu(id, img) {

/*	if (id != hiLitedOpt) { */
		var img_element=document.getElementById(id);
		ddOutMenu(img_element, img, id);
/*	} */
}

var  timerId=0 ;

function hideMenu() {
	if (menu != null) {
		document.getElementById(menu).style.display="none";
/*		cell.style.backgroundColor=newColor; */
		menuDisplayed = null;
		replaceImg(imageElement, newImage);
	}
	menu = null;
/*	timerId=0; */
	
}

function ddHideMenu() {
	if (imageElement != null) {
/*		menuDisplayed = null; */
		replaceImg(imageElement, newImage);
		hiLitedOpt = null;
		imageElement = null;	
	}
/*	hiLitedOpt = null; */
/*	listItemImg = null; */
/*	timerId=0; */
	
}

function ddClearTimer(id) {
	clearTimer();
}

function clearTimer() {
  if (timerId!=0) {
	clearTimeout(timerId);
	timerId=0;
  }
}

function startTimer(id) {

	/* document.getElementById(id).style.display="none"; */
	menu=id;
/*	menuDisplayed=null; */
	clearTimer();
	timerId=setTimeout('timerId=0;hideMenu()',100);
}

function ddStartTimer(id) {

	/* document.getElementById(id).style.display="none"; */
/*	menuDisplayed=null; */
	clearTimer();
	timerId=setTimeout('timerId=0;ddHideMenu()',100);
}


function myPreLoad() {

	var d=document,a=arguments;
	
	if (d.images) {
	
		if(!d.Menu_imgs) d.Menu_imgs=new Array();
		for(var i=0; i<a.length; i++) {
			d.Menu_imgs[i]=new Image; d.Menu_imgs[i].src=a[i];
		}
	}
}




