var SPL = "_a_";

function action(uniqueName, id, url, target, newWindow, frameMenu, queryString, aspPage) 
{
	var menuItem, pos1, pos2, i, found, urlCopy;

	if (url != "") {
		urlCopy = url;
		
		if (urlCopy == "javascript") {
			url = setParameter(queryString, "menuItem", id, uniqueName);
			url = setParameter(url, "curMenu", uniqueName, uniqueName);
			url = aspPage + "?" + url;
		}
		else {
			url = setParameter(url, "menuItem", id, uniqueName);
		//	url = setParameter(url, "curMenu", uniqueName, uniqueName);	
		}
		
		if (newWindow == "true") {	
			window.open(urlCopy, "_blank", "");
			if (frameMenu == "false") {
				url = setParameter(document.location.href, "menuItem", id, uniqueName);
				url = setParameter(url, "curMenu", uniqueName, uniqueName);
				document.location.href = url;
			}
		}
		else if (frameMenu == "true") {
			top.frames[target].location.href = url;
		}
		else {
			document.location.href = url;
		}
	}
}

function setParameter(url, parameter, newValue, uniqueName)
{
	var pos1, pos2, newUrl, i, tmp;
	
	pos1 = url.indexOf(parameter);
	pos2 = url.indexOf("&", pos1);
	
	if (parameter == "menuItem") {	
		if (pos1 == - 1)
			tmp = "";
		else
			tmp = url.substr(pos1 + parameter.length + 1, pos2 - pos1 - parameter.length - 1);
		
		if (tmp.indexOf("menuItem" + uniqueName) == -1 && tmp != "") {//Append
			newValue = tmp + "|" + newValue;
		}
		else if (tmp != "") {//Change
			var menuItemArr = tmp.split("|");
			
			for (i = 0; i < menuItemArr.length; i++) {
				if (menuItemArr[i].substr(8, 1) == uniqueName)
					menuItemArr[i] = newValue;				
			}
			
			newValue = menuItemArr.join("|");
		}
	}
	
	if (pos1 == -1) {
		if (url.indexOf("=") == -1)
			newUrl = url + "?" + parameter + "=" + newValue;
		else
			newUrl = url + "&" + parameter + "=" + newValue;
	}
	else if (pos2 == -1)
		newUrl = url.substr(0, pos1 + parameter.length + 1) + newValue;
	else
		newUrl = url.substr(0, pos1 + parameter.length + 1) + newValue + url.substr(pos2);
	
	return newUrl;
}

function isMenuTable(id)
{
	if (id.substr(0, 13) == "menuItemTable")
		return true;
	else
		return false;	
}

function isMenuEmbededTable(id)
{
	if (id.substr(0, 16) == "menuEmbededTable")
		return true;
	else
		return false;	
}

function getMenuTablePid(id)
{
	var arr = id.split(SPL);
	return parseInt(arr[1]);
}

function getMenuTableLevel(id)
{
	var arr = id.split(SPL);
	return parseInt(arr[2]);
}

function isMenuItem(id)
{
	if (id.substr(0, 8) == "menuItem" && id.substr(0, 13) != "menuItemSpace")
		return true;
	else
		return false;
}

function getUniqueName(id)
{
	var arr = id.split(SPL);
	return arr[0].substr(arr[0].length - 1, 1);
}

function getVsfrId(id)
{
	var arr = id.split(SPL);
	return arr[1];
}

function getMenuFrame(id)
{
	var arr = id.split(SPL);
	return arr[2];
}

function getMenuPid(axis)
{
	var arr = axis.split(SPL);
	return arr[0];
}

function getMenuLevel(axis)
{
	var arr = axis.split(SPL);
	return parseInt(arr[1]);
}

function getMenuOrientation(axis)
{
	var arr = axis.split(SPL);
	return arr[2];
}

function isMenuSelected(axis)
{
	var arr = axis.split(SPL);
	if (arr[3] == "sel")
		return true;
	else
		return false;
}

function getMenuLayout(id, frameMenu)
{
	var obj, frame, uniqueName, vsfrId, axis;
	
	uniqueName = getUniqueName(id);
	vsfrId = getVsfrId(id);
	frame = getMenuFrame(id);
	
	if (frameMenu == "true")
		obj = top.frames[frame].document;	
	else
		obj = document;
	
	axis = obj.getElementById("menuItem" + uniqueName + SPL + vsfrId + SPL + frame).axis;	
	var arr = axis.split(SPL);
	return arr[3];
}

function setMenuLayout(id, axis, type, frameMenu)
{	
	var obj, objMenuItem, frame, uniqueName, vsfrId, level, orientation, i, tmpArr, axisArr;
	
	uniqueName = getUniqueName(id);
	vsfrId = getVsfrId(id);
	frame = getMenuFrame(id);
	level = getMenuLevel(axis);
	orientation = getMenuOrientation(axis)
	
	if (frameMenu == "true")
		obj = top.frames[frame].document;	
	else
		obj = document;
	
	objMenuItem = obj.getElementById("menuItem" + uniqueName + SPL + vsfrId + SPL + frame);
		
	if (type == "out" || type == "in" || type == "sel") {
		if (obj.getElementById("menuItemSpace" + uniqueName + SPL + vsfrId + SPL + frame) != null)
			obj.getElementById("menuItemSpace" + uniqueName + SPL + vsfrId + SPL + frame).style.display = "";
		
		objMenuItem.style.display = "";	
	}
	
	if (type == "out") {
		objMenuItem.className = "out" + uniqueName + level;
			
		axisArr = axis.split(SPL);
		
		if ((axisArr[5] != "" || axisArr[6] != "") && axisArr[5] != axisArr[4])
			objMenuItem.style.backgroundImage = axisArr[4];
		axisArr[3] = "out";
		objMenuItem.axis = axisArr.join(SPL);
	}
	else if (type == "in") {
		objMenuItem.className = "in" + uniqueName + level;
		axisArr = axis.split(SPL);
		if (axisArr[5] != "" && axisArr[5] != axisArr[4])
			objMenuItem.style.backgroundImage = axisArr[5];
		axisArr[3] = "in";
		objMenuItem.axis = axisArr.join(SPL);
	}
	else if (type == "sel") {
		objMenuItem.className = "sel" + uniqueName + level;
		
		axisArr = axis.split(SPL);
		if (axisArr[6] != "")
			objMenuItem.style.backgroundImage = axisArr[6];
		axisArr[3] = "sel";
		objMenuItem.axis = axisArr.join(SPL);
	}
	else {		
		if (obj.getElementById("menuItemSpace" + uniqueName + SPL + vsfrId + SPL + frame) != null)
			obj.getElementById("menuItemSpace" + uniqueName + SPL + vsfrId + SPL + frame).style.display = "none";
		
		objMenuItem.style.display = "none";
			
		axisArr = axis.split(SPL);
		axisArr[3] = "";
		objMenuItem.axis = axisArr.join(SPL);
	}
	
	return true;
}

function getMenuTableColl(level, uniqueName, showInFrameArr, frameMenu)
{
	var i, y;
	var coll = new Array();
	y = 0;

	var frameArr = showInFrameArr.split(SPL);
	
	if (frameMenu == "true")
		obj = top.frames[frameArr[level]].document;
	else
		obj = document;	
			
	var coll_1 = obj.getElementsByTagName("table");
			
	for (i = 0; i < coll_1.length; i++) {	
		if (getUniqueName(coll_1[i].id) == uniqueName && isMenuTable(coll_1[i].id) == true && getMenuTableLevel(coll_1[i].id) == level) {
			coll[y] = coll_1[i];
			y = y + 1
		}
	}
	
	return coll;
}

function getMenuItemColl(level, uniqueName, showInFrameArr, frameMenu)
{	 
	var i, y;
	var coll = new Array();
	y = 0;
	
	var frameArr = showInFrameArr.split(SPL);
	
	if (frameMenu == "true")
		obj = top.frames[frameArr[level]].document;
	else
		obj = document;	
			
	var coll_1 = obj.getElementsByTagName("td");
			
	for (i = 0; i < coll_1.length; i++) {		
		if (getUniqueName(coll_1[i].id) == uniqueName && isMenuItem(coll_1[i].id) == true && getMenuLevel(coll_1[i].axis) == level) {
			coll[y] = coll_1[i];
			y = y + 1
		}
	}			
	
	return coll;
}

function getMenuChildrenColl(axis, uniqueName, frameMenu)
{
	var i, y, obj;
	var coll = new Array();
	y = 0;
	
	var arr = axis.split(SPL);
	for (i = 7; i < arr.length; i = i + 2) {
		if (frameMenu == "true")
			obj = top.frames[arr[i + 1]].document;
		else
			obj = document;	
		
		coll[y] = obj.getElementById("menuItem" + uniqueName + SPL + arr[i] + SPL + arr[i + 1]);
		
		y = y + 1;
	}
		
	return coll;
}

function getMenuEmbededTableColl(startLevel, stopLevel, pId, uniqueName, showInFrameArr, frameMenu)
{
	var i, y, str;
	var coll = new Array();
	y = 0;
	
	var frameArr = showInFrameArr.split(SPL);
	
	if (frameMenu == "true")
		obj = top.frames[frameArr[startLevel]].document;
	else
		obj = document;	
		
	if (obj == null)
		return coll;
		
	var coll_1 = obj.getElementsByTagName("table");
	for (i = 0; i < coll_1.length; i++) {
		if (pId == "")
			str = ""
		else
			str = getMenuTablePid(coll_1[i].id);
			
		if (getUniqueName(coll_1[i].id) == uniqueName && isMenuEmbededTable(coll_1[i].id) == true && str == pId && getMenuTableLevel(coll_1[i].id) >= startLevel && getMenuTableLevel(coll_1[i].id) <= stopLevel) {
			coll[y] = coll_1[i];
			y = y + 1;
		}
	}
	
	return coll;
}
	
function isLevelEmbeded(level, embededArr)
{
	var embededArr = embededArr.split(SPL);
			
	if (embededArr[level] == "")
		return false;
	else
		return true;
}