window.onerror = new Function("return true");

lastMenu = null;

rightX = 0;
function Menu() {
	this.m_A = m_A;
	this.m_W = m_W;

	lastMenu = null;

	rightY = 0;
	leftY = 0;
	leftX = 0;

	HTMLstr = "";
}

// add menu item
function m_A(id, text, loc, scr, tar) {
	lrs = 0;
	if (document.all) {lrs=1;ns=0;ie=1;}
	if (document.layers) {lrs=1;ns=1;ie=0;}

	if (lrs) {
		var MENUitem = "";
		Lookup = "<!-- "+id+" -->";
		if (HTMLstr.indexOf(Lookup) == -1) frst = 1; else frst = 0;
		if (frst) {
			if (ie) MENUitem += "<span id=\"l_sm_"+id+"\" style=\"position:absolute; z-index:1; visibility: hidden;\">"; else if (ns) MENUitem += "<layer id=\"l_sm_"+id+"\" visibility=hide>";
			MENUitem += "<table border=0 cellspacing=0 cellpadding=0>";
			MENUitem += "<tr><td bgcolor=ffffff colspan=0></td><td rowspan=0 width=0></td></tr>";
			MENUitem += "<tr><td bgcolor=ffffff></td><td><table cellspacing=0 cellpadding=0 border=0 width=15>";
			MENUitem += "<!-- "+id+" -->";
			MENUitem += "</table></td><td bgcolor=ffffff></td></tr>";
			MENUitem += "<tr><td bgcolor=ffffff colspan=0></td></tr>";
			MENUitem += "<tr><td colspan=ffffff height=0></td></tr>";
			MENUitem += "</table>";
			if (ie) MENUitem += "</span>"; else if (ns) MENUitem += "</layer>";
			HTMLstr += MENUitem;
		}

		Lookup = "<!-- "+id+" -->";
		MENUitem = "";
		if (!frst) MENUitem += "<tr><td bgcolor=ffffff nowrap ></td></tr>";
		MENUitem += "<tr><td onMouseOver=\"this.style.background='#67CC04'\" onMouseOut=\"this.style.background='#336699'\" class=rippmenu bgcolor=336699 nowrap height=15><ilayer><layer width=\"100%\" onMouseOver=\"this.bgColor='#ADAEAD'\" onMouseOut=\"this.bgColor='#F7F7F7'\" height=15>&nbsp;";
		MENUitem += "<a href=\"" + loc + "\"";
		if (scr != null) {
			MENUitem += " target=\"";
			if (tar != null) MENUitem += tar; else MENUitem += "new_window";
			MENUitem += "\" onClick=\"" + scr + ";\"";
		}
		MENUitem += ">" + text + "</a>&nbsp;<br></layer></ilayer></td></tr>";
		MENUitem += Lookup;
		HTMLstr = HTMLstr.replace(Lookup, MENUitem);
	}
}

// write menu
function m_W() {
	document.writeln(HTMLstr);
}

function MM_findObj(n, d) { //v4.0
	var p,i,x; 
	if (!d) d=document;
	if ((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if (!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for (i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if (!x && document.getElementById) x=document.getElementById(n); 
	return x;
}

function MM_preloadImages() { //v3.0
	var d = document;
	if (d.images) {
		if (!d.MM_p) d.MM_p=new Array();
    	var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
		for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0) {
			d.MM_p[j] = new Image;
			d.MM_p[j++].src = a[i];
		}
	}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;
	for(i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments;
	document.MM_sr=new Array;
	for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null) {
		document.MM_sr[j++]=x;
		if (!x.oSrc) x.oSrc=x.src;
		x.src=a[i+2];
	}
}

// show submenu
function m_S(id) {
	var menu;
	var submenu;

	lrs = 0;
	if (document.all) {lrs=1;ns=0;ie=1;fShow="visible";fHide="hidden";}
	if (document.layers) {lrs=1;ns=1;ie=0;fShow="show";fHide="hide";}

	if (lrs) {
		if (ie) {
			if (MM_findObj("l_sm_"+id) != null) {
				menu = eval("l_m_"+id);
				submenu = eval("l_sm_"+id+".style");
				submenu.left = calculateSumOffset(menu, 'offsetLeft');
				submenu.top  = calculateSumOffset(menu, 'offsetTop') + 13;
				submenu.visibility = fShow;
				if (lastMenu != null && lastMenu != submenu) hideAll();
				leftX  = document.all["l_sm_"+id].style.posLeft;
				rightX = leftX + document.all["l_sm_"+id].offsetWidth;
				leftY  = document.all["l_sm_"+id].style.posTop;
				rightY = leftY + document.all["l_sm_"+id].offsetHeight;
				leftY = leftY - 180;
				lastMenu = submenu;
			}
		} else if (ns) {
			submenu = document.layers["l_sm_"+id];
			if (submenu != null) {
				if (lastMenu != null && lastMenu != submenu) hideAll();
				submenu.left = document.layers["l_m_"+id].pageX;
				submenu.top  = document.layers["l_m_"+id].pageY + 16;
				submenu.visibility = fShow;
				leftX  = document.layers["l_sm_"+id].left;
				rightX = leftX + document.layers["l_sm_"+id].clip.width;
				leftY  = document.layers["l_sm_"+id].top;
				rightY = leftY + document.layers["l_sm_"+id].clip.height;
				leftY = leftY - 20;
				lastMenu = submenu;
			}
		}
	}
}

function hideAll() {
	if (document.all) fHide="hidden";
	if (document.layers) fHide="hide";
	if (lastMenu != null) {lastMenu.visibility = fHide; lastMenu.left = 0;}
}

function calculateSumOffset(idItem, offsetName) {
	var totalOffset = 0;
	var item = eval('idItem');
	totalOffset += eval('item.'+offsetName);
	item = eval('item.offsetParent');
	while (item != null) {
		totalOffset += eval('item.'+offsetName);
		item = eval('item.offsetParent');
	}
	return totalOffset;
}

function updateIt(e) {
	lrs = 0;
	if (document.all) {lrs=1;ns=0;ie=1;}
	if (document.layers) {lrs=1;ns=1;ie=0;}

	if (lrs) {
		if (ie) {
			var x = window.event.clientX;
			var y = window.event.clientY;

			if (x > rightX || x < leftX) hideAll();
			else if (y > rightY || y < leftY) hideAll();
		} else if (ns) {
			var x = e.pageX;
			var y = e.pageY;

			if (x > rightX || x < leftX) hideAll();
			else if (y > rightY || y < leftY) hideAll();
		}
	}
}

if (document.all) {
	document.body.onclick=hideAll;
	document.body.onscroll=hideAll;
	document.body.onmousemove=updateIt;
}
if (document.layers) {
	document.onmousedown=hideAll;
	window.captureEvents(Event.MOUSEMOVE);
	window.onmousemove=updateIt;
}

function menu_in(id) {
	MM_swapImage('m_'+id,'','/images/sub.gif',1);
	m_S(id);
}
function menu_out(name) {
	MM_swapImgRestore();
}

m_loaded=1;
