

function toggleMenu(node)
{
	
		var fIsOpening = false;
		
		//toggle icon:	
		var oMenuIcon=document.getElementById("oPM" + node);
		var strIcon = oMenuIcon.children.item(0).src;
		if (strIcon.indexOf('menu_plus') > 0)
		{
			oMenuIcon.children.item(0).src = strIcon.replace('menu_plus_arrow','menu_minus_arrow');
			fIsOpening = true;
		}
		else if (strIcon.indexOf('menu_minus') > 0)
		{
			oMenuIcon.children.item(0).src = strIcon.replace('menu_minus_arrow','menu_plus_arrow');
			fIsOpening = false;
		}
		
		var iRow = 0;
		var iMenuHeight = 0;
		var colMenu = oSideMenu_oMenuFrame.children;
		var iMenuTotal = colMenu.length;
		if (iMenuTotal > 0)
		{
			for(var i=0; i<iMenuTotal; i++)
			{
				var fAddVisibleRow = false;
				var strCurr = colMenu.item(i).id;
				var iPathLoc = strCurr.indexOf('M' + node + '_');
				
				
				//if submenu && first child after parent:
				if (iPathLoc > 0 && ((iPathLoc+node.length+1) == strCurr.lastIndexOf('_')) ) 
				{
					if (colMenu.item(i).style.visibility == "visible") 
					{
						colMenu.item(i).style.visibility = "hidden";
						//Close grandchildren:
						if (strCurr.substring(0,3) == "oPM" && colMenu.item(i).children.length > 0)
						{
							var strPMIcon = colMenu.item(i).children.item(0).src; 
							colMenu.item(i).children.item(0).src = strPMIcon.replace('menu_minus_arrow','menu_plus_arrow');
						}
						
					}
					else
					{
						fAddVisibleRow = true;
						colMenu.item(i).style.visibility = "visible";
					}
				} 
				else if (iPathLoc > 0 && ((iPathLoc+node.length+1) < strCurr.lastIndexOf('_')) && !fIsOpening)
				{
					//close all grandchildren, greatgrandchildren, etc.
					colMenu.item(i).style.visibility = "hidden";
					if (strCurr.substring(0,3) == "oPM" && colMenu.item(i).children.length > 0)
					{
						var strPMIcon = colMenu.item(i).children.item(0).src; 
						colMenu.item(i).children.item(0).src = strPMIcon.replace('menu_minus_arrow','menu_plus_arrow');
					}
				}
				else if (colMenu.item(i).style.visibility == "visible")
				{
						fAddVisibleRow = true;
				}
				
				if (fAddVisibleRow)
				{
					colMenu.item(i).style.top = iRow * 16;
					if (strCurr.substring(0,2) == "oM") 
					{
						iRow++;
						iMenuHeight = iMenuHeight + 16;
					}
				}					 
				
			}
			
			oSideMenuEditTag.style.top = iMenuHeight;
			oLeftMenuComponents.style.height = iMenuHeight;			
			oLeftMenuEdge.style.height = iMenuHeight;
			
			CCV1_formatWindow();
		}


}




