		var twin = false;
		var time_out = 0;
		var last_menu_id = null;
		var MENU_READY_FLAG = 0;
		var STATE = 0;
		var NO_MOUSEOUT = 0;
		
		
		function prepareImages(element_id) {
			var el = document.getElementById(element_id);
			var el_on = document.getElementById(element_id+"_on");
			el_on.style.top = getOffset(el,"offsetTop");
			el_on.style.left = getOffset(el,"offsetLeft");
		}
		function activate(element_id) {
			if(MENU_READY_FLAG == 1) {
				if(last_menu_id != null) {
					if(last_menu_id != element_id) {
						doDeactivate(last_menu_id)
						var element = document.getElementById(element_id);
						NO_MOUSEOUT = 1;
						element.style.visibility = "hidden";
						var element_on = document.getElementById(element_id+"_on");
						element_on.style.display = "block";
						NO_MOUSEOUT = 0;
						
						var submenu = document.getElementById(element_id+'_table');
						if(submenu != null) {
							submenu.style.top = getOffset(document.getElementById("menu"),"offsetTop") + 23;
							submenu.style.display = "block";
						}
						
						last_menu_id = element_id;
						STATE = 1;
					} else {
						if(STATE == 0) {
							window.clearTimeout(twin);
							var element = document.getElementById(element_id);
							
							NO_MOUSEOUT = 1;
							element.style.visibility = "hidden";							
							var element_on = document.getElementById(element_id+"_on");
							element_on.style.display = "block";
							NO_MOUSEOUT = 0;
							var submenu = document.getElementById(element_id+'_table');
							if(submenu != null) {
								submenu.style.top = getOffset(document.getElementById("menu"),"offsetTop") + 23;
								submenu.style.display = "block";
							}
							STATE = 1;
							window.clearTimeout(twin);
						}
					}
				} else {
					var element = document.getElementById(element_id);
					NO_MOUSEOUT = 1;
					element.style.visibility = "hidden";
					var element_on = document.getElementById(element_id+"_on");
					element_on.style.display = "block";
					NO_MOUSEOUT = 0;
					var submenu = document.getElementById(element_id+'_table');
					if(submenu != null) {
						submenu.style.top = getOffset(document.getElementById("menu"),"offsetTop") + 23;
						submenu.style.display = "block";
					}
					
					last_menu_id = element_id;
					STATE = 1;				
				}
			}
		}
		function activateSubmenu(element_id) {
			submenu = document.getElementById(element_id);
			submenu.className = "on";
		}
		function deactivateSubmenu(element_id) {
			submenu = document.getElementById(element_id);
			submenu.className = "";
		}		
		function deactivate(element_id) {
			if(MENU_READY_FLAG == 1) {
				if(element_id != null) {
					if(NO_MOUSEOUT == 0) {
						twin = window.setTimeout("doDeactivate('"+element_id+"')",time_out);
					}
				}
			}
		}
		function doDeactivate(element_id) {
			var element = document.getElementById(element_id);
			var element_on = document.getElementById(element_id+"_on");
			element_on.style.display = "none";
			element.style.visibility = "visible";
			var submenu = document.getElementById(element_id+'_table');
			if(submenu != null) {
				submenu.style.top = getOffset(document.getElementById("menu"),"offsetTop") + 23;
				submenu.style.display = "none";
			}
			STATE = 0;
		}
		function getOffset(element, offsetName) {
			var result = 0;
			while (element != null) {
				result += eval("element." + offsetName);
				element = element.offsetParent;
			}
			return result;
		}	
