var ie = document.all? true : false;
var dom = document.getElementById && !document.all ? true : false;
var ns4 = document.layers? true : false;
var opera = window.opera ? true : false;
var currentMenu = null;
var timer = null;

function getObjectNav(nameStr) {
    if (dom) {
        return document.getElementById( nameStr );
    }
    else if (ie) {
        return document.all[nameStr];
    }
}

function go(url) {
	url = 'http://' + url;
	self.location = url;
}

function showQuickLinks(elem, targetMenuName) {
	hideQuickLinks();
	var targetMenuObj = getObjectNav(targetMenuName);
	//alert(getTop(elem))
	//workaround for ie6 post q810847...sigh
	if (ie && (getTop(elem) > 146)) 
		targetMenuObj.style.top = (getTop(elem) / 2) + 105 + "px";
	else if (ie && !opera) {
		targetMenuObj.style.top = getTop(elem) + 18 + "px";
	}
	else if (opera) {
		targetMenuObj.style.top = getTop(elem) + 19 + "px";
	}
	else {
		targetMenuObj.style.top = getTop(elem) + 19 + "px";
	}
		
	targetMenuObj.style.left = (getLeft(elem) - 0) + "px";
	targetMenuObj.style.visibility = 'visible';
	currentMenu = targetMenuObj.id;

}

function hideQuickLinks() {
	if (currentMenu != null) {
		var targetMenuObj = getObjectNav(currentMenu);
		targetMenuObj.style.visibility  = 'hidden';
	}
}


function menuOut() {
	timer = setTimeout("hideQuickLinks()", 350);
}

function menuOver() {
	clearTimeout(timer);
}

function getLeft(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}


function getTop(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
