function menuOver(itemName) {
 clearTimeout(timeOn)
 menuActive = 1
}

// MENU MOUSE OUT 
function menuOut(itemName) {
 if(document.layers) {
  menuActive = 0 
  timeOn = setTimeout("hideAllMenus()", 400)
  }
}

var timeOn = null
numMenus = 5;
document.onmouseover = hideAllMenus;
document.onclick = hideAllMenus;
window.onerror = null;

function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
 // W3C DOM
 return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
 // MSIE 4 DOM
 return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
 // NN 4 DOM.. note: this won't find nested layers
 return document.layers[objectId];
    } else {
 return false;
    }
} // getStyleObject

function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
 styleObject.visibility = newVisibility;
 return true;
    } else {
 //we couldn't find the object, so we can't change its visibility
 return false;
    }
} // changeObjectVisibility


function showMenu(menuNumber, eventObj, labelID) {
    hideAllMenus();
 if(document.layers) {
 img = getImage("img" + menuNumber);
  x = getImagePageLeft(img);
  y = getImagePageTop(img);
  menuTop = y + 10; // LAYER TOP POSITION
 eval('document.layers["menu'+menuNumber+'"].top="'+menuTop+'"');
  eval('document.layers["menu'+menuNumber+'"].left="'+x+'"');
 }
 eventObj.cancelBubble = true;
    var menuId = 'menu' + menuNumber;
    if(changeObjectVisibility(menuId, 'visible')) {
 return true;
    } else {
 return false;
    }
}

function hideAllMenus() {
    for(counter = 1; counter <= numMenus; counter++) {
 changeObjectVisibility('menu' + counter, 'hidden');
    }
}

function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
 styleObject.left = newXCoordinate;
 styleObject.top = newYCoordinate;
 return true;
    } else {
 // we couldn't find the object, so we can't move it
 return false;
    }
} // moveObject



// ***********************
// hacks and workarounds *
// ***********************

// initialize hacks whenever the page loads
window.onload = initializeHacks;

// setup an event handler to hide popups for generic clicks on the document
function initializeHacks() {
    // this ugly little hack resizes a blank div to make sure you can click
    // anywhere in the window for Mac MSIE 5
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
 && (navigator.platform.indexOf('Mac') != -1)
 && getStyleObject('blankDiv')) {
 window.onresize = explorerMacResizeFix;
    }
    resizeBlankDiv();

    // this next function creates a placeholder object for older browsers
    createFakeEventObj();
}

function createFakeEventObj() {
    // create a fake event object for older browsers to avoid errors in function call
    // when we need to pass the event object to functions
    if (!window.event) {
 window.event = false;
    }
} // createFakeEventObj


function resizeBlankDiv() {
    // resize blank placeholder div so IE 5 on mac will get all clicks in window
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
 && (navigator.platform.indexOf('Mac') != -1)
 && getStyleObject('blankDiv')) {
 getStyleObject('blankDiv').width = document.body.clientWidth - 20;
 getStyleObject('blankDiv').height = document.body.clientHeight - 20;
    }
}

function explorerMacResizeFix () {
    location.reload(false);
}

function mClk(src){ 
 if(event.srcElement.tagName=='TD')
  src.children.tags('A')[0].click();
}
