var mouseover = 0;
var checking = 0;
var prevmenu = null;
var prevpop = null;
var prevtimeout = null;

/******************************************************************************/
// Embedded Popups
function showpopbox(objparent,offsetX,offsetY,namebox) 
{
	if (prevpop != null) {
		prevpop.style.display = 'none';
	}
	if (objparent != null) {
		var xPos = findPos(objparent,'x');
		var yPos = findPos(objparent,'y');
		
		// pad the position so the link drops beneath it
		yPos = yPos + objparent.offsetHeight;
		
	// if there's no link to attach to, put the popup under the nav
	} else {
		var xPos = 100;
		var yPos = 150;
	}

	// move elements if needed
	if (!isNaN(offsetX)) { xPos = xPos + offsetX + 1; }
	if (!isNaN(offsetY)) { yPos = yPos + offsetY; }

	// Alter the background graphic
	if (prevmenu != null) {
		prevmenu.style.backgroundImage = "url(images/master/menu_back.jpg)";
	}
	objparent.style.backgroundImage = "url(images/master/menu_back_hi.jpg)";
	prevmenu = objparent;

	// open the embedded popup
	var obj = document.getElementById(namebox);
	if (obj) {
	    obj.style.display = 'block';
	    obj.style.left = xPos + "px";
	    obj.style.top = yPos + "px";
	}
    prevpop = obj;
    mouseover++;
}

function menutimeout()
{
    mouseover--;
    
    // Clear any previous timeouts
    if (prevtimeout != null) {
        clearTimeout(prevtimeout);
    }
    
	// Set a half second timeout when the menu is not being used to close
	prevtimeout = setTimeout("hidepopbox()",500);
}

function menuover()
{
    mouseover++;
}

function hidepopbox() 
{
    prevtimeout = null;
    
	// Closes the popups if mouse isn't over anything
	if (mouseover <= 0) {
	    if (prevpop != null) {
    		prevpop.style.display = 'none';
		}
		mouseover = 0;
		if (prevmenu != null) {
		    prevmenu.style.backgroundImage = "url(images/master/menu_back.jpg)";
			prevmenu = null;
		}
		prevpop = null;
	}
}

// finds the position of the click to place the popup
function findPos(obj,axis) 
{
	var cur = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			if (axis == 'x') { cur += obj.offsetLeft }
			else { cur += obj.offsetTop }
			obj = obj.offsetParent;
		}
	} else {
		if ((axis == 'x') && (obj.x)) { cur += obj.x; }
		if ((axis == 'y') && (obj.y)) { cur += obj.y; }
	}
	return cur;
}
