if(parent.main)
{
	cObj=parent.main;
}
else
	cObj=window;
   /******************************
      Asset Manager menu system
     © 2005 Leapfrog Interactive
   ******************************/

var openmenus = new Array();
var openTopMenu = null;
var SHADOW_OFFSET_X = 2;
var SHADOW_OFFSET_Y = 3;
var active = false;
var lastchildrenhidden; //Prevent looping hideChildren
var activemenu, previousmenu;
var menusLoaded = false;


function deactivate() {
	active = false;
	activemenu = 0;
	setTimeout("if (active == false) hideAll();", 500);
}


function hideAll() {
	for (i = 0; i < openmenus.length; i++) {
		cObj.document.getElementById("mnu" + openmenus[i]).style.visibility = "hidden";
		cObj.document.getElementById("shadow" + openmenus[i]).style.visibility = "hidden";
	}
	
	if (navigator.appName == "Microsoft Internet Explorer") {
		var col = cObj.document.getElementsByTagName("iframe");
		for (n = 0; n < col.length; n++)
			if (col[n].id.substr(0, 6) == "iframe") col[n].style.visibility = "hidden";
	}
	
	openmenus = new Array();
}



function isOpen(id) {
	var objMenu = cObj.document.getElementById("mnu" + id);
	
	return (objMenu != null) ? (objMenu.style.visibility == "visible") : null
}


function openPage(id) {
	try {cObj.document.getElementById("img" + id + "_on").style.visibility = "hidden";}
	catch (ex) {/*User clicked on a top menu*/}
	var ubound = 0;
	var lbound = 1000000000;
	var randnumn = (Math.floor(Math.random() * (ubound - lbound)) + lbound);
	if(parent.main)
		cObj.location = "/page.cfm?id=" + id+'&randnum='+randnumn;
	else
		cObj.location = "/frameset.cfm?id=" + id+'&randnum='+randnumn;
	hideAll();
}


function hideAllInSameScope(id) {
	var objMenu = cObj.document.getElementById("itm" + id);
	
	if (objMenu == null) return; //Menu doesn't exist
	
	var objParent = objMenu.parentNode;
	var menuitems = objParent.getElementsByTagName("table");
	var menuid;
	for (i = 0; i < menuitems.length; i++) {
		if (menuitems[i].id.substr(0,3) == "itm" && menuitems[i].parentNode == objParent) {
			menuid = menuitems[i].id.substring(3, menuitems[i].id.length);
			hideMenu(menuid);
			//hideChildren(menuid);
		}
	}
}

function turnOnItem(id) {
	try {
		var objItem = cObj.document.getElementById("itm" + id);
		objItem.style.background = "#<cfoutput>#COLOR.MENU_HIGHLIGHTED#</cfoutput>";
	}
	catch (ex) {
		//Menu doesn't exist
	}
}

function turnOffItem(id) {
	try {
		var objItem = cObj.document.getElementById("itm" + id);
		objItem.style.background = "";
	}
	catch (ex) {
		//Menu doesn't exist
	}
}

function hideChildren(id) {
	if (id == undefined || lastchildrenhidden == id) return;
	
	lastchildrenhidden = id;
	
	try {
		var objMenu = cObj.document.getElementById("mnu" + id);		
		var menuitems = objMenu.getElementsByTagName("div");
		var menuid;
		
		for (i = 0; i < menuitems.length; i++) {
			if (menuitems[i].id.substr(0,3) == "mnu") {
				menuid = menuitems[i].id.substring(3, menuitems[i].id.length);
				hideMenu(menuid);
			}
		}
	}
	catch (ex) {
		//Menu doesn't exist
	}
}

function showSubMenu(id, parentid, level) {
	if ((isOpen(id) && previousmenu == id) || !isOpen(parentid) || activemenu != id) return;
	
	hideAllInSameScope(id);
	
	if (previousmenu != id && previousmenu != parentid) {
		hideMenu(previousmenu);
		hideChildren(parentid);
		hideChildren(previousmenu);
	}
	
	previousmenu = id;
	
	try {
		var objMenu = cObj.document.getElementById("mnu" + id);
		var objShadow = cObj.document.getElementById("shadow" + id);
		
		objMenu.style.visibility = "visible";
		
		if (!isOpen(id) && objMenu != null) openmenus.push(id);
		var left = objMenu.parentNode.offsetWidth-2;
		objMenu.style.left = left+'px';
		if (navigator.appName != "Microsoft Internet Explorer") {
			var images = objMenu.getElementsByTagName("img");
			var maxwidth = 0;
			
			for (i = 0; i < images.length; i++) {
				if (images[i].offsetWidth > maxwidth)
					maxwidth = images[i].offsetWidth;
			}
			
			objMenu.style.width = maxwidth + 20;
		}
		
		if (objMenu.offsetWidth < 100) objMenu.style.width = "100px";
		
		objMenu.style.visibility = "visible";
		
		objShadow.style.left = objMenu.offsetLeft + SHADOW_OFFSET_X;
		objShadow.style.top = objMenu.offsetTop + SHADOW_OFFSET_Y;
		objShadow.style.width = objMenu.offsetWidth - (navigator.appName != "Microsoft Internet Explorer" ? 10 : 0);
		objShadow.style.height = objMenu.offsetHeight - (navigator.appName != "Microsoft Internet Explorer" ? 10 : 0);
		objShadow.style.visibility = "visible";
		
		if (navigator.appName == "Microsoft Internet Explorer") {
			var objiFrame = cObj.document.getElementById("iframe" + level);
			
			var left = calculateLeft(id);
			var top = calculateTop(id);
			
			objiFrame.name = "iframe" + id;
			objiFrame.style.left = left + 1;
			objiFrame.style.top = top + 1;
			objiFrame.style.width = objMenu.offsetWidth;
			objiFrame.style.height = objMenu.offsetHeight;
			objiFrame.style.visibility = "visible";
		}
		
		var tables = objMenu.getElementsByTagName("table");
		
		for (i = 0; i < tables.length; i++) {
			if (tables[i].parentNode == objMenu) {
				tables[i].width = objMenu.offsetWidth - 6;
			}
		}
	}
	catch (ex) {
		//alert('Menu doesnt exist' + ex);
		//Menu doesn't exist
	}
}


function calculateLeft(id) {
	var obj = cObj.document.getElementById("mnu" + id);
	var l = 0;
	
	while (obj.id.substr(0, 3) == "mnu") {
		
		l += obj.offsetLeft;
		obj = obj.parentNode;
	}
	
	return l;
}

function calculateTop(id) {
	var obj = cObj.document.getElementById("mnu" + id);
	var t = 0;
	
	while (obj.id.substr(0, 3) == "mnu") {
		t += obj.offsetTop;
		obj = obj.parentNode;
	}
	
	return t;
}

function showMenu(id, order,_left) {
	if ((isOpen(id) && previousmenu == id) || menusLoaded == false) return;

	if (activemenu != id) {
		hideMenu(id);
		return;
	}
	
	if (previousmenu != id)	hideAll();
	
	previousmenu = id;

	if(!_left)
	{
		var imgs = document.getElementsByTagName("img");
		var left = menuInit.left;
		for (i = 1; i < imgs.length; i++)
		{
			if (imgs[i].id.substr(0,3) == "img" && imgs[i].id.substring(3, imgs[i].id.length) < order)
				left += 9 + imgs[i].width;
		}
	}
	else
		left = _left;
	
	try {
		var objMenu = cObj.document.getElementById("mnu" + id);
		var objShadow = cObj.document.getElementById("shadow" + id);
	
		if (!isOpen(id) && objMenu != null) {
			openmenus.push(id);
			objMenu.style.left = left+'px';
			if(menuInit.top)
				objMenu.style.top = menuInit.top;
			else
				objMenu.style.top =cObj.document.body.scrollTop;

			
			if (objMenu.offsetWidth < 100) objMenu.style.width = "100px";
			
			var tables = objMenu.getElementsByTagName("table");
			
			for (i = 0; i < tables.length; i++) {
				if (tables[i].parentNode == objMenu)
					tables[i].width = objMenu.offsetWidth - 6;
			}
			
			objMenu.style.visibility = "visible";
			
			objShadow.style.left = objMenu.offsetLeft + SHADOW_OFFSET_X;
			objShadow.style.top = objMenu.offsetTop + SHADOW_OFFSET_Y;
			objShadow.style.width = objMenu.offsetWidth - (navigator.appName == "Microsoft Internet Explorer" ? 0 : 10);
			objShadow.style.height = objMenu.offsetHeight - (navigator.appName == "Microsoft Internet Explorer" ? 0 : 10);
			objShadow.style.visibility = "visible";
			
			if (navigator.appName == "Microsoft Internet Explorer") {
				var objiFrame = cObj.document.getElementById("iframe" + 1);
				
				objiFrame.name = "iframe" + id;
				objiFrame.style.left = objMenu.offsetLeft;
				objiFrame.style.top = objMenu.offsetTop;
				objiFrame.style.width = objMenu.offsetWidth;
				objiFrame.style.height = objMenu.offsetHeight;
				objiFrame.style.visibility = "visible";
			}
		}
	}
	catch (ex) {
		//Menu doesn't exist
	}
	
	if (openTopMenu != id && openTopMenu != null) {
		hideMenu(openTopMenu);
		//hideChildren(openTopMenu);
	}
	openTopMenu = id;
}


function preShowMenu(id, order, left) {
	
	if(!left)
		setTimeout("if (activemenu == " + id + ") showMenu(" + id + ", " + order + ")", 50);
	else
		setTimeout("if (activemenu == " + id + ") showMenu(" + id + ", " + order + "," + left + ")", 50);
}

function hideMenu(id) {
	if (!isOpen(id)) return;
	

	var objMenu = cObj.document.getElementById("mnu" + id);
	if (!objMenu)
			return;
	objMenu.style.visibility = "hidden";
	
	var objShadow = cObj.document.getElementById("shadow" + id);
	objShadow.style.visibility = "hidden";
	
	if (navigator.appName == "Microsoft Internet Explorer") {
		var iframes = cObj.document.getElementsByTagName("iframe");
		for (n = 0; n < iframes.length; n++)
			if (iframes[n].name == "iframe" + id) iframes[n].style.visibility = "hidden";
	}
	
	for (i = 0; i < openmenus.length; i++) {
		if (openmenus[i] == id) {
			openmenus.splice(i,1);
		}
	}
}
