// In addition to Macromedia's dynamic menu code in the second part of this file, we have our own code// that processes menu contents passed in from a content file, highlights the active item,// and supports menus made out of graphics or text. We modified the Macromedia code to support// highlighting the active text item, as noted by the "add active support" comments.// This make_menus function generates and executes JavaScript that creates the ojects the Macromedia// functions require. For example:	// window.Produce_menu = new menu("Produce",120,18,'Arial',12,'#000000','#FFFFFF','#CCCCCC','#0000FF','left','middle',3,0,200,-5,7,true,true,true,0,'#999999','#FFFFFF',1,'#333333','../graphics/arrow.gif');	// window.Apples_menu = new menu("Apples",120,18,'Arial',12,'#000000','#FFFFFF','#CCCCCC','#0000FF','left','middle',3,0,200,-5,7,true,true,true,0,'#999999','#FFFFFF',1,'#333333','../graphics/arrow.gif');				// Produce_menu.add_menu_item(Apples_menu);	// Produce_menu.add_menu_item("Pears","location='../contemplate/assembler.php?page=dhtml_initial_produce_pears'");	// Produce_menu.add_menu_item("Bananas","location='../contemplate/assembler.php?page=dhtml_initial_produce_bananas'");	// Apples_menu.add_menu_item("Green","location='../contemplate/assembler.php?page=dhtml_initial_produce_apples_green'");	// Apples_menu.add_menu_item("Red","location='../contemplate/assembler.php?page=dhtml_initial_produce_apples_red'");// To place the menus on a page, document.write the results of the make_menus function,// which will be an array of the main menu items.// Warning: We have to call the make_menus function from the body tag of the document,// not the head tag and not a tag nested within the body. This is how Macromedia wrote their functions.// these are default values for text-only menus; you can override them by setting them in your pagemenu_width = 120;menu_height = 18;menu_font_family = "Arial";menu_font_size = 12;menu_font_color = "#000000";menu_font_highlight_color = "#FFFFFF";menu_background_color = "#CCCCCC";menu_highlight_background_color = "#0000FF";menu_align = "left";menu_valign = "middle";menu_padding = 3;menu_spacing = 0;menu_timeout = 200;menu_submenu_X_offset = -5;menu_submenu_Y_offset = 7;menu_submenu_relative_to_item = "true";menu_background_opaque = "true";menu_vertical = "true";menu_indent = 0;menu_drop_shadow_color = "#999999";menu_highlit_shadow_color = "#FFFFFF";menu_border = 1;menu_border_color = "#333333";menu_submenu_icon = "../graphics/site/menu_arrow.gif";			function make_menus(text, links, graphics, active) {	// build a menu parameter variable in the format that the Macromedia functions expect it	menu_parameters = menu_width + "," + menu_height + ",'" + menu_font_family + "'," + menu_font_size + ",'" + menu_font_color + "','";	menu_parameters += menu_font_highlight_color + "','" + menu_background_color + "','" + menu_highlight_background_color + "','" + menu_align + "','";	menu_parameters += menu_valign + "'," + menu_padding + "," + menu_spacing + "," + menu_timeout + "," + menu_submenu_X_offset + "," + menu_submenu_Y_offset + ",";	menu_parameters += menu_submenu_relative_to_item + "," + menu_background_opaque + "," + menu_vertical + "," + menu_indent + ",'";	menu_parameters += menu_drop_shadow_color + "','" + menu_highlit_shadow_color + "'," + menu_border + ",'" + menu_border_color + "','" + menu_submenu_icon + "'";		// initialize the variables that we'll be working with	submenu_definitions = "";	submenu_item_additions = "";	main_menu_items = new Array();	level = 0;	// loop through the first level of the menu arrays	for (var i=0; i<text.length; i++) {		// build HTML code to create the main menu items, which will be visible initially		menu_name = "menu_" + i;		//alert("building top level menu " + menu_name); // debug		// we might have to dig a bit to get to the real menu item, so loop until we find it		menu_text = text[i]; menu_link = links[i]; menu_graphic = graphics[i];		while (typeof(menu_text) != "string") {			menu_text = menu_text[0]; menu_link = menu_link[0]; menu_graphic = menu_graphic[0];		}		menu_text = (menu_text != "") ? menu_text : "" ;		menu_link = (menu_link != "") ? menu_link : "JavaScript:;" ;		menu_active = ((active.length >= 1)&&(i == active[0])) ? 1 : 0 ;		menu_graphic = (menu_graphic != "") ? "<img src=\"" + menu_graphic + "\" border=\"0\" align=\"middle\">" : "" ;		menu_graphic = (menu_active) ? menu_graphic.replace("_0", "_1") : menu_graphic ;		menu_action = (typeof(text[i]) != "string") ? "onMouseOver=\"show_menu(window." + menu_name + ", 0, 15, null, '" + menu_name + "')\" onMouseOut=\"MM_startTimeout();\"" : "" ;		menu_HTML = "";		menu_HTML += "<div id=\"" + menu_name + "\" style=\"float: left\">\n";		menu_HTML += "<a href=\"" + menu_link + "\" " + menu_action + ">";		menu_HTML += menu_graphic + menu_text;		menu_HTML += "<\/a>\n";		menu_HTML += "<\/div>\n";		main_menu_items[main_menu_items.length] = menu_HTML;				// if the item is an array, then call a function to create a submenu		if (typeof(text[i]) != "string") {			make_submenus(text[i], links[i], graphics[i], active, menu_name);		}	}		if ((submenu_definitions != "")&&(submenu_item_additions != "")) {		// for some reason, we have to define the menus from deepest to shallowest or else the Macromedia code generates errors		// we built the string from shallowest to deepest, so reverse it now		submenu_definitions = submenu_definitions.split("\n").reverse().join("\n");			// if we have submenus, evaluate the menu definition code we just generated		//alert(submenu_definitions); // debug		eval(submenu_definitions);		//alert(submenu_item_additions); // debug		eval(submenu_item_additions);		// finally, call the Macromedia function that activates the DHTML		write_menus();	}	// return this to the template so it can write it to the page	//alert(main_menu_items.join("\n")); // debug	return main_menu_items;}function make_submenus(text, links, graphics, active, menu_name) {	// loop through this submenu array	for (var i=0; i<text.length; i++) {		var item_name = menu_name + "_" + i; // the item name will become the submenu name if we run into another submenu		if (typeof(text[i]) != "string") {			// if this item is another array, call this function again to create a nested submenu 			make_submenus(text[i], links[i], graphics[i], active, item_name);						// then add the submenu's name to the current menu we're building			submenu_item_additions += menu_name + ".add_menu_item(" + item_name + ");\n";			//alert("adding menu item to " + menu_name); // debug		} else {			// otherwise, we're ready to build the submenu			display_name = text[i].replace(/\"/g, "&quot;");			active_path = menu_name.split("_");			active_path = active_path.slice(1); // remove the "menu_" from the menu name			active_path[active_path.length] = i; // the rest of the menu name plus the current item index tells us the current position in the submenus; the active value from Contemplate tells us the position of the active item			menu_active = (active.join(",") == active_path.join(",")) ? 1 : 0 ;			menu_graphic = (graphics[i] != "") ? "<img src='" + graphics[i] + "'>" : "" ;			menu_graphic = (menu_active) ? menu_graphic.replace("_0", "_1") : menu_graphic ;			if (i==0) {				// the first item in the array describes the menu itself,				// so build JavaScript code to create a new menu object				submenu_definitions += "window." + menu_name + " = new menu(";				submenu_definitions += "\"" + menu_graphic + display_name + "\", " + menu_parameters;				submenu_definitions += ");\n";				//alert("adding menu " + menu_name); // debug			} else {				// the subsequent items describe the menu contents,				// so build JavaScript code to add an item to the menu object				submenu_item_additions += menu_name + ".add_menu_item(";				submenu_item_additions += "\"" + display_name + "\", \"location='" + links[i] + "'\", " + menu_active;				submenu_item_additions += ");\n";				//alert("adding menu item to " + menu_name); // debug			}		}	}}/** * mm_menu 20MAR2002 Version 6.0 * Andy Finnell, March 2002 * Copyright (c) 2000-2002 Macromedia, Inc. * * based on menu.js * by gary smith, July 1997 * Copyright (c) 1997-1999 Netscape Communications Corp. * * Netscape grants you a royalty free license to use or modify this * software provided that this copyright notice appears on all copies. * This software is provided "AS IS," without a warranty of any kind. */// menu(label, width, height, font family, font size, font color, font highlight color, bgcolor, highlight bgcolor, align, valign, padding, spacing,// timeout, submenu X offset, submenu Y offset, submenu relative to item, bg opaque, vertical, indent, drop shadow color, highlit shadow color, border, border color, submenu icon)	  				function menu(label, mw, mh, fnt, fs, fclr, fhclr, bg, bgh, halgn, valgn, pad, space, to, sx, sy, srel, opq, vert, idt, dsh, hsh, bd, bc, mi) {	this.version = "020320 [menu; mm_menu.js]";	this.type = "menu";	this.menuWidth = mw;	this.menuItemHeight = mh;	this.fontSize = fs;	this.fontWeight = "plain";	this.fontFamily = fnt;	this.fontColor = fclr;	this.fontColorHilite = fhclr;	this.bgColor = dsh;	this.menuBorder = bd;	this.menuBgOpaque=opq;	this.menuItemBorder = bd;	this.menuItemIndent = idt;	this.menuItemBgColor = bg;	this.menuItemVAlign = valgn;	this.menuItemHAlign = halgn;	this.menuItemPadding = pad;	this.menuItemSpacing = space;	this.menuLiteBgColor = hsh;	this.menuBorderBgColor = bc;	this.menuHiliteBgColor = bgh;	this.menuContainerBgColor = "#CCCCCC";	this.childMenuIcon = mi;	this.submenuXOffset = sx;	this.submenuYOffset = sy;	this.submenuRelativeToItem = srel;	this.vertical = vert;	this.items = new Array();	this.actions = new Array();	this.actives = new Array(); // add active support	this.childMenus = new Array();	this.hideOnMouseOut = true;	this.hideTimeout = to;	this.add_menu_item = add_menu_item;	this.write_menus = write_menus;	this.show_menu = show_menu;	this.onMenuItemOver = onMenuItemOver;	this.onMenuItemAction = onMenuItemAction;	this.hideMenu = hideMenu;	this.hideChildMenu = hideChildMenu;	if (!window.menus) window.menus = new Array();	this.label = " " + label;	window.menus[this.label] = this;	window.menus[window.menus.length] = this;	if (!window.activeMenus) window.activeMenus = new Array();}function add_menu_item(label, action, active) {	this.items[this.items.length] = label;	this.actions[this.actions.length] = action;	this.actives[this.actives.length] = active; // add active support}function FIND(item) {	if( window.mmIsOpera ) return(document.getElementById(item));	if (document.all) return(document.all[item]);	if (document.getElementById) return(document.getElementById(item));	return(false);}function write_menus(container) {	if (window.triedTowrite_menus) return;	var agt = navigator.userAgent.toLowerCase();	window.mmIsOpera = agt.indexOf("opera") != -1;	if (!container && document.layers) {		window.delaywrite_menus = this.write_menus;		var timer = setTimeout('delaywrite_menus()', 500);		container = new Layer(100);		clearTimeout(timer);	} else if (document.all || document.hasChildNodes || window.mmIsOpera) {		document.writeln('<span id="menuContainer"></span>');		container = FIND("menuContainer");	}	window.mmHideMenuTimer = null;	if (!container) return;		window.triedTowrite_menus = true; 	container.isContainer = true;	container.menus = new Array();	for (var i=0; i<window.menus.length; i++) 		container.menus[i] = window.menus[i];	window.menus.length = 0;	var countMenus = 0;	var countItems = 0;	var top = 0;	var content = '';	var lrs = false;	var theStat = "";	var tsc = 0;	if (document.layers) lrs = true;	for (var i=0; i<container.menus.length; i++, countMenus++) {		var menu = container.menus[i];		if (menu.bgImageUp || !menu.menuBgOpaque) {			menu.menuBorder = 0;			menu.menuItemBorder = 0;		}		if (lrs) {			var menuLayer = new Layer(100, container);			var lite = new Layer(100, menuLayer);			lite.top = menu.menuBorder;			lite.left = menu.menuBorder;			var body = new Layer(100, lite);			body.top = menu.menuBorder;			body.left = menu.menuBorder;		} else {			content += ''+			'<div id="menuLayer'+ countMenus +'" style="position:absolute;z-index:1;left:10px;top:'+ (i * 100) +'px;visibility:hidden;color:' +  menu.menuBorderBgColor + ';">\n'+			'  <div id="menuLite'+ countMenus +'" style="position:absolute;z-index:1;left:'+ menu.menuBorder +'px;top:'+ menu.menuBorder +'px;visibility:hide;" onmouseout="mouseoutMenu();">\n'+			'	 <div id="menuFg'+ countMenus +'" style="position:absolute;left:'+ menu.menuBorder +'px;top:'+ menu.menuBorder +'px;visibility:hide;">\n'+			'';		}		var x=i;		for (var i=0; i<menu.items.length; i++) {			var item = menu.items[i];			var childMenu = false;			var defaultHeight = menu.fontSize+2*menu.menuItemPadding;			if (item.label) {				item = item.label;				childMenu = true;			}			menu.menuItemHeight = menu.menuItemHeight || defaultHeight;			itemFontColor = (menu.actives[i]) ? menu.fontColorHilite : menu.fontColor ; // add active support			var itemProps = '';			if( menu.fontFamily != '' ) itemProps += 'font-family:' + menu.fontFamily +';';			itemProps += 'font-weight:' + menu.fontWeight + ';fontSize:' + menu.fontSize + 'px;';			if (menu.fontStyle) itemProps += 'font-style:' + menu.fontStyle + ';';			if (document.all || window.mmIsOpera) 				itemProps += 'font-size:' + menu.fontSize + 'px;" onmouseover="onMenuItemOver(null,this);" onclick="onMenuItemAction(null,this);';			else if (!document.layers) {				itemProps += 'font-size:' + menu.fontSize + 'px;';			}			var l;			if (lrs) {				var lw = menu.menuWidth;				if( menu.menuItemHAlign == 'right' ) lw -= menu.menuItemPadding;				l = new Layer(lw,body);			}			var itemLeft = 0;			var itemTop = i*menu.menuItemHeight;			if( !menu.vertical ) {				itemLeft = i*menu.menuWidth;				itemTop = 0;			}			var dTag = '<div id="menuItem'+ countItems +'" style="position:absolute;left:' + itemLeft + 'px;top:'+ itemTop +'px;'+ itemProps +'">';			var dClose = '</div>'			if (menu.bgImageUp) dTag = '<div id="menuItem'+ countItems +'" style="background:url('+menu.bgImageUp+');position:absolute;left:' + itemLeft + 'px;top:'+ itemTop +'px;'+ itemProps +'">';			var left = 0, top = 0, right = 0, bottom = 0;			left = 1 + menu.menuItemPadding + menu.menuItemIndent;			right = left + menu.menuWidth - 2*menu.menuItemPadding - menu.menuItemIndent;			if( menu.menuItemVAlign == 'top' ) top = menu.menuItemPadding;			if( menu.menuItemVAlign == 'bottom' ) top = menu.menuItemHeight-menu.fontSize-1-menu.menuItemPadding;			if( menu.menuItemVAlign == 'middle' ) top = ((menu.menuItemHeight/2)-(menu.fontSize/2)-1);			bottom = menu.menuItemHeight - 2*menu.menuItemPadding;			var textProps = 'position:absolute;left:' + left + 'px;top:' + top + 'px;';			if (lrs) {				textProps +=itemProps + 'right:' + right + ';bottom:' + bottom + ';';				dTag = "";				dClose = "";			}						if(document.all && !window.mmIsOpera) {				item = '<div align="' + menu.menuItemHAlign + '">' + item + '</div>';			} else if (lrs) {				item = '<div style="text-align:' + menu.menuItemHAlign + ';">' + item + '</div>';			} else {				var hitem = null;				if( menu.menuItemHAlign != 'left' ) {					if(window.mmIsOpera) {						var operaWidth = menu.menuItemHAlign == 'center' ? -(menu.menuWidth-2*menu.menuItemPadding) : (menu.menuWidth-6*menu.menuItemPadding);						hitem = '<div id="menuItemHilite' + countItems + 'Shim" style="position:absolute;top:1px;left:' + menu.menuItemPadding + 'px;width:' + operaWidth + 'px;text-align:' 							+ menu.menuItemHAlign + ';visibility:visible;">' + item + '</div>';						item = '<div id="menuItemText' + countItems + 'Shim" style="position:absolute;top:1px;left:' + menu.menuItemPadding + 'px;width:' + operaWidth + 'px;text-align:' 							+ menu.menuItemHAlign + ';visibility:visible;">' + item + '</div>';					} else {						hitem = '<div id="menuItemHilite' + countItems + 'Shim" style="position:absolute;top:1px;left:1px;right:-' + (left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:' 							+ menu.menuItemHAlign + ';visibility:visible;">' + item + '</div>';						item = '<div id="menuItemText' + countItems + 'Shim" style="position:absolute;top:1px;left:1px;right:-' + (left+menu.menuWidth-3*menu.menuItemPadding) + 'px;text-align:' 							+ menu.menuItemHAlign + ';visibility:visible;">' + item + '</div>';					}				} else hitem = null;			}			if(document.all && !window.mmIsOpera) item = '<div id="menuItemShim' + countItems + '" style="position:absolute;left:0px;top:0px;">' + item + '</div>';			var dText	= '<div id="menuItemText'+ countItems +'" style="' + textProps + 'color:'+ itemFontColor +';">'+ item +'&nbsp</div>\n'						+ '<div id="menuItemHilite'+ countItems +'" style="' + textProps + 'color:'+ menu.fontColorHilite +';visibility:hidden;">' 						+ (hitem||item) +'&nbsp</div>'; // add active support (change menu.fontColor to itemFontColor)			if (childMenu) content += ( dTag + dText + '<div id="childMenu'+ countItems +'" style="position:absolute;left:0px;top:3px;"><img src="'+ menu.childMenuIcon +'"></div>\n' + dClose);			else content += ( dTag + dText + dClose);			if (lrs) {				l.document.open("text/html");				l.document.writeln(content);				l.document.close();					content = '';				theStat += "-";				tsc++;				if (tsc > 50) {					tsc = 0;					theStat = "";				}				status = theStat;			}			countItems++;  		}		if (lrs) {			var focusItem = new Layer(100, body);			focusItem.visiblity="hidden";			focusItem.document.open("text/html");			focusItem.document.writeln("&nbsp;");			focusItem.document.close();			} else {		  content += '	  <div id="focusItem'+ countMenus +'" style="position:absolute;left:0px;top:0px;visibility:hide;" onclick="onMenuItemAction(null,this);">&nbsp;</div>\n';		  content += '   </div>\n  </div>\n</div>\n';		}		i=x;	}	if (document.layers) {				container.clip.width = window.innerWidth;		container.clip.height = window.innerHeight;		container.onmouseout = mouseoutMenu;		container.menuContainerBgColor = this.menuContainerBgColor;		for (var i=0; i<container.document.layers.length; i++) {			proto = container.menus[i];			var menu = container.document.layers[i];			container.menus[i].menuLayer = menu;			container.menus[i].menuLayer.menu = container.menus[i];			container.menus[i].menuLayer.menu.container = container;			var body = menu.document.layers[0].document.layers[0];			body.clip.width = proto.menuWidth || body.clip.width;			body.clip.height = proto.menuHeight || body.clip.height;			for (var n=0; n<body.document.layers.length-1; n++) {				var l = body.document.layers[n];				l.menu = container.menus[i];				l.menuHiliteBgColor = proto.menuHiliteBgColor;				l.document.bgColor = proto.menuItemBgColor;				l.saveColor = proto.menuItemBgColor;				l.onmouseover = proto.onMenuItemOver;				l.onclick = proto.onMenuItemAction;				l.mmaction = container.menus[i].actions[n];				l.focusItem = body.document.layers[body.document.layers.length-1];				l.clip.width = proto.menuWidth || body.clip.width;				l.clip.height = proto.menuItemHeight || l.clip.height;				if (n>0) {					if( l.menu.vertical ) l.top = body.document.layers[n-1].top + body.document.layers[n-1].clip.height + proto.menuItemBorder + proto.menuItemSpacing;					else l.left = body.document.layers[n-1].left + body.document.layers[n-1].clip.width + proto.menuItemBorder + proto.menuItemSpacing;				}				l.hilite = l.document.layers[1];				if (proto.bgImageUp) l.background.src = proto.bgImageUp;				l.document.layers[1].isHilite = true;				if (l.document.layers.length > 2) {					l.childMenu = container.menus[i].items[n].menuLayer;					l.document.layers[2].left = l.clip.width -13;					l.document.layers[2].top = (l.clip.height / 2) -4;					l.document.layers[2].clip.left += 3;					l.menu.childMenus[l.menu.childMenus.length] = l.childMenu;				}			}			if( proto.menuBgOpaque ) body.document.bgColor = proto.bgColor;			if( proto.vertical ) {				body.clip.width  = l.clip.width +proto.menuBorder;				body.clip.height = l.top + l.clip.height +proto.menuBorder;			} else {				body.clip.height  = l.clip.height +proto.menuBorder;				body.clip.width = l.left + l.clip.width  +proto.menuBorder;				if( body.clip.width > window.innerWidth ) body.clip.width = window.innerWidth;			}			var focusItem = body.document.layers[n];			focusItem.clip.width = body.clip.width;			focusItem.menu = l.menu;			focusItem.top = -30;            focusItem.captureEvents(Event.MOUSEDOWN);            focusItem.onmousedown = onMenuItemDown;			if( proto.menuBgOpaque ) menu.document.bgColor = proto.menuBorderBgColor;			var lite = menu.document.layers[0];			if( proto.menuBgOpaque ) lite.document.bgColor = proto.menuLiteBgColor;			lite.clip.width = body.clip.width +1;			lite.clip.height = body.clip.height +1;			menu.clip.width = body.clip.width + (proto.menuBorder * 3) ;			menu.clip.height = body.clip.height + (proto.menuBorder * 3);		}	} else {		if ((!document.all) && (container.hasChildNodes) && !window.mmIsOpera) {			container.innerHTML=content;		} else {			container.document.open("text/html");			container.document.writeln(content);			container.document.close();			}		if (!FIND("menuLayer0")) return;		var menuCount = 0;		for (var x=0; x<container.menus.length; x++) {			var menuLayer = FIND("menuLayer" + x);			container.menus[x].menuLayer = "menuLayer" + x;			menuLayer.menu = container.menus[x];			menuLayer.menu.container = "menuLayer" + x;			menuLayer.style.zindex = 1;		    var s = menuLayer.style;			s.pixeltop = -300;			s.pixelleft = -300;			s.top = '-300px';			s.left = '-300px';			var menu = container.menus[x];			menu.menuItemWidth = menu.menuWidth || menu.menuIEWidth || 140;			if( menu.menuBgOpaque ) menuLayer.style.backgroundColor = menu.menuBorderBgColor;			var top = 0;			var left = 0;			menu.menuItemLayers = new Array();			for (var i=0; i<container.menus[x].items.length; i++) {				var l = FIND("menuItem" + menuCount);				l.menu = container.menus[x];				l.menu.menuItemLayers[l.menu.menuItemLayers.length] = l;				if (l.addEventListener || window.mmIsOpera) {					l.style.width = menu.menuItemWidth + 'px';					l.style.height = menu.menuItemHeight + 'px';					l.style.pixelWidth = menu.menuItemWidth;					l.style.pixelHeight = menu.menuItemHeight;					l.style.top = top + 'px';					l.style.left = left + 'px';					if(l.addEventListener) {						l.addEventListener("mouseover", onMenuItemOver, false);						l.addEventListener("click", onMenuItemAction, false);						l.addEventListener("mouseout", mouseoutMenu, false);					}					if( menu.menuItemHAlign != 'left' ) {						l.hiliteShim = FIND("menuItemHilite" + menuCount + "Shim");						l.hiliteShim.style.visibility = "inherit";						l.textShim = FIND("menuItemText" + menuCount + "Shim");						l.hiliteShim.style.pixelWidth = menu.menuItemWidth - 2*menu.menuItemPadding - menu.menuItemIndent;						l.hiliteShim.style.width = l.hiliteShim.style.pixelWidth;						l.textShim.style.pixelWidth = menu.menuItemWidth - 2*menu.menuItemPadding - menu.menuItemIndent;						l.textShim.style.width = l.textShim.style.pixelWidth;						}				} else {					l.style.pixelWidth = menu.menuItemWidth;					l.style.pixelHeight = menu.menuItemHeight;					l.style.pixelTop = top;					l.style.pixelLeft = left;					if( menu.menuItemHAlign != 'left' ) {						var shim = FIND("menuItemShim" + menuCount);						shim[0].style.pixelWidth = menu.menuItemWidth - 2*menu.menuItemPadding - menu.menuItemIndent;						shim[1].style.pixelWidth = menu.menuItemWidth - 2*menu.menuItemPadding - menu.menuItemIndent;						shim[0].style.width = shim[0].style.pixelWidth + 'px';						shim[1].style.width = shim[1].style.pixelWidth + 'px';					}				}				if( menu.vertical ) top = top + menu.menuItemHeight+menu.menuItemBorder+menu.menuItemSpacing;				else left = left + menu.menuItemWidth+menu.menuItemBorder+menu.menuItemSpacing;				l.style.fontSize = menu.fontSize + 'px';				l.style.backgroundColor = menu.menuItemBgColor;				l.style.visibility = "inherit";				l.saveColor = menu.menuItemBgColor;				l.menuHiliteBgColor = menu.menuHiliteBgColor;				l.mmaction = container.menus[x].actions[i];				l.hilite = FIND("menuItemHilite" + menuCount);				l.focusItem = FIND("focusItem" + x);				l.focusItem.style.pixelTop = -30;				l.focusItem.style.top = '-30px';				var childItem = FIND("childMenu" + menuCount);				if (childItem) {					l.childMenu = container.menus[x].items[i].menuLayer;					childItem.style.pixelLeft = menu.menuItemWidth -11;					childItem.style.left = childItem.style.pixelLeft + 'px';					childItem.style.pixelTop = (menu.menuItemHeight /2) -4;					childItem.style.top = childItem.style.pixelTop + 'px';					l.menu.childMenus[l.menu.childMenus.length] = l.childMenu;				}				l.style.cursor = "hand";				menuCount++;			}			if( menu.vertical ) {				menu.menuHeight = top-1-menu.menuItemSpacing;				menu.menuWidth = menu.menuItemWidth;			} else {				menu.menuHeight = menu.menuItemHeight;				menu.menuWidth = left-1-menu.menuItemSpacing;			}			var lite = FIND("menuLite" + x);			var s = lite.style;			s.pixelHeight = menu.menuHeight +(menu.menuBorder * 2);			s.height = s.pixelHeight + 'px';			s.pixelWidth = menu.menuWidth + (menu.menuBorder * 2);			s.width = s.pixelWidth + 'px';			if( menu.menuBgOpaque ) s.backgroundColor = menu.menuLiteBgColor;			var body = FIND("menuFg" + x);			s = body.style;			s.pixelHeight = menu.menuHeight + menu.menuBorder;			s.height = s.pixelHeight + 'px';			s.pixelWidth = menu.menuWidth + menu.menuBorder;			s.width = s.pixelWidth + 'px';			if( menu.menuBgOpaque ) s.backgroundColor = menu.bgColor;			s = menuLayer.style;			s.pixelWidth  = menu.menuWidth + (menu.menuBorder * 4);			s.width = s.pixelWidth + 'px';			s.pixelHeight  = menu.menuHeight+(menu.menuBorder*4);			s.height = s.pixelHeight + 'px';		}	}	if (document.captureEvents) document.captureEvents(Event.MOUSEUP);	if (document.addEventListener) document.addEventListener("mouseup", onMenuItemOver, false);	if (document.layers && window.innerWidth) {		window.onresize = NS4resize;		window.NS4sIW = window.innerWidth;		window.NS4sIH = window.innerHeight;		setTimeout("NS4resize()",500);	}	document.onmouseup = mouseupMenu;	window.mmWroteMenu = true;	status = "";}function NS4resize() {	if (NS4sIW != window.innerWidth || NS4sIH != window.innerHeight) window.location.reload();}function onMenuItemOver(e, l) {	MM_clearTimeout();	l = l || this;	a = window.ActiveMenuItem;	if (document.layers) {		if (a) {			a.document.bgColor = a.saveColor;			if (a.hilite) a.hilite.visibility = "hidden";			if (a.menu.bgImageOver) a.background.src = a.menu.bgImageUp;			a.focusItem.top = -100;			a.clicked = false;		}		if (l.hilite) {			l.document.bgColor = l.menuHiliteBgColor;			l.zIndex = 1;			l.hilite.visibility = "inherit";			l.hilite.zIndex = 2;			l.document.layers[1].zIndex = 1;			l.focusItem.zIndex = this.zIndex +2;		}		if (l.menu.bgImageOver) l.background.src = l.menu.bgImageOver;		l.focusItem.top = this.top;		l.focusItem.left = this.left;		l.focusItem.clip.width = l.clip.width;		l.focusItem.clip.height = l.clip.height;		l.menu.hideChildMenu(l);	} else if (l.style && l.menu) {		if (a) {			a.style.backgroundColor = a.saveColor;			if (a.hilite) a.hilite.style.visibility = "hidden";			if (a.hiliteShim) a.hiliteShim.style.visibility = "inherit";			if (a.menu.bgImageUp) a.style.background = "url(" + a.menu.bgImageUp +")";;		} 		l.style.backgroundColor = l.menuHiliteBgColor;		l.zIndex = 1;		if (l.menu.bgImageOver) l.style.background = "url(" + l.menu.bgImageOver +")";		if (l.hilite) {			l.hilite.style.visibility = "inherit";			if( l.hiliteShim ) l.hiliteShim.style.visibility = "visible";		}		l.focusItem.style.pixelTop = l.style.pixelTop;		l.focusItem.style.top = l.focusItem.style.pixelTop + 'px';		l.focusItem.style.pixelLeft = l.style.pixelLeft;		l.focusItem.style.left = l.focusItem.style.pixelLeft + 'px';		l.focusItem.style.zIndex = l.zIndex +1;		l.menu.hideChildMenu(l);	} else return;	window.ActiveMenuItem = l;}function onMenuItemAction(e, l) {	l = window.ActiveMenuItem;	if (!l) return;	hideActiveMenus();	if (l.mmaction) eval("" + l.mmaction);	window.ActiveMenuItem = 0;}function MM_clearTimeout() {	if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);	mmHideMenuTimer = null;	mmDHFlag = false;}function MM_startTimeout() {	if( window.ActiveMenu ) {		mmStart = new Date();		mmDHFlag = true;		mmHideMenuTimer = setTimeout("mmDoHide()", window.ActiveMenu.menu.hideTimeout);	}}function mmDoHide() {	if (!mmDHFlag || !window.ActiveMenu) return;	var elapsed = new Date() - mmStart;	var timeout = window.ActiveMenu.menu.hideTimeout;	if (elapsed < timeout) {		mmHideMenuTimer = setTimeout("mmDoHide()", timeout+100-elapsed);		return;	}	mmDHFlag = false;	hideActiveMenus();	window.ActiveMenuItem = 0;}function show_menu(menu, x, y, child, imgname) {	if (!window.mmWroteMenu) return;	MM_clearTimeout();	if (menu) {		var obj = FIND(imgname) || document.images[imgname] || document.links[imgname] || document.anchors[imgname];		x = moveXbySlicePos (x, obj);		y = moveYbySlicePos (y, obj);	}	if (document.layers) {		if (menu) {			var l = menu.menuLayer || menu;			l.top = l.left = 1;			hideActiveMenus();			if (this.visibility) l = this;			window.ActiveMenu = l;		} else {			var l = child;		}		if (!l) return;		for (var i=0; i<l.layers.length; i++) { 			   			if (!l.layers[i].isHilite) l.layers[i].visibility = "inherit";			if (l.layers[i].document.layers.length > 0) show_menu(null, "relative", "relative", l.layers[i]);		}		if (l.parentLayer) {			if (x != "relative") l.parentLayer.left = x || window.pageX || 0;			if (l.parentLayer.left + l.clip.width > window.innerWidth) l.parentLayer.left -= (l.parentLayer.left + l.clip.width - window.innerWidth);			if (y != "relative") l.parentLayer.top = y || window.pageY || 0;			if (l.parentLayer.isContainer) {				l.menu.xOffset = window.pageXOffset;				l.menu.yOffset = window.pageYOffset;				l.parentLayer.clip.width = window.ActiveMenu.clip.width +2;				l.parentLayer.clip.height = window.ActiveMenu.clip.height +2;				if (l.parentLayer.menuContainerBgColor && l.menu.menuBgOpaque ) l.parentLayer.document.bgColor = l.parentLayer.menuContainerBgColor;			}		}		l.visibility = "inherit";		if (l.menu) l.menu.container.visibility = "inherit";	} else if (FIND("menuItem0")) {		var l = menu.menuLayer || menu;			hideActiveMenus();		if (typeof(l) == "string") l = FIND(l);		window.ActiveMenu = l;		var s = l.style;		s.visibility = "inherit";		if (x != "relative") {			s.pixelLeft = x || (window.pageX + document.body.scrollLeft) || 0;			s.left = s.pixelLeft + 'px';		}		if (y != "relative") {			s.pixelTop = y || (window.pageY + document.body.scrollTop) || 0;			s.top = s.pixelTop + 'px';		}		l.menu.xOffset = document.body.scrollLeft;		l.menu.yOffset = document.body.scrollTop;	}	if (menu) window.activeMenus[window.activeMenus.length] = l;	MM_clearTimeout();}function onMenuItemDown(e, l) {	var a = window.ActiveMenuItem;	if (document.layers && a) {		a.eX = e.pageX;		a.eY = e.pageY;		a.clicked = true;    }}function mouseupMenu(e) {	hideMenu(true, e);	hideActiveMenus();	return true;}function getExplorerVersion() {	var ieVers = parseFloat(navigator.appVersion);	if( navigator.appName != 'Microsoft Internet Explorer' ) return ieVers;	var tempVers = navigator.appVersion;	var i = tempVers.indexOf( 'MSIE ' );	if( i >= 0 ) {		tempVers = tempVers.substring( i+5 );		ieVers = parseFloat( tempVers ); 	}	return ieVers;}function mouseoutMenu() {	if ((navigator.appName == "Microsoft Internet Explorer") && (getExplorerVersion() < 4.5))		return true;	hideMenu(false, false);	return true;}function hideMenu(mouseup, e) {	var a = window.ActiveMenuItem;	if (a && document.layers) {		a.document.bgColor = a.saveColor;		a.focusItem.top = -30;		if (a.hilite) a.hilite.visibility = "hidden";		if (mouseup && a.mmaction && a.clicked && window.ActiveMenu) { 			if (a.eX <= e.pageX+15 && a.eX >= e.pageX-15 && a.eY <= e.pageY+10 && a.eY >= e.pageY-10) {				setTimeout('window.ActiveMenu.menu.onMenuItemAction();', 500);			}		}		a.clicked = false;		if (a.menu.bgImageOver) a.background.src = a.menu.bgImageUp;	} else if (window.ActiveMenu && FIND("menuItem0")) {		if (a) {			a.style.backgroundColor = a.saveColor;			if (a.hilite) a.hilite.style.visibility = "hidden";			if (a.hiliteShim) a.hiliteShim.style.visibility = "inherit";			if (a.menu.bgImageUp) a.style.background = "url(" + a.menu.bgImageUp +")";		}	}	if (!mouseup && window.ActiveMenu) {		if (window.ActiveMenu.menu) {			if (window.ActiveMenu.menu.hideOnMouseOut) MM_startTimeout();			return(true);		}	}	return(true);}function hideChildMenu(hcmLayer) {	MM_clearTimeout();	var l = hcmLayer;	for (var i=0; i < l.menu.childMenus.length; i++) {		var theLayer = l.menu.childMenus[i];		if (document.layers) theLayer.visibility = "hidden";		else {			theLayer = FIND(theLayer);			theLayer.style.visibility = "hidden";			if( theLayer.menu.menuItemHAlign != 'left' ) {				for(var j = 0; j < theLayer.menu.menuItemLayers.length; j++) {					var itemLayer = theLayer.menu.menuItemLayers[j];					if(itemLayer.textShim) itemLayer.textShim.style.visibility = "inherit";				}			}		}		theLayer.menu.hideChildMenu(theLayer);	}	if (l.childMenu) {		var childMenu = l.childMenu;		if (document.layers) {			l.menu.show_menu(null,null,null,childMenu.layers[0]);			childMenu.zIndex = l.parentLayer.zIndex +1;			childMenu.top = l.menu.menuLayer.top + l.menu.submenuYOffset;			if( l.menu.vertical ) {				if( l.menu.submenuRelativeToItem ) childMenu.top += l.top + l.parentLayer.top;				childMenu.left = l.parentLayer.left + l.parentLayer.clip.width - (2*l.menu.menuBorder) + l.menu.menuLayer.left + l.menu.submenuXOffset;			} else {				childMenu.top += l.top + l.parentLayer.top;					if( l.menu.submenuRelativeToItem ) childMenu.left = l.menu.menuLayer.left + l.left + l.clip.width + (2*l.menu.menuBorder) + l.menu.submenuXOffset;				else childMenu.left = l.parentLayer.left + l.parentLayer.clip.width - (2*l.menu.menuBorder) + l.menu.menuLayer.left + l.menu.submenuXOffset;			}			if( childMenu.left < l.menu.container.clip.left ) l.menu.container.clip.left = childMenu.left;			var w = childMenu.clip.width+childMenu.left-l.menu.container.clip.left;			if (w > l.menu.container.clip.width)  l.menu.container.clip.width = w;			var h = childMenu.clip.height+childMenu.top-l.menu.container.clip.top;			if (h > l.menu.container.clip.height) l.menu.container.clip.height = h;			l.document.layers[1].zIndex = 0;			childMenu.visibility = "inherit";		} else if (FIND("menuItem0")) {			childMenu = FIND(l.childMenu);			var menuLayer = FIND(l.menu.menuLayer);			var s = childMenu.style;			s.zIndex = menuLayer.style.zIndex+1;			if (document.all || window.mmIsOpera) {				s.pixelTop = menuLayer.style.pixelTop + l.menu.submenuYOffset;				if( l.menu.vertical ) {					if( l.menu.submenuRelativeToItem ) s.pixelTop += l.style.pixelTop;					s.pixelLeft = l.style.pixelWidth + menuLayer.style.pixelLeft + l.menu.submenuXOffset;					s.left = s.pixelLeft + 'px';				} else {					s.pixelTop += l.style.pixelTop;					if( l.menu.submenuRelativeToItem ) s.pixelLeft = menuLayer.style.pixelLeft + l.style.pixelLeft + l.style.pixelWidth + (2*l.menu.menuBorder) + l.menu.submenuXOffset;					else s.pixelLeft = (menuLayer.style.pixelWidth-4*l.menu.menuBorder) + menuLayer.style.pixelLeft + l.menu.submenuXOffset;					s.left = s.pixelLeft + 'px';				}			} else {				var top = parseInt(menuLayer.style.top) + l.menu.submenuYOffset;				var left = 0;				if( l.menu.vertical ) {					if( l.menu.submenuRelativeToItem ) top += parseInt(l.style.top);					left = (parseInt(menuLayer.style.width)-4*l.menu.menuBorder) + parseInt(menuLayer.style.left) + l.menu.submenuXOffset;				} else {					top += parseInt(l.style.top);					if( l.menu.submenuRelativeToItem ) left = parseInt(menuLayer.style.left) + parseInt(l.style.left) + parseInt(l.style.width) + (2*l.menu.menuBorder) + l.menu.submenuXOffset;					else left = (parseInt(menuLayer.style.width)-4*l.menu.menuBorder) + parseInt(menuLayer.style.left) + l.menu.submenuXOffset;				}				s.top = top + 'px';				s.left = left + 'px';			}			childMenu.style.visibility = "inherit";		} else return;		window.activeMenus[window.activeMenus.length] = childMenu;	}}function hideActiveMenus() {	if (!window.activeMenus) return;	for (var i=0; i < window.activeMenus.length; i++) {		if (!activeMenus[i]) continue;		if (activeMenus[i].visibility && activeMenus[i].menu && !window.mmIsOpera) {			activeMenus[i].visibility = "hidden";			activeMenus[i].menu.container.visibility = "hidden";			activeMenus[i].menu.container.clip.left = 0;		} else if (activeMenus[i].style) {			var s = activeMenus[i].style;			s.visibility = "hidden";			s.left = '-200px';			s.top = '-200px';		}	}	if (window.ActiveMenuItem) hideMenu(false, false);	window.activeMenus.length = 0;}function moveXbySlicePos (x, img) { 	if (!document.layers) {		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;		var par = img;		var lastOffset = 0;		while(par){			if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);			if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);			if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;			par = macIE45 ? par.parentElement : par.offsetParent;		}	} else if (img.x) x += img.x;	return x;}function moveYbySlicePos (y, img) {	if(!document.layers) {		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;		var par = img;		var lastOffset = 0;		while(par){			if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);			if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);			if( par.offsetTop != 0 ) lastOffset = par.offsetTop;			par = macIE45 ? par.parentElement : par.offsetParent;		}			} else if (img.y >= 0) y += img.y;	return y;}