var sStyleObj = (document.layers) ? "" : "style.";

browser_name = navigator.appName;
browser_version = parseFloat(navigator.appVersion); 

if (browser_name == "Netscape" && browser_version >= 3.0) { roll = 'true'; }
else if (browser_name == "Microsoft Internet Explorer" && browser_version >= 3.0) { roll = 'true'; }
else { roll = 'false'; }

function mElement(elementName) {
	if (document.layers) {
	//we want 1 object (not nested)
		//simple layer reference
		if (mElement.arguments.length == 1) {
			var cEl = eval("document.layers['" + elementName + "']");
		//refer document in layer: document.layers[layername].document
		} else if (mElement.arguments[1] == 'DoC') {// use 'strange' spelling to minimise conflicts with existing objects
			var cEl = eval("document.layers['" + elementName + "'].document");
		//refer an image: document.images[imageName]
		} else if (mElement.arguments[1] == 'iMageZ') {
			var cEl = eval("document.images['" + elementName + "']");
		//nested objects
		} else if (mElement.arguments.length>1) {
			var cEl = "document.layers['" + mElement.arguments[1] + "']";//start the string
			for (var i=2;i<mElement.arguments.length;i++) {//leave the first argument, because that's the one you're after, the second because you used that one to start the string
				if ( (mElement.arguments[i] != 'DoC') && (mElement.arguments[i] != 'iMageZ') && (mElement.arguments[i] != 'ForMz') ) {
					//alert(mElement.arguments[i]);
					cEl = cEl + ".document.layers['" + mElement.arguments[i] + "']";//get the next layer
				}
			}
			if (mElement.arguments[mElement.arguments.length-1] == 'iMageZ')  {
				cEl = cEl + ".document.images['" + elementName + "']";//in case you need the images in the layer rather than the layer or doc
			} else if (mElement.arguments[mElement.arguments.length-1] == 'ForMz')  {
				cEl = cEl + ".document.forms['" + elementName + "']";//in case you need the form in the layer rather than the layer or doc
			} else {
				cEl = cEl + ".document.layers['" + mElement.arguments[0] + "']";//add first element (the one you're after)
				if (mElement.arguments[mElement.arguments.length-1] == 'DoC') {
				cEl = cEl + ".document";//in case you need the document in the layer rather than the layer itself
				}
			} 
			cEl = eval(cEl);//wrap up and make string into an object
		} else {
			var cEl = eval("document.layers['" + mElement.arguments[1] + "'].document." + elementName);
		}
	//old IE browsers:
	} else if (document.all) {
		var cEl = eval('document.all.' + elementName);
	//W3C standard:
	} else {
		var cEl = document.getElementById(elementName);
	}
	return cEl;
}

function show(oRef) {
	eval("oRef." + sStyleObj + "visibility='visible'");
}

function hide(oRef) {
	eval("oRef." + sStyleObj + "visibility='hidden'");
}

function showMenu(sMenu) {
	show(mElement(sMenu));
	if (browser_name == "Netscape") {show(mElement(sMenu +'T'));}
}

function hideMenu(sMenu) {
	hide(mElement(sMenu))
	if (browser_name == "Netscape") {hide(mElement(sMenu +'T'));}
}

function openWindow(o_url, o_name, o_width, o_height) {
	var o_left = (screen.availWidth/2)-(o_width/2);
	var o_top = (screen.availHeight/2)-(o_height/2);
	window.open (o_url, o_name, 'toolbar=0,location=0,menubar=0,directories=0,scrollbars=0,status=0,resizable=0,Width='+ o_width +',Height='+ o_height +',left='+ o_left +',top='+ o_top +',screenX='+ o_left +',screenY='+ o_top +'');
}

