//////////////////////////////////////////////////////////////////////
//
// HappyMenus v1.0i (inline version)
//
// use LANGUAGE="JavaScript1.2" to invoke this javascript module,
// so older browsers do not attempt to run incompatible code.
//
// (c) 2002 David Simmons
//
//////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
// detect browser
//////////////////////////////////////////////////////////////////////
var browser_name         = navigator.appName;
var browser_version      = parseFloat(navigator.appVersion);
var browser_version_long = navigator.appVersion;
var browser_ie = null;
var browser_ns = null;

if (browser_name.search(/microsoft/i) != -1) {
	var result = browser_version_long.match(/MSIE ([0-9.]+)/);
	if (result != null) {
		browser_ie = parseFloat(result[1]);
	} else {
		browser_ie = browser_version;
	}
}
if (browser_name.search(/netscape/i) != -1) {
	browser_ns = browser_version;
}

//document.write(browser_ie + " ... " + browser_ns);


//////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
// global variables
//////////////////////////////////////////////////////////////////////

var menu_current = '';

//////////////////////////////////////////////////////////////////////
// public functions
//////////////////////////////////////////////////////////////////////

function menu_popup(name) {

	if (menu_current != '') {
		menu_popdown(menu_current);
	}
	menu_show(name);
	menu_effect_on(name);

	menu_current = name;

	return true;
}

function menu_popdown(name) {

	menu_hide(name);
	menu_effect_off(name);

	menu_current = "";

	//return true;
}

//////////////////////////////////////////////////////////////////////
// private functions
//////////////////////////////////////////////////////////////////////


function layer_to_element(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (browser_ie) {
		return document.all[id];
	} else if (browser_ns >= 4) {
		return document.layers[id];
	} else {
		return null;
	}
}

function image_to_element(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (browser_ie) {
		return document.all[id];
	} else if (browser_ns >= 4) {
		return document.images[id];
	} else {
		return null;
	}
}

function menu_show(name) {

	var div;
	div = layer_to_element('popup' + name);
	if (div == null) {
		return;
	}

	if (! div) {
		return;
	}

	// browser-specific
	if ((browser_ns >= 4.0) && (browser_ns < 5.0)) {
		div.visibility = "show";
	} else {
		div.style.visibility = "visible";
	}
	return;

}

function menu_hide(name) {
	var div = layer_to_element('popup' + name);
	if (div == null) {
		return;
	}

	if (! div) {
		return;
	}

	// browser-specific
	if ((browser_ns >= 4.0) && (browser_ns < 5.0)) {
		div.visibility = "hide";
	} else {
		div.style.visibility = "hidden";
	}
	return;


}

function menu_effect_on(name) {
	var button = image_to_element('button' + name);
	if (button == null) {
		return;
	}

	button.src = 'buttons/_button' + name + '.png';	
}

function menu_effect_off(name) {
	var button = image_to_element('button' + name);
	if (button == null) {
		return;
	}

	button.src = 'buttons/button' + name + '.png';	

}
