var TD_menuIntervalId = null;
var TD_ActiveMenus = new Array();

function TD_ActiveMenu(sMenuId, nMenuLevel, pMenuObj) 
{
	this.MenuId = sMenuId;
	this.MenuLevel = nMenuLevel;
	this.MenuObj = pMenuObj;
}
function TD_CloseMenu(z, sMenuId, bSpecific)
{
	if(bSpecific==true) {
		eval("TDMenu" + sMenuId + "_" + z + ".blendTo( 0, 25, 25, '' )");
	} else {
		for(var y=1; y<=z; y++) {
			eval("TDMenu" + sMenuId + "_" + y + ".blendTo( 0, 25, 25, '' )");
		}
	}
}
// CloseMenuEx
function TD_CMEx(sMenuId, nMenuLevel, nSpecific)
{
	if(TD_ActiveMenus.length>0) {
		for(var x = 0; x<TD_ActiveMenus.length; x++) {
			if(TD_ActiveMenus[x]) {
				if(TD_ActiveMenus[x].MenuId == sMenuId) {
					TD_ActiveMenus[x].MenuObj.blend(0);
					TD_ActiveMenus[x] = null;	
				}
			}
		}
	}
}
function TD_RecreateMenuArray() {
	var temp = new Array();
	for(var x=0; x<TD_ActiveMenus.length;x++) {
		if(TD_ActiveMenus[x]!=null)
			temp[temp.length] = new TD_ActiveMenu(TD_ActiveMenus[x].MenuId,TD_ActiveMenus[x].MenuLevel,TD_ActiveMenus[x].MenuObj);
	}
	TD_ActiveMenus = temp;
}
// Menu Popup Ex
function TD_MPUEx( z, sMenuId, nMenuLevel, nMenuItem, lockOn, bUseMouseX, bUseMouseY, nOffsetX, nOffsetY ) 
{
	var temp = null;
	if(TD_ActiveMenus.length>0) {
		for(var x = 0; x<TD_ActiveMenus.length; x++) {
			if(TD_ActiveMenus[x]) {
			
				if(nMenuLevel > -1) {
					if(TD_ActiveMenus[x].MenuId == sMenuId) {
						if(TD_ActiveMenus[x].MenuLevel >= nMenuLevel) {
							TD_ActiveMenus[x].MenuObj.blend(0);
							TD_ActiveMenus[x] = null;
						}	
					}
				} else {
					TD_ActiveMenus[x].MenuObj.blend(0);
					TD_ActiveMenus[x] = null;
				}
			}
		}
	}
	TD_RecreateMenuArray();
	if(nMenuLevel > -1) {

		if(!eval('window.TDMenu' + sMenuId + '_' + nMenuLevel + '_' + nMenuItem))
			return;
			
		eval('var TDMenu = TDMenu' + sMenuId + '_' + nMenuLevel + '_' + nMenuItem);
	} else {
		if(!eval('window.TDMenu' + sMenuId + '_' + nMenuItem))
			return;

		eval('var TDMenu = TDMenu' + sMenuId + '_' + nMenuItem);
	}
	
	var xpos = nOffsetX;
	if(bUseMouseX==1) xpos += getLayerXPos( lockOn );
	
	var ypos = nOffsetY;
	if(bUseMouseY==1) ypos += getLayerYPos( lockOn );

	TDMenu.move( xpos, ypos, 10);
	TDMenu.blend( 100 );
	TD_ActiveMenus[TD_ActiveMenus.length] = new TD_ActiveMenu(sMenuId, nMenuLevel, TDMenu);
}
function TD_MenuPopUp( z, sMenuId, nMenuItem, lockOn, bUseMouseX, bUseMouseY, nOffsetX, nOffsetY ) 
{
	TD_MPUEx( z, sMenuId, -1, nMenuItem, lockOn, bUseMouseX, bUseMouseY, nOffsetX, nOffsetY )
}
function TD_STEx(nInterval, pTimeoutFunc)
{
	TD_menuIntervalId = setTimeout(pTimeoutFunc, nInterval);
}
function TD_SetTimeout(nInterval, pTimeoutFunc) { TD_STEx(nInterval, pTimeoutFunc); }
function TD_CancelTimeout() { TD_CTEx(); }
function TD_CTEx() 
{
	if(TD_menuIntervalId != null) {
		clearTimeout(TD_menuIntervalId);
		TD_menuIntervalId = null;
	}
}