var ma = new Array;
var mx = new Array;
var my = new Array;
var mc = new Array;
var mpos = new Array;
var mal = 0;
var main = 0;
var menuw = 200;
var psrc = 0;
var pname = "";
var al = "";
var gd = 0;
var gx, gy;
var d = document;
var NS7 = !d.all && d.getElementById;
var NS4 = !d.getElementById;
var IE5 = !NS4 &&
	!NS7 &&
	(navigator.userAgent.indexOf("MSIE 5.0") != -1 ||
	navigator.userAgent.indexOf("MSIE 5.2") != -1);
var IE5p5 = !NS4 && !NS7 && navigator.userAgent.indexOf("MSIE 5.5") != -1;
var NS6 = NS7 && navigator.userAgent.indexOf("Netscape6") != -1;
var SAF = navigator.userAgent.indexOf("Safari") != -1;
p = navigator.userAgent.indexOf("Opera");
if (p > -1) {
	p = navigator.userAgent.charAt(p + 6);
	if (p > 6) {
		NS7 = 1;
	} else {
		NS4 = 1;
	}
}
var ifr = !NS7 && !NS4 && !IE5 && !IE5p5;
var quirk = d.compatMode && d.compatMode == "BackCompat" || IE5 || IE5p5;

function startMainMenu(file, h, w, dir, space, align) {
	if (w > 0) {
		menuw = w;
	}
	main = dir;
	if (main == 1 || main == 2) {
		d.write("<table border=\"0\" cellspacing=\"" + space + "\" cellpadding=\"0\">");
	}
	if (file != "") {
		al = "";
		if (align == 1) {
			al = " align=\"right\"";
		}
		if (align == 2) {
			al = " align=\"center\"";
		}
		if (main == 1 || main == 2) {
			d.write("<tr style='line-height:1px'><td" + al + ">");
		}
		d.write("<img src=\"/images/" + loc + file + "\" border=\"0\"");
		if (h > 0) {
			d.write(" height=\"" + h + "\"");
		}
		if (w > 0) {
			d.write(" width=\"" + w + "\"");
		}
		d.write(" />");
		if (main == 1 || main == 2) {
			d.write("</td>");
		}
		if (main == 1) {
			d.write("</tr>");
		}
		if (main == 3) {
			d.write("<br />");
		}
	}
}


function endMainMenu(file, h, w) {
	if (file != "") {
		if (main == 1) {
			d.write("<tr>");
		}
		if (main == 1 || main == 2) {
			d.write("<td" + al + ">");
		}
		d.write("<img src=\"/images/" + loc + file + "\" border=\"0\"");
		if (h > 0) {
			d.write(" height=\"" + h + "\"");
		}
		if (w > 0) {
			d.write(" width=\"" + w + "\"");
		}
		d.write(" />");
		if (main == 1 || main == 2) {
			d.write("</td></tr>");
		}
	}
	if (main == 1 || main == 2) {
		d.write("</table>");
	}
	main = 0;
}


function mainMenuItem(name, ext, h, w, url, tar, alt, dir, state, s) {
	if (NS4 && main == 0) {
		return;
	}
	var isgraphic = ext.charAt(0) == ".";
	if (main == 1) {
		d.write("<tr>");
	}
	if (main == 1 || main == 2) {
		d.write("<td" + al + ">");
	}
	d.write("<a ");
	if (url != "" || !isgraphic) {
		if (typeof clx != "undefined") {
			url = "?" + clx;
			tar = "";
			alt = "Click to edit";
		}
		d.write("href=\"" + url + "\" ");
	}
	if (tar != "") {
		d.write("target=\"" + tar + "\" ");
	}
	d.write("onmouseout=\"");
	if (dir > 0) {
		d.write("tidyMenu(event);");
	}
	d.write("\" onmouseover=\"");
	if (dir > 0) {
		d.write("openMenu(event, '" + name + "'," + dir + "," + bc + "," + fc + ");");
	}
	if (state > 1 && isgraphic) {
		d[name + "_over"] = new Image;
		d[name + "_over"].src = "/images/" + loc + name + "_over" + ext;
		d.write("setGraphic(event, '/images/" + loc + name + "_over" + ext + "');");
	}
	d.write("return false;\"");
	if (!isgraphic) {
		d.write(" class=\"" + s + "\" style=\"width:" + (w > 0 ? w : menuw) + "px\"");
	}
	d.write(">");
	if (isgraphic) {
		d.write("<img src=\"/images/" + loc + name + ext + "\" border=\"0\"");
		if (h > 0) {
			d.write(" height=\"" + h + "\"");
		}
		if (w > 0) {
			d.write(" width=\"" + w + "\"");
		}
		if (alt != "") {
			d.write(" alt=\"" + alt + "\"");
		}
		d.write(" />");
	} else {
		d.write("&nbsp;" + ext + "&nbsp;");
	}
	d.write("</a>");
	if (main == 1 || main == 2) {
		d.write("</td>");
	}
	if (main == 1) {
		d.write("</tr>");
	}
	if (main == 3) {
		d.write("<br />");
	}
}


function startSubmenu(name, style, sw) {
	var depth = name.split("_").length + 1000;
	if (NS4) {
		return;
	}
	if (sw > 0) {
		menuw = sw;
	}
	d.write("<div id=\"" + name + "\" class=\"" + style + "\" style=\"z-index:" + depth + ";width:" + (menuw + (NS7 ? bd * 2 : 0)) + "px\">");
}


function endSubmenu(name) {
	if (NS4) {
		return;
	}
	d.write("</div>");
	if (!NS7) {
		d.getElementById(name).onmouseout = tidyMenu;
	}
}


function submenuItem(text, url, tar, s) {
	if (NS4) {
		return;
	}
	if (text.charAt(0) == "<") {
		d.write(text);
	} else if (text == "---") {
		d.write("<div class=\"" + s + "\" style=\"width:" + menuw + "px\"><center><img src=\"/images/" + loc + "---.gif\" height=\"8\" width=\"" + (menuw - 6 - 2 * bd) + "\" border=0/></center></div>");
	} else {
		d.write("<a ");
		if (url != "") {
			d.write("href=\"" + url + "\" ");
		}
		if (tar != "") {
			d.write("target=\"" + tar + "\" ");
		}
		d.write("class=\"" + s + "\" style=\"width:" + menuw + "px\">&nbsp;" + text + "&nbsp;</a>");
	}
}


function setGraphic(event, name) {
	if (NS4) {
		return;
	}
	psrc = NS7 ? event.target : event.srcElement;
	pname = psrc.src;
	if (NS7) {
		event.target.src = name;
	} else {
		event.srcElement.src = name;
	}
}


function openMenu(event, id, pos, bc, fc) {
	if (NS4) {
		return;
	}
	var el, x, y, dx, dy;
	var bwidth;
	if (gd == 0 || mal == 0) {
		var p = d.getElementById(id);
		gx = 0;
		gy = 0;
		while (!SAF && p && p.offsetParent) {
			p = p.offsetParent;
			gx += p.offsetLeft;
			gy += p.offsetTop;
		}
		if (p) {
			gd = 1;
		}
	}
	if (mal > 0) {
		el = d.getElementById(ma[mal - 1]);
		if (mx[mal - 1] != el.offsetLeft || my[mal - 1] != el.offsetTop) {
			el.style.left = mx[mal - 1] + "px";
			el.style.top = my[mal - 1] + "px";
		}
		tidyMenu(event);
	}
	if (mal > 1) {
		pos = mpos[mal - 1];
	}
	if (NS7) {
		bwidth = window.innerWidth;
		var p = event.target;
		if (p.nodeName != "A" &&
			p.nodeName != "IMG" && p.parentNode.nodeName == "A") {
			p = p.parentNode;
		}
		dx = p.offsetWidth;
		dy = p.offsetHeight;
		if (mal == 0) {
			x = p.x;
			y = p.y;
			if (typeof p.x == "undefined" || !NS6 && !SAF) {
				x = p.offsetLeft;
				y = p.offsetTop;
				while (!NS6 && p.parentNode.nodeName != "BODY") {
					p = p.parentNode;
					if (p.nodeName == "TD" || p.nodeName == "TABLE") {
						x += p.offsetLeft;
						y += p.offsetTop;
					}
				}
			}
		} else {
			el = d.getElementById(ma[mal - 1]);
			x = el.offsetLeft;
			y = el.offsetTop + p.offsetTop;
		}
		if (pos != 3) {
			x -= bd;
		}
		if (pos == 3 && mal > 0) {
			x += bd;
		}
	} else {
		bwidth = document.body.clientWidth;
		x = event.clientX - event.offsetX - d.body.clientLeft - gx;
		y = event.clientY - event.offsetY - d.body.clientTop - gy;
		dx = event.srcElement.offsetWidth;
		dy = event.srcElement.offsetHeight;
		if (!quirk) {
			x += d.documentElement.scrollLeft - 2;
			y += d.documentElement.scrollTop - 2;
		} else {
			x += d.body.scrollLeft;
			y += d.body.scrollTop;
		}
		if (mal > 0) {
			y -= bd;
			if (pos != 3) {
				x -= 2 * bd;
			}
		}
	}
	el = d.getElementById(id);
	if (el && el.style.visibility != "visible") {
		if (pos == 1) {
			x += dx;
			el.style.left = x - el.offsetWidth + "px";
			el.style.top = y + "px";
			nspeed = el.offsetWidth / frames;
			if (x + gx + el.offsetWidth > bwidth) {
				x -= dx;
				pos = 3;
			}
		} else if (pos == 2) {
			y += dy;
			el.style.left = x + "px";
			el.style.top = y - el.offsetHeight + "px";
			nspeed = el.offsetHeight / frames;
		}
		if (pos == 3) {
			x -= el.offsetWidth;
			el.style.left = x + el.offsetWidth + "px";
			el.style.top = y + "px";
			nspeed = el.offsetWidth / frames;
			if (x + gx < 0) {
				x += el.offsetWidth;
				pos = 1;
				x += dx;
				el.style.left = x - el.offsetWidth + "px";
				el.style.top = y + "px";
				nspeed = el.offsetWidth / frames;
			}
		}
		mx[mal] = x;
		my[mal] = y;
		if (NS7 || IE5 || frames == 0) {
			el.style.left = x + "px";
			el.style.top = y + "px";
		}
		if (!IE5) {
			clipMenu(mal, el);
		}
		el.style.visibility = "visible";
		ma[mal] = id;
		mpos[mal] = pos;
		if (NS7) {
			var p = event.target;
			if (p.nodeName != "A" && p.parentNode.nodeName == "A") {
				p = p.parentNode;
			}
			mc[mal] = p.style;
			if (!NS6 && mal > 0) {
				mc[mal].backgroundColor = "#" + bc.toString(16);
				mc[mal].color = "#" + fc.toString(16);
			}
			el.onmouseout = tidyMenu;
		} else {
			mc[mal] = event.srcElement.style;
			if (mal > 0) {
				mc[mal].backgroundColor = bc;
				mc[mal].color = fc;
			}
		}
		mal++;
	}
	if (ifr &&
		el && frames == 0 && (typeof tr == "undefined" || tr == "")) {
		var p = d.getElementById(id + "i");
		if (p) {
			p.style.top = y + "px";
			p.style.left = x + "px";
			p.style.width = el.style.width;
			p.style.height = el.offsetHeight + "px";
			p.style.display = "block";
		} else {
			ifr = "<iframe id=\"" + id + "i\" style=\"position:absolute;left:" + x + "px;width:" + el.style.width + ";height:" + el.offsetHeight + "px;top:" + y + "px;z-index:998;display:block;\" scrolling=\"no\" frameborder=\"0\"></iframe>";
			el.insertAdjacentHTML("beforeBegin", ifr);
		}
	}
}


function overMenu(x, y) {
	x -= gx;
	y -= gy;
	for (i = mal - 1; i >= 0; i--) {
		var el = d.getElementById(ma[i]);
		if (el.offsetLeft + el.offsetWidth > x &&
			el.offsetLeft <= x &&
			el.offsetTop + el.offsetHeight > y && el.offsetTop <= y) {
			return ma[i];
		}
	}
	return "";
}


function tidyMenu(e) {
	if (NS4) {
		return;
	}
	if (NS7) {
		t = overMenu(e.pageX, e.pageY);
		if (t != "" &&
			(e.target.firstChild == e.relatedTarget ||
			e.target == e.relatedTarget.firstChild)) {
			return;
		}
	} else {
		var x = event.clientX - d.body.clientLeft;
		var y = event.clientY - d.body.clientTop;
		if (!quirk) {
			x += d.documentElement.scrollLeft - 2;
			y += d.documentElement.scrollTop - 2;
		} else {
			x += d.body.scrollLeft;
			y += d.body.scrollTop;
		}
		t = overMenu(x, y);
	}
	om = 0;
	for (i = 0; i < mal; i++) {
		var mail = ma[i].length;
		if (mail > t.length || t.substring(0, mail) != ma[i]) {
			var el = d.getElementById(ma[i]);
			el.style.visibility = "hidden";
			mc[i].backgroundColor = "";
			mc[i].color = "";
			if (ifr) {
				var p = d.getElementById(ma[i] + "i");
				if (p) {
					p.style.display = "none";
				}
			}
		} else {
			ma[om] = ma[i];
			mx[om] = mx[i];
			my[om] = my[i];
			om++;
		}
	}
	mal = om;
	if (mal == 0 && psrc) {
		psrc.src = pname;
	}
}


function animate() {
	for (i = 0; i < mal; i++) {
		var el = d.getElementById(ma[i]);
		if (el.style.visibility == "visible") {
			if (el.offsetLeft < mx[i]) {
				el.style.left = Math.min(el.offsetLeft + nspeed, mx[i]) + "px";
			}
			if (el.offsetLeft > mx[i]) {
				el.style.left = Math.max(el.offsetLeft - nspeed, mx[i]) + "px";
			}
			if (el.offsetTop < my[i]) {
				el.style.top = Math.min(el.offsetTop + nspeed, my[i]) + "px";
			}
			clipMenu(i, el);
		}
	}
	if (mal != 0 || frames != 0) {
		setTimeout("animate()", 50);
	}
}


function clipMenu(i, el) {
	if (el.offsetLeft > mx[i]) {
		el.style.clip = "rect(" + (my[i] - el.offsetTop) + "px " + (el.offsetWidth + (mx[i] - el.offsetLeft)) + "px " + el.offsetHeight + "px " + 0 + "px)";
	} else {
		el.style.clip = "rect(" + (my[i] - el.offsetTop) + "px " + el.offsetWidth + "px " + el.offsetHeight + "px " + (mx[i] - el.offsetLeft) + "px)";
	}
}