MenuConfig = {
	/************************************
	Path to the file containing the menu
	data information structure
	************************************/
	DataFile: "includes/menu/data.js",
	ClassFile: "includes/menu/classes.js",
	/************************************
	Timeout to hide the menu items on 
	roll-off in milliseconds
	************************************/
	HideDelay: 125,
	/************************************
	Css Class Definitions
	************************************/
	MenuCss: "puMenu",
	MenuElementCss: "puMenuLink",
	MinimumWidth: 150,
	LinkPaddingLeft: 3, //padding, if any, in the style (for calculating width, IE bug related)
	LinkPaddingRight: 3, //padding, if any, in the style (for calculating width, IE bug related)
	/************************************
	Menu ID Prefix to prevent conflicts
	************************************/
	IdPrefix: "tcmenu",
	ContainerId: false
};


var DEBUG = false;
var DEBUGOUT = -1;
function debug(msg, nobreak) {
	if (!DEBUG) return;
	if (DEBUGOUT == -1) {
		DEBUGOUT = document.getElementById("debug");
	}
	if (DEBUGOUT) {
		DEBUGOUT.value += msg + (nobreak ? "" : "\n");
	} else if (DEBUG) {
		DEBUG = confirm(msg);
	} else {
	}
}

document.writeln("<script type=\"text/javascript\" src=\"" + MenuConfig['ClassFile'] + "\"></script>");
document.writeln("<script type=\"text/javascript\" src=\"" + MenuConfig['DataFile'] + "\"></script>");

menu = [];

function loadMenu() {
	menu = [];
	for (id in MenuData) {
		var obj = document.getElementById(id);
		if (obj) {
			menu[id] = new Menu(MenuData[id], obj);
			obj.onmouseover = function() {
				menu[this.id].Show();
			}
			obj.onmouseout = function() {
				menu[this.id].DelayedHide();
			}
			menu[id].DetectPosition();
		}
	}
}

function findElementX(el) {
	var x = 0;
	while (el != null) {
		x += el.offsetLeft;
		el = el.offsetParent;
	}
	return x;
}
function findElementY(el) {
	var y = 0;
	while (el != null) {
		y += el.offsetTop;
		el = el.offsetParent;
	}
	return y;
}

window.onload = function() {
	for (id in MenuData) {
		var obj = document.getElementById(id);
		if (obj) {
			menu[id] = new Menu(MenuData[id], obj);
			obj.onmouseover = function() {
				menu[this.id].Show();
			}
			obj.onmouseout = function() {
				menu[this.id].DelayedHide();
			}
			menu[id].DetectPosition();
		}
	}
}
window.onresize = function() {
	for (id in menu) {
		menu[id].DetectPosition();
	}
}