﻿var ContextMenus = new Array();
ContextMenus.push("ActiveTextCMenu")
ContextMenus.push("VRContextMenu")
ContextMenus.push("CRContextMenu")
ContextMenus.push("GearContextMenu")

var ContextSubMenus = new Array();
ContextSubMenus.push("InvoiceSubMenu")
ContextSubMenus.push("OrderSubMenu")
ContextSubMenus.push("BillingCatgSubMenu")
ContextSubMenus.push("RevisionSubMenu")

function ShowContextMenu(MenuId,obj,isFixed)
{

	HideContextMenus(MenuId);
	HideContextSubMenus();
	var MenuOffset = 2;
	var Menu = document.getElementById(MenuId);
	if( !(isFixed != null && isFixed==true && obj != null) )
	{
	    Menu.style.left = window.event.x + document.body.scrollLeft - MenuOffset;
	    Menu.style.top = window.event.y + document.body.scrollTop - MenuOffset;
	}
	Menu.style.display = "";
	SetMenuPos(Menu);
	window.event.cancelBubble = true;

	return false;
}

function HideContextMenus(MenuId)
{
	for(i=0;i<ContextMenus.length;i++)
	{
		if(MenuId != ContextMenus[i])
		{
			var Menu = document.getElementById(ContextMenus[i]);
			if(Menu != null)
			    Menu.style.display = 'none';
		}
	}
}

function SetMenuPos(Menu)
{

    if(Menu.offsetLeft + Menu.offsetWidth > document.body.offsetWidth + document.body.scrollLeft)
    {
        Menu.style.left = Menu.offsetLeft - 20;
        SetMenuPos(Menu);
    }
    if(Menu.offsetTop + Menu.offsetHeight > document.body.offsetHeight + document.body.scrollTop)
    {
        Menu.style.top = Menu.offsetTop - 20;
        SetMenuPos(Menu);
    }
}

function GenerateInvoiceSubMenu(MenuId,ParentMenuId,obj)
{
    clearTimeout(TimeHideInvoiceSubMenu);
	return ShowContextSubMenu(MenuId,ParentMenuId,obj);
}

function GenerateBillingCatgSubMenu(MenuId,ParentMenuId,obj)
{
    clearTimeout(TimeHideBillingCatgSubMenu);
	return ShowContextSubMenu(MenuId,ParentMenuId,obj);
}


function GenerateOrderSubMenu(MenuId,ParentMenuId,obj)
{
    clearTimeout(TimeHideOrderSubMenu);
	return ShowContextSubMenu(MenuId,ParentMenuId,obj);
}

function GenerateRevisionSubMenu(MenuId,ParentMenuId,obj)
{
    clearTimeout(TimeHideRevisionSubMenu);
    return ShowContextSubMenu(MenuId,ParentMenuId,obj)
}

function ShowContextSubMenu(MenuId,ParentMenuId,obj)
{
	HideContextSubMenus(MenuId);
	var SubMenuContainer = qd("SubMenuContainer");
	var Menu = document.getElementById(MenuId);
	var ParentMenu = document.getElementById(ParentMenuId);
	if(Menu.style.display=="") return false;
	Menu.style.left = ParentMenu.style.pixelLeft + ParentMenu.offsetWidth - SubMenuContainer.offsetLeft - 3;
	//Menu.style.top = window.event.y + document.body.scrollTop - obj.offsetHeight - SubMenuContainer.offsetTop;
	Menu.style.top = ParentMenu.offsetTop + obj.offsetTop - SubMenuContainer.offsetTop;
	Menu.style.display = "";
	SetSubMenuPos(Menu,ParentMenu);
	window.event.cancelBubble = true;

	return false;
}

function HideContextSubMenus(MenuId)
{
	for(i=0;i<ContextSubMenus.length;i++)
	{
		if(MenuId != ContextSubMenus[i])
		{
			var Menu = document.getElementById(ContextSubMenus[i]);
			if(Menu != null)
			    Menu.style.display = 'none';
		}
	}
}

function HideContextSubMenus1(MenuId)
{
    var Menu = document.getElementById(MenuId);
    if(Menu != null)  
        Menu.style.display = 'none';
}

var TimeHideInvoiceSubMenu;
function HideInvoiceSubMenu(MenuId)
{
    TimeHideInvoiceSubMenu=setTimeout("HideContextSubMenus1('"+MenuId+"');",1000);
}

var TimeHideBillingCatgSubMenu;
function HideBillingCatgSubMenu(MenuId)
{
    TimeHideBillingCatgSubMenu=setTimeout("HideContextSubMenus1('"+MenuId+"');",1000);
}

var TimeHideOrderSubMenu;
function HideOrderSubMenu(MenuId)
{
    TimeHideOrderSubMenu=setTimeout("HideContextSubMenus1('"+MenuId+"');",1000);
}

var TimeHideRevisionSubMenu;
function HideRevisionSubMenu(MenuId)
{
    TimeHideRevisionSubMenu=setTimeout("HideContextSubMenus1('"+MenuId+"');",1000);
}

function SetSubMenuPos(Menu,ParentMenu)
{
	var SubMenuContainer = qd("SubMenuContainer");
    if(Menu.offsetLeft + SubMenuContainer.offsetLeft + Menu.offsetWidth > document.body.offsetWidth + document.body.scrollLeft)
    {
        Menu.style.left = ParentMenu.offsetLeft - Menu.offsetWidth - SubMenuContainer.offsetLeft;
    }
    if(Menu.offsetTop + SubMenuContainer.offsetTop + Menu.offsetHeight > document.body.offsetHeight + document.body.scrollTop)
    {
        Menu.style.top = Menu.offsetTop - Menu.offsetHeight - SubMenuContainer.offsetTop;
    }
}

function trapESC()
{
	var key = window.event.keyCode;
	if (key == 27)
	{
		HideContextMenus();
		HideContextSubMenus();
	}
}


function FormatMenuText(obj,type)
{
    if(obj.tagName == "TR")
    {    
        if(type == "hover")
        {            
            for(j=0;j<obj.parentNode.parentNode.rows.length;j++) 
            {
		        var currRow = obj.parentNode.parentNode.rows[j];
		        
		        if (currRow.id.indexOf("Separator")== -1)
		        {
		        
		            currRow.className = 'Mouseout';
                    for(k=0;k<currRow.children.length;k++)
	                {
                        currRow.children[k].style.color = '#555555';
	                }	        

                    currRow.children[0].className = 'MenuPrefix';
                    currRow.children[1].className = '';
                    currRow.children[2].className = 'HasSubMenu';
                }
	        }
            obj.className = 'Mousehover';
            
            for(i=0;i<obj.children.length;i++)
	        {
                obj.children[i].style.color = '#ffffff';
	        }
        }    
        else
        {    
            obj.className = 'Mouseout';
            for(i=0;i<obj.children.length;i++)
	        {
                obj.children[i].style.color = '#555555';
	        }	        

            obj.children[0].className = 'MenuPrefix';
            obj.children[1].className = '';
            obj.children[2].className = 'HasSubMenu';            
        }
    }
}