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

function changeStyle(id)
{
	var style = getStyleObject(id);
	style.Class = 'menuItemHover';
}

function showMenu(menuNumber) {
    showingMenu = menuNumber;
    hideAllMenus();
    var menuId = 'menu' + menuNumber;
    if(changeObjectVisibility(menuId, 'visible')) {
	var menuTitle = getStyleObject('menuTitle' + menuNumber);
	return true;
    } else {
	return false;
    }
}

var numMenus = 3;
var showingMenu = -1;

function hideAllMenus() {
    for(counter = 0; counter <= numMenus; counter++) 
    {
	changeObjectVisibility('menu' + counter, 'hidden');
    }
}

function hideAllMenusButCurrent() {
    for(counter = 0; counter <= numMenus; counter++) 
    {
    if (counter != showingMenu)
    {
	changeObjectVisibility('menu' + counter, 'hidden');
	var menuTitle = getStyleObject('menuTitle' + counter);
	}
    }
}

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 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