
// keep last menu
var remember = '';
// timeout check
var checkIt;
// test dhtml
var DHTML = (document.getElementById || document.all || document.layers);
// waiting in seconds
timing = 3000;

/**
 * show menu
 **/
function show(name,lvl,obj,nb,pos)
	{
	// test dhtml
	if (!DHTML)
		return;
	
	// check timeout
	checkUserInput();

	// already the good menu -> exit
	if(remember[lvl] == name)
		return;

	// close all
	closeAll();

	// set main image ON
	if(document.images[name+'_img'])
		document.images[name+'_img'].src = imgon[name];

	// menu object ref
	var x = getObj(name);

	// main menu object ref
	var xx = getObjWithoutStyle(name+'_main');

	// set menu + pos
	if(pos)
		x.left = xx.offsetLeft+pos; 
	else
		x.left = xx.offsetLeft; 

	// visible
	x.visibility = 'visible';

	// keep menu name
	remember = name;
	}

/**
 * close all menus
 **/
function closeAll()
	{
	if(remember) {
		// get reference
		var x = getObj(remember);
		// set image to off
		if(document.images[remember+'_img']) {
			if(remember!=sel) {
				document.images[remember+'_img'].src = imgoff[remember];
				}
			}
		// hide menu
		x.visibility = 'hidden';
		}
	}

/**
 * check timeout var
 **/
function checkUserInput()
	{
	// clear if exists
	if (checkIt)
		clearTimeout(checkIt);
	// set timeout
	checkIt = setTimeout('closeAll()',timing);
	}

/**
 * get object reference depending browser
 **/
function getObj(name)
	{
	if(document.getElementById) {
		return document.getElementById(name).style;
		}
	else if(document.all) {
		return document.all[name].style;
		}
	else if (document.layers) {
		return document.layers[name];
		}
	}

/**
 * get object reference without .style level
 **/
function getObjWithoutStyle(name)
	{
	if (document.getElementById) {
		return document.getElementById(name);
		}
	else if (document.all) {
		return document.all[name];
		}
	else if (document.layers) {
		return document.layers[name];
		}
	}

/**
 * prout object properties
 * (une bonne function à la greg!)
 **/
function proutObj(o)
	{
	str = '';
	for(var p in o) {
		str += p+' : '+o[p]+' | ';
		}
	return str;
	}
