function onMouseOver(id, axis, frameMenu) 
{			
	//if (navigator.appName == "Netscape")
	//	return;
	
	if (getMenuLayout(id, frameMenu) != 'sel')
		setMenuLayout(id, axis, 'in', frameMenu);
}

function onMouseOut(id, axis, frameMenu) 
{			
	if (getMenuLayout(id, frameMenu) != 'sel') 
		setMenuLayout(id, axis, 'out', frameMenu);
}

function toggle(id, caller, embededArr, showInFrameArr, frameMenu, nofLevels) 
{	
	var obj, frame;
	var i, tmpId, tmpAxis;
	
	
	frame = getMenuFrame(id)
	if (top.frames[frame] == null)
		return;
	obj = top.frames[frame].document;	
	
	var orgId = obj.getElementById(id).id;
	var orgAxis = obj.getElementById(id).axis;
	
	var uniqueName = getUniqueName(orgId);
	var orgVsfrId = getVsfrId(orgId);
	var orgMenuLevel = getMenuLevel(orgAxis);
	var orgPId = getMenuPid(orgAxis)
	
	//Update all levels higher than the level containing the menu point clicked
	menuLevel = orgMenuLevel - 1;
	pId = orgPId;
	while (menuLevel >= 0) {
		
		var coll = getMenuItemColl(menuLevel, uniqueName, showInFrameArr, frameMenu);
		
		for (i = 0; i < coll.length; i++) {
			if (getVsfrId(coll[i].id) == pId) {
				selectedId = coll[i].id;  
				pId = getMenuPid(coll[i].axis);
			}
		}
		
		for (i = 0; i < coll.length; i++) {
			tmpId = coll[i].id;
			tmpAxis = coll[i].axis;
				
			if (getMenuPid(tmpAxis) == pId) {
				if (selectedId == tmpId && isLevelEmbeded(menuLevel, embededArr) == false)
					setMenuLayout(tmpId, tmpAxis, "sel", frameMenu);
				else
					setMenuLayout(tmpId, tmpAxis, "out", frameMenu);
			}
		}
		
		var coll = getMenuTableColl(menuLevel, uniqueName, showInFrameArr, frameMenu);
		for (i = 0; i < coll.length; i++) {
			if (getMenuTablePid(coll[i].id) == pId)
				coll[i].style.display = "";
			else	
				coll[i].style.display = "none";		
		}
		
		if (isLevelEmbeded(menuLevel, embededArr) == true) {
			var coll = getMenuEmbededTableColl(menuLevel, menuLevel, "", uniqueName, showInFrameArr, frameMenu);
			for (i = 0; i < coll.length; i++) {
				if (getMenuTablePid(coll[i].id) == pId)
					coll[i].style.display = "";
				else
					coll[i].style.display = "none";
			}
		}
								
		menuLevel = menuLevel - 1;
	}
	
	//Update the level containing the menu point clicked
	var coll = getMenuTableColl(orgMenuLevel, uniqueName, showInFrameArr, frameMenu);
	for (i = 0; i < coll.length; i++) {
		if (getMenuTablePid(coll[i].id) == orgPId)
			coll[i].style.display = "";
		else	
			coll[i].style.display = "none";
	}
	
	if (isLevelEmbeded(orgMenuLevel, embededArr) == true) {
		var coll = getMenuEmbededTableColl(orgMenuLevel, orgMenuLevel, "", uniqueName, showInFrameArr, frameMenu);
		
		for (i = 0; i < coll.length; i++) {
			if (getMenuTablePid(coll[i].id) == orgPId)
				coll[i].style.display = "";
			else
				coll[i].style.display = "none";
		}
	}
	
	var coll = getMenuItemColl(orgMenuLevel, uniqueName, showInFrameArr, frameMenu);
	for (i = 0; i < coll.length; i++) {
		tmpId = coll[i].id;
		tmpAxis = coll[i].axis;
			
		if (getMenuPid(tmpAxis) == orgPId)
			setMenuLayout(tmpId, tmpAxis, "out", frameMenu);	
	}
	
	setMenuLayout(orgId, orgAxis, "sel", frameMenu);
	
	if (navigator.appName != "Netscape")
		obj.getElementById(orgId).focus();
	
	//Update the level under the level containing the menu point clicked
	menuLevel = orgMenuLevel + 1;
	if (menuLevel < nofLevels) {
		var coll = getMenuTableColl(menuLevel, uniqueName, showInFrameArr, frameMenu);
		for (i = 0; i < coll.length; i++) {
			if (getMenuTablePid(coll[i].id) == orgVsfrId)
				coll[i].style.display = "";
			else	
				coll[i].style.display = "none";
		}
			
		if (isLevelEmbeded(menuLevel, embededArr) == true) {
			var coll = getMenuEmbededTableColl(menuLevel, menuLevel, "", uniqueName, showInFrameArr, frameMenu);
		
			for (i = 0; i < coll.length; i++) {
				if (getMenuTablePid(coll[i].id) == orgVsfrId)					
					coll[i].style.display = "";
				else	
					coll[i].style.display = "none";
			}		
		}
		
		var coll = getMenuChildrenColl(orgAxis, uniqueName, frameMenu);
		for (i = 0; i < coll.length; i++) {
			tmpId = coll[i].id;
			tmpAxis = coll[i].axis;
			setMenuLayout(tmpId, tmpAxis, "out", frameMenu);	
		}
	}
		
	//Hide the rest of the levels
	menuLevel = menuLevel + 1;
	while (menuLevel < nofLevels) {	
		var coll = getMenuTableColl(menuLevel, uniqueName, showInFrameArr, frameMenu);
		for (i = 0; i < coll.length; i++)
			coll[i].style.display = "none";
	
		if (isLevelEmbeded(menuLevel, embededArr) == true) {
			var coll = getMenuEmbededTableColl(menuLevel, menuLevel, "", uniqueName, showInFrameArr, frameMenu);
			for (i = 0; i < coll.length; i++)
				coll[i].style.display = "none";
		}
	
		menuLevel = menuLevel + 1;
	}
}
	
function init(uniqueName, embededArr, showInFrameArr, frameMenu, menuPathList, selectedItem, nofLevels, embededSetSelected)
{
	if (frameMenu == "true") {
		if (isLevelEmbeded(0, embededArr) == true) {
			var coll = getMenuEmbededTableColl(0, 0, "", uniqueName, showInFrameArr, frameMenu)
			for (i = 0; i < coll.length; i++)
				coll[i].style.display = "";
		}
		
		var coll = getMenuItemColl(0, uniqueName, showInFrameArr, frameMenu);	
		for (i = 0; i < coll.length; i++)
			setMenuLayout(coll[i].id,  coll[i].axis, "out", frameMenu);

		var coll = getMenuTableColl(0, uniqueName, showInFrameArr, frameMenu);
		for (i = 0; i < coll.length; i++)
			coll[i].style.display = "";
	}
	
	else {
		var selectedItemArr = selectedItem.split("|");
		selectedItem = "";
		
		for (i = 0; i < selectedItemArr.length; i++) {
			if (selectedItemArr[i].substr(8, 1).toUpperCase() == uniqueName)
				selectedItem = selectedItemArr[i];
		}
		
		for (level = 0; level < nofLevels; level++) {
			var coll = getMenuItemColl(level, uniqueName, showInFrameArr, frameMenu);	
			for (i = 0; i < coll.length; i++) {
				if ((menuPathList.indexOf(getVsfrId(coll[i].id)) != -1 && (isLevelEmbeded(level, embededArr) == false || embededSetSelected == "true")) || coll[i].id == selectedItem)
					setMenuLayout(coll[i].id, coll[i].axis, "sel", frameMenu);
				else
					setMenuLayout(coll[i].id, coll[i].axis, "out", frameMenu);
			}
		}	
	}	
}

