var currentMaxSize;
var currentSize;
var currentItem;
var intervalId;
var menu = new Array();

function createMenuContainer() {
	var menuLength = menu.length;
	menu[menuLength] = new Array();
	menu[menuLength].addMenuItem = addMenuItem;
	menu[menuLength].id = "menu" + menuLength;
	return menu[menuLength];
}

function addMenuItem(text, image, commentary, target, follower) {
	var menuLength = this.length;
	this[menuLength] = new Array();
	this[menuLength].text = text;
	this[menuLength].image = image;
	this[menuLength].commentary = commentary;
	this[menuLength].target = target;
	this[menuLength].follower = follower;
	this[menuLength].id = this.id + "." + menuLength;
	if (follower != "") {
		follower.parent = this;
	}
}

function viewDefault() {
	for (var i=0; i<menu[0].length; i++) {
		var menuId = "menu0." + i;
		getStyle(menu[0][i].id).top = topPosition + i*yLevel0;
		getStyle(menu[0][i].id).visibility = VISIBLE;
	}
}

function moveMenu(container, item, startPos) {
	for (var i=item; i<container.length; i++) {
		getStyle(container[i].id).top = startPos;
		startPos += eval("yLevel"+container.level);
	}
	return startPos;
}

function expandMenu(container, item) {
	startPos = parseInt(getStyle(container[item].id).top) + eval("yLevel"+(container.level));
	nextMenu = container[item].follower;
	for (var i=0; i<nextMenu.length; i++) {
		getStyle(nextMenu[i].id).top = startPos;
		getStyle(nextMenu[i].id).left = eval("xLevel"+(container.level+1));
		getStyle(nextMenu[i].id).visibility = VISIBLE;
		startPos += eval("yLevel"+(container.level+1));
	}
	return startPos;
}

function collapseMenu(container, item) {
	nextMenu = container[item].follower;
	for (var i=0; i<nextMenu.length; i++) {
		getStyle(nextMenu[i].id).visibility = HIDDEN;
	}
}

function writeMenu() {
	if (!isDOM && !isIE4 && !isNS4) return;

	var pos = 0;
	var level = 0;
	if (arguments.length == 2) {
		pos = arguments[0];
		level = arguments[1];
	}
	menu[pos].level = level;
	eval("writeMenuLevel"+level+"("+pos+");");
}