var timeoutID;
var bOver = 0;
var killAll = 0;
var objLayer;
var imgName = '';
var menuIdx = 0;
var imgNumber = -1;
var timeoutLength = 300;
var levelArr = new Array();
var imgOnArr = new Array();
var imgOffArr = new Array();
var rootCount;

function setMenuLayerEventListeners(){
	for(var i=0;i<menuArr.length;i++){
		objLayer = getLayer(menuArr[i]);
		if(objLayer){
			addLayerEventListener(objLayer, 'MOUSEOVER', 'enterMenu');
			addLayerEventListener(objLayer, 'MOUSEOUT', 'exitMenu');
			addLayerEventListener(objLayer, 'MOUSEMOVE', 'setFlag');
		}
	}
}
// --------------------
function enterBaseMenu(m, n){
	window.clearTimeout(timeoutID);
	if(m.split("x").length == 1){
		if(levelArr.length == 1){
			if(levelArr[0] == m){
				return true;
			}
		}
		removeAllLevels();
		window.clearTimeout(timeoutID);
		bOver = 0;
		setAllOriginal();
		bOver = 1;
		//imgOver(n);
	}
	addLevel(m);
	hideAllMenues();
	menuIdx = m;
	bOver = 0;
	objLayer = getLayer(menuIdx);
	if(objLayer){
		setLayerVisibility(objLayer, 'visible');
	}
	return true;
}

// --------------------

function exitBaseMenu(){
	timeoutID = window.setTimeout("hideMenu()", timeoutLength);
	return true;
}
// --------------------
function enterMenu(){
	window.clearTimeout(timeoutID);
	bOver = 1;
	return true;
}
// --------------------
function exitMenu(){
	bOver = 0;
	timeoutID = window.setTimeout("exitBaseMenu()", timeoutLength);
	return true;
}
// --------------------
// set flag to true when mouse is over menu
function setFlag(){
	bOver = 1;
	return true;
}

//-----------------
function hideAllMenues(){
	window.clearTimeout(timeoutID);
	killAll = 1;
	for(var i = 0;i < menuArr.length;i++){
		menuIdx = menuArr[i];
		if(!parentLevel()){
			killMenu();
		}
	}
	killAll = 0;
}

// --------------------
function killMenu(){
	if((menuIdx.length > 0) || killAll){
		objLayer = getLayer(menuIdx);
		if(objLayer) setLayerVisibility(objLayer, 'hidden');
	}
}

// --------------------
function hideMenu(){
	window.clearTimeout(timeoutID);
	if(bOver == 0){
		removeLevel();
		killMenu();
	}
	timeoutID = window.setTimeout("setAllOriginal()", timeoutLength);
}

// --------------------
function setMenuPositions(){
	for(var i=0;i < menuArr.length;i++){
		objLayer = getLayer(menuArr[i]);
		if(objLayer){
			moveLayerTo(objLayer, xMenuPosArr[i], yMenuPosArr[i]);
		}
	}
}
// --------------------
function setAllOriginal(){
	window.clearTimeout(timeoutID);
	if(bOver == 0){
		removeAllLevels();
		hideAllMenues();
		//setImgOriginal();
	}
}