var strCurrentMenuName;
var objMenuAbout;
var objMenuAdvice;
var objMenuExplanations;
var objMenuResources;
var objMenuCommentary;

function ShowMenu() {
	var objSelectedMenu;
	var objButton;
	
	objSelectedMenu = document.getElementById(this.MenuID);
	if (objSelectedMenu != null) 
		objSelectedMenu.style.display = 'block';
	
	objButton = document.getElementById(this.ButtonID);
	if (objButton != null) 
		objButton.src = this.ImageFilenameWhenOn;
	
	this.Visible = true;
	strCurrentMenuName = this.MenuID;
	}
	
function HideMenu() {
	var objSelectedMenu;
	var objButton;
	
	objSelectedMenu = document.getElementById(this.MenuID);
	if (objSelectedMenu != null) 
		objSelectedMenu.style.display = 'none';
	
	objButton = document.getElementById(this.ButtonID);
	if (objButton != null) 
		objButton.src = this.ImageFilenameWhenOff;
		
	this.Visible = false;
	}
	
function ToggleMenuDisplay() {
	var objSelectedMenu;

	objSelectedMenu = document.getElementById(this.MenuID);
	if (objSelectedMenu != null) {
		if (objSelectedMenu.style.display == 'none') {
			hideAllMenus();		
			objSelectedMenu.style.display = 'block';
			this.Visible = true;
			}
		else {
			hideAllMenus();		
			objSelectedMenu.style.display = 'none';
			this.Visible = false;
			}
		}
	}
	
function ShowAsSelected() {
	var objButton;
	
	objButton = document.getElementById(this.ButtonID);
	if (objButton != null) 
		objButton.src = this.ImageFilenameWhenOn;
	}

function ShowAsUnselected() {
	var objButton;
	
	objButton = document.getElementById(this.ButtonID);
	if (objButton != null) 
		objButton.src = this.ImageFilenameWhenOff;
	}

function clsMenu(MenuId, ButtonID, OnImage, OffImage) {

	this.MenuID = MenuId;
	this.ButtonID = ButtonID;
	this.ImageFilenameWhenOn = OnImage;
	this.ImageFilenameWhenOff = OffImage;
	this.Visible = false;
	
	this.Show = ShowMenu;
	this.Hide = HideMenu;
	this.ToggleMenu = ToggleMenuDisplay;
	this.Select = ShowAsSelected;
	this.Unselect = ShowAsUnselected;
	}
	
// -------------------------------
	
function initializeMenu() {
	objMenuAbout = new clsMenu('mnuAbout', 'btnAbout', './assets/About_hot.gif', './assets/About.gif');
	objMenuAdvice = new clsMenu('mnuAdvice', 'btnAdvice', './assets/Advice_hot.gif', './assets/Advice.gif');
	objMenuExplanations = new clsMenu('mnuExplanations', 'btnExplanations', './assets/Explanations_hot.gif', './assets/Explanations.gif');
	objMenuResources = new clsMenu('mnuResources', 'btnResources', './assets/Resources_hot.gif', './assets/Resources.gif');
	objMenuCommentary = new clsMenu('mnuCommentary', 'btnCommentary', './assets/Commentary_hot.gif', './assets/Commentary_Cold.gif');
	strCurrentMenuName='';
	}

function hideNonCurrentMenus(){
	if (strCurrentMenuName!=objMenuAbout.MenuID) 		{ 	objMenuAbout.Hide(); }
	if (strCurrentMenuName!=objMenuAdvice.MenuID) 		{ 	objMenuAdvice.Hide(); }
	if (strCurrentMenuName!=objMenuExplanations.MenuID) { 	objMenuExplanations.Hide(); }
	if (strCurrentMenuName!=objMenuResources.MenuID)	{ 	objMenuResources.Hide(); }
	if (strCurrentMenuName!=objMenuCommentary.MenuID)	{ 	objMenuCommentary.Hide(); }
	}
	
function hideAllMenus(){
	strCurrentMenuName = '';
	hideNonCurrentMenus();
	}

function showMenu(strMenuName) {
	switch (strMenuName) {
		case objMenuAbout.MenuID :  	
			objMenuAbout.Show();
			objMenuAdvice.Hide();
			objMenuExplanations.Hide(); 
			objMenuResources.Hide();	
			objMenuCommentary.Hide();
			break;
		case objMenuAdvice.MenuID :  
			objMenuAbout.Hide(); 		
			objMenuAdvice.Show();
			objMenuExplanations.Hide(); 
			objMenuResources.Hide();	
			objMenuCommentary.Hide();
			break;
		case objMenuExplanations.MenuID :  
			objMenuAbout.Hide(); 		
			objMenuAdvice.Hide();
			objMenuExplanations.Show(); 
			objMenuResources.Hide();	
			objMenuCommentary.Hide();
			break;
		case objMenuCommentary.MenuID :  
			objMenuAbout.Hide(); 		
			objMenuAdvice.Hide();
			objMenuExplanations.Hide(); 
			objMenuResources.Hide();	
			objMenuCommentary.Show();
			break;
		case objMenuResources.MenuID :  
			objMenuAbout.Hide(); 		
			objMenuAdvice.Hide();
			objMenuExplanations.Hide(); 
			objMenuResources.Show();	
			objMenuCommentary.Hide();
			break;
		}
	strCurrentMenuName = strMenuName;
	}
	
