	var totalMenus = 7;
	var totalSubMenus = 2;
	var layerIDint;
	var layerID;
	var displaceMenu, displaceMenuBack;
	var initialLayerID, initialLayerIDBack;
	var newPos = 0;
	
	function moveMenus(layrID, dispMenu, dispMenuBack) {
		
		layerIDint = layrID;
		intialLayerID = layrID;
		intialLayerIDBack = layrID;
		displaceMenu = dispMenu;
		displaceMenuBack = dispMenuBack;
				
		submenu = getElm("submenu" + layerIDint);
		if (submenu.style.visibility == "hidden") {
			restoreOriginal();
			submenu.style.visibility = "visible";
			moveMainMenus(layerID);
		}
		else {
			restoreOriginal();
			submenu.style.visibility = "hidden";
			moveMainMenusBack(layerID);
		}
	}
	
	function moveMainMenus(layrID) {
		newPos = getnewPos(layrID);

		if (newPos < displaceMenu) {
			for (var i = (layerIDint + 1) ; i <= totalMenus; i++) {
				layerID = "menu" + i;
				moveDown(layerID, 5);
				setTimeout("moveMainMenus(initialLayerID)",20);
			}
		}
	}

	function moveMainMenusBack(layrID) {
		newPos = getnewPos(layrID);
		if (newPos > displaceMenuBack) {
			for (var i = (layerIDint + 1) ; i <= totalMenus; i++) {
				layerID = "menu" + i;
				moveDown(layerID, -1);
				setTimeout("moveMainMenusBack(intialLayerIDBack - 1)",20);
			}
		}
	}
	
	function getnewPos(layrID) {
		id = "menu" + (layerIDint + 1);
		
		elm = getElm(id);
		
		if (!elm)
		{ // browser not supported or element not found
		}
		else if (elm.style)
		{ // browser implements part of W3C DOM Style
		  // Gecko, Internet Explorer 4+, Opera 5+
		  if (typeof(elm.style.top) == 'number')
		  { // Opera 5/6 do not implement the standard correctly
		    // and assume that elm.style.left and similar properties
		    // are numbers.
		    return (elm.style.top);
		  }
		  else
		  { // Gecko/Internet Explorer 4+
		    // W3C DOM Style states that elm.style.left is a string
		    // containing the length followed by the unit. e.g. 10px
		    // Gecko will allow you to omit the unit only in Quirks mode. 
		    // Gecko REQUIRES the unit when operating in Standards mode.
			return (parseInt(elm.style.top,0));
		  }
		}
		else if (typeof(elm.top) == 'number')
		{ // Navigator 4
		  return (elm.top);
		}
	}


 	function getElm(id) {
		var elm = null;
		if (document.getElementById)
		{ // browser implements part of W3C DOM Style 
		  // Gecko, Internet Explorer 5+, Opera 5+
		  elm = document.getElementById(id);
		}
		else if (document.all)
		{ // Interent Explorer 4 or Opera with IE user agent
		  elm = document.all[id];
		}
		else if (document.layers)
		{ // Navigator 4
		  elm = document.layers[id];
		}
		return(elm);
		//window.alert(elm);
	}

	
	function moveDown(layrID, yy) {
		id = layrID;
		y = yy;
		
		elm = getElm(id);
		
		if (!elm)
		{ // browser not supported or element not found
		}
		else if (elm.style)
		{ // browser implements part of W3C DOM Style
		  // Gecko, Internet Explorer 4+, Opera 5+
		  if (typeof(elm.style.top) == 'number')
		  { // Opera 5/6 do not implement the standard correctly
		    // and assume that elm.style.left and similar properties
		    // are numbers.
		    elm.style.top  += y;
		    newPos = elm.style.top;
		  }
		  else
		  { // Gecko/Internet Explorer 4+
		    // W3C DOM Style states that elm.style.left is a string
		    // containing the length followed by the unit. e.g. 10px
		    // Gecko will allow you to omit the unit only in Quirks mode. 
		    // Gecko REQUIRES the unit when operating in Standards mode.
			elm.style.top  = (parseInt(elm.style.top,0) + y) + 'px';
			newPos = elm.style.top;
		  }
		}
		else if (typeof(elm.top) == 'number')
		{ // Navigator 4
		  elm.top  += y;
		  newPos = elm.top;
		}
		
	}
	
	var menuPos = new Array(totalMenus);
	var submenuPos = new Array(totalSubMenus);	
	function initPos() {
		for (var c = 1; c <= totalMenus; c++) {
			elm = getElm("menu" + c);
			menuPos[c] = getTop(c);
		}
		for (var c = 1; c <= totalSubMenus; c++) {
			elm = getElm("submenu" + c);
			submenuPos[c] = getTop(c);
		}
	}
	

	function getTop(layrID) {
		id = "menu" + layrID;
		
		elm = getElm(id);
		
		if (!elm)
		{ // browser not supported or element not found
		}
		else if (elm.style)
		{ // browser implements part of W3C DOM Style
		  // Gecko, Internet Explorer 4+, Opera 5+
		  if (typeof(elm.style.top) == 'number')
		  { // Opera 5/6 do not implement the standard correctly
		    // and assume that elm.style.left and similar properties
		    // are numbers.
		    return (elm.style.top);
		  }
		  else
		  { // Gecko/Internet Explorer 4+
		    // W3C DOM Style states that elm.style.left is a string
		    // containing the length followed by the unit. e.g. 10px
		    // Gecko will allow you to omit the unit only in Quirks mode. 
		    // Gecko REQUIRES the unit when operating in Standards mode.
			return (parseInt(elm.style.top,0));
		  }
		}
		else if (typeof(elm.top) == 'number')
		{ // Navigator 4
		  return (elm.top);
		}
	}

	
	var subelm;
	function restoreOriginal() {
		for (var c = 1; c <= totalMenus; c++) {
			elm = getElm("menu" + c);
			setTop(("menu" + c), menuPos[c]);
			subelm = getElm("submenu" + c);
			if (subelm) {
				subelm.style.visibility = "hidden"
			}
		}
	}
	
	function setTop(layrID, yy) {
		id = layrID;
		y = yy;
		
		elm = getElm(id);
		
		if (!elm)
		{ // browser not supported or element not found
		}
		else if (elm.style)
		{ // browser implements part of W3C DOM Style
		  // Gecko, Internet Explorer 4+, Opera 5+
		  if (typeof(elm.style.top) == 'number')
		  { // Opera 5/6 do not implement the standard correctly
		    // and assume that elm.style.left and similar properties
		    // are numbers.
		    elm.style.top  = y;
		  }
		  else
		  { // Gecko/Internet Explorer 4+
		    // W3C DOM Style states that elm.style.left is a string
		    // containing the length followed by the unit. e.g. 10px
		    // Gecko will allow you to omit the unit only in Quirks mode. 
		    // Gecko REQUIRES the unit when operating in Standards mode.
			elm.style.top  = y + 'px';
		  }
		}
		else if (typeof(elm.top) == 'number')
		{ // Navigator 4
		  elm.top  = y;
		}
	}

