
var remember = new Array();
var remember2 = new Array();
var checkIt;
var DHTML = (document.getElementById || document.all || document.layers);
var useMask = false;
var theMask;
var thePos;
var theImg;

var menuXoffset = 0;
//var menuYoffset = 20;

// Turn iFrame mask on for IE 5.5+ / PC only to solve the problem, form pulldown menu appears on top of dhtml menu
if (is_ie && !is_mac_ie) {
	if (is_ie5_5up) {
		useMask = true;
	}
}


function show(name,lvl,obj) {
	if (!DHTML) return;
	if (remember[lvl] && remember[lvl] == name) return;
	if (remember[lvl]) {
		closeAll(lvl);
	}
	if (name) {
		thePos = getObj("pos" + name);
		xPos = offsetLeft(thePos) + menuXoffset;
		// fix y position of the menu on IE 5.5 PC
		if (is_ie && is_minor == 5.5 && !is_mac_ie) {
			yPos = offsetTop(thePos) - 29;
		}
		else{
		// push menu down to the height of top nav
			yPos = offsetTop(thePos) + 43;
		}
		
		theTable = "table" + name;
		name = "menu" + name;
		var x = getObj(name).style;
		x.visibility = 'visible';
		x.left = xPos;
		x.top = yPos;
		if (useMask) {
			theMask = getObj("iMask");
			theMask.style.left = xPos;
		    theMask.style.top = yPos;
			theMask.style.width = getObj(theTable).offsetWidth;
		    theMask.style.height = getObj(theTable).offsetHeight;
		}
	}
	
	remember[lvl] = name;
	
	if (obj.parentNode) y = obj.parentNode;
	else if (obj.parentElement) y = obj.parentElement;
	else return;
	if (y.className) return;
	y.className = 'over';
	if (remember2[lvl]) remember2[lvl].className = '';
	remember2[lvl] = y;
}

function closeAll(lvl) {
	for (i=remember.length - 1;i>=lvl;i--) {
		if (remember[i]) {
			var x = getObj(remember[i]).style;
			x.visibility = 'hidden';
			//document.getElementById("searchType").style.visibility = "visible";
			// we may need this for the page that have form pull down menu right under the dhtml menu
		}
		remember[i] = null;
		if (remember2[i]) {
			remember2[i].className = '';
			remember2[i] = null;
		}
	}
    if (useMask) {
		if (theMask) {
	    	theMask.style.top = -600;
		}
	}
}

function checkUserInput() {
	checkIt = setTimeout('closeAll(1)',0);
}

function getObj(name) {
	if (document.getElementById) {
		return document.getElementById(name);
	} else if (document.all) {
		return document.all[name];
	} else if (document.layers) {
		return document.layers[name];
	} else return false;
}

function offsetLeft(o){
	var i = 0;
	while (o.offsetParent!=null) {
		i += o.offsetLeft;
		o = o.offsetParent;
	}
	return i + o.offsetLeft;
}
function offsetTop(o){
	var i = 0;
	while (o.offsetParent!=null) {
		i += o.offsetTop;
		o = o.offsetParent;
	}
	return i + o.offsetTop;
}
function writeNav(selected , copy, link) {
	if (selected) {
		return '<b>' + copy + '</b>';
	} else {
		return '<a href="' + link + '">' + copy + '</a>';
	}
}
