current = 	'';		// Menu item that is currently fading in
lastUsed = 	'';		// Menu item that is currently being displayed
myEffect = 	'';	
delay = 	100;
menuIDs = 	new Array('nav_dec','nav_comm','nav_ls','nav_abc','nav_tcc');

function showOnly(id) {
	if (lastUsed != id) {
		// did we perform an effect yet?
		if (myEffect) {
			if (myEffect.isFinished()) {
				for (i = 0; i < menuIDs.length; i++) {
					hide(menuIDs[i]);
				}
				myEffect = new Effect.Appear(id);
				lastUsed = id;
			}
			else {
				current = id;
				setTimeout('cleanup()', delay);
			}
		}
		else {
			// run for the first time
			for (i = 0; i < menuIDs.length; i++) {
				hide(menuIDs[i]);
			}
			myEffect = new Effect.Appear(id);
			lastUsed = id;
		}
	}
}

function cleanup() {
	if (myEffect && myEffect.isFinished() == false) {
		setTimeout('cleanup()', delay);
		return;
	}
	if (current != '') {
		showOnly(current);
	}
	current = '';
}

// Hide a layer by passing in its ID name
// Parameters:  object - ID of the layer
function hide(object) {
    if (document.getElementById && document.getElementById(object) != null)
         document.getElementById(object).style.display = 'none';
    else if (document.layers && document.layers[object] != null)
        document.layers[object].visibility = 'hidden';
    else if (document.all)
         document.all[object].style.visibility = 'hidden';
}
