// ********************************
// application-specific functions *
// ********************************

function showMenu(menuNumber, eventObj) {
    //    alert(eventObj);
    hideAllMenus();
    var menuId = 'menu' + menuNumber;
    var menuTitle = getStyleObject('menuTitle' + menuNumber);
    //moveObject(menuId, menuTitle.nleft, menuTitle.nright);
    //moveObject(menuId, 420, 120);
    if(changeObjectVisibility(menuId, 'visible')) {
        menuTitle.backgroundColor = '#996633';
        eventObj.cancelBubble = true;
        return true;
    } else {
        return false;
    }
}

var numMenus = 2;
var menuTimer;

function hideAllMenus() {
    for(counter = 1; counter <= numMenus; counter++) {
        changeObjectVisibility('menu' + counter, 'hidden');
        var menuTitle = getStyleObject('menuTitle' + counter);
        menuTitle.backgroundColor = '#000000';
    }
}

document.onclick = hideAllMenus;

// ************************
// layer utility routines *
// ************************

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 styleObject;
    } else {
        // we couldn't find the object, so we can't change its visibility
        return false;
    }
} // changeObjectVisibility


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 very well move it
        return false;
    }
} // moveObject

function startMenuTimer(theDiv){
 menuTimer=window.setTimeout("whichDiv.style.visibility='hidden'",1000);
}

function stopMenuTimer(theDiv){
 whichDiv=theDiv;
 if (menuTimer){
   clearTimeout(menuTimer)
 }
}
