/************************************************************************** 
*************************************************************************** 
*  Program Name: $Id: menu_control.js,v 1.1.1.1 2007/12/10 00:51:16 neo Exp $
*  Program Author:  Michael T. Schock
*  Creation Date: 05-15-2006
*  CVS Revision: $Revision: 1.1.1.1 $
*  Copyright (c) 2006
*************************************************************************** 
*************************************************************************** 
*  Program Summary:
*  Javascript functions for the menu class
*
*
*************************************************************************** 
**************************************************************************/
//  Global Variables
var activeMenu;
var g_controlNumber;
var g_elementIndex;
var g_titleCount;

//  Global Initialization
activeMenu = 0;

function Mouse_Over_List(anchorObject, controlNumber, titleIndex)
{	
        //  Set menu activity to 1
	activeMenu = 1;

	//  Show menu list
	Show_Menu_List(controlNumber, titleIndex);

	//  Change class of menu list item for a mouse over
	anchorObject.className = 'Menu_Element_List_Active_' + controlNumber;
}

function Mouse_Out_List(anchorObject, controlNumber, titleIndex, titleCount)
{
        //  Set the menu to zero
	activeMenu = 0;

	//  Set list to normal on 'mouse out'
	anchorObject.className = 'Menu_Element_List_' + controlNumber;

	//  Check to see if we need to hide the menu
	setTimeout("Menu_Hide()", 350);
}

function Mouse_Out_Title(controlNumber, elementIndex, listTotal)
{
	//  Variables
	var clickVar;

	//  Set the menu to zero
	activeMenu = 0;

        //  Get value in click variable
	clickVar = document.getElementById('Menu_ClickVar_' + controlNumber).value;

        //  Check for 'clickVar' status
	if(clickVar == "Unpressed")
	{
		//  Hide all menus
		Hide_Menu_List(controlNumber, elementIndex, listTotal);

		//  Unpress all titles
		Unpress_All_Titles(controlNumber, elementIndex, listTotal);
	}

	//  Check to see if we need to hide the menu
	setTimeout("Menu_Hide()", 350);
}

function Menu_Hide()
{
	if(activeMenu == 0)
	{
                //  Hide the menus
		Hide_Menu_List(g_controlNumber, g_elementIndex, g_titleCount);

		//  Hide the titles
		Unpress_All_Titles(g_controlNumber, g_elementIndex, g_titleCount);

        	//  Unclick the menu
		document.getElementById('Menu_ClickVar_' + g_controlNumber).value = 'Unpressed';
	}
}

function All_Menu_Hide()
{
	//  Hide all menus
	Hide_Menu_List(g_controlNumber, g_elementIndex, g_titleCount);

	//  Hide the titles
	Unpress_All_Titles(g_controlNumber, g_elementIndex, g_titleCount);
}

function Mouse_Over_Title(tdObject, controlNumber, elementIndex, listTotal)
{
	//  Variables
	var clickVar;
	activeMenu = 1;

	//  Populate Global variables
	g_controlNumber = controlNumber;
	g_elementIndex = elementIndex;
	g_titleCount = listTotal;

        //  Hide all menus
	Hide_Menu_List(controlNumber, elementIndex, listTotal);

	//  Unpress all titles
	Unpress_All_Titles(controlNumber, elementIndex, listTotal);

	//  Get value in click variable
	clickVar = document.getElementById('Menu_ClickVar_' + controlNumber).value;

	//  Check for 'clickVar' status
	if(clickVar == "Pressed")
	{
		//  Set the td to the pressed class
		tdObject.className = 'Menu_Title_Pressed_' + controlNumber;
		
		//  Show menu list
		Show_Menu_List(controlNumber, elementIndex);
	}
	else
	{
		//  Set the td to the unpressed class
                tdObject.className = 'Menu_Title_Unpressed_' + controlNumber;
	}
}
		
function Mouse_Down_Title(tdObject, controlNumber, elementIndex, listTotal)	
{	
	//  Variables
	var clickVar;
	var loop;
	
	//  Hide all the menus
	Hide_Menu_List(controlNumber, elementIndex, listTotal);
	
	//  Get value in click variable
	clickVar = document.getElementById('Menu_ClickVar_' + controlNumber).value;
		
	//  Check for 'clickVar' status
	if(clickVar == "Unpressed")	
	{
		document.getElementById('Menu_ClickVar_' + controlNumber).value = "Pressed";
				
		//  Set the td to the pressed class
		tdObject.className = 'Menu_Title_Pressed_' + controlNumber;
		
		//  Show menu list
		Show_Menu_List(controlNumber, elementIndex);
	}
	else
	{	
		document.getElementById('Menu_ClickVar_' + controlNumber).value = "Unpressed";
					
		//  Set the td to the pressed class
		Unpress_All_Titles(controlNumber, elementIndex, listTotal);

		//  Set the td to the unpressed class
                tdObject.className = 'Menu_Title_Unpressed_' + controlNumber;
	}
}

function Mouse_Out_Element(controlNumber, elementIndex, listTotal)
{
	//  Hide all menus
	Hide_Menu_List(controlNumber, elementIndex, listTotal);

	//  Unpress all titles
	Unpress_All_Titles(controlNumber, elementIndex, listTotal);


}

function Unpress_All_Titles(controlNumber, elementIndex, listTotal)
{
         //  Variables
	var tdObject;
	var loop;
	
	//  Unpress all the titles
	for(loop = 0; loop < listTotal; loop++)
	{
		tdObject = document.getElementById('Menu_Title_' + controlNumber + '_' + loop);
		tdObject.className = 'Menu_Title_Default_' + controlNumber;
	}
}

function Hide_Menu_List(controlNumber, elementIndex, listTotal)
{
	//  Variables
	var iframeObject;
	var elementObject;
	
	//  Get the iframe object and hide it
	if(document.all)  //  IE Only
	{
		iframeObject = document.getElementById('Menu_Iframe_' + controlNumber);
		iframeObject.style.width = 0;
		iframeObject.style.height = 0;
		iframeObject.style.top = 0;
		iframeObject.style.left = 0;
		iframeObject.style.display = "none";
		iframeObject.style.visibility = "hidden";
	}
	
	//  Hide all the menus
	for(loop = 0; loop < listTotal; loop++)
	{
		listObject = document.getElementById('Menu_Element_' + controlNumber + '_' + loop);
		listObject.style.visibility = "hidden";
	}

}

function Show_Menu_List(controlNumber, elementIndex)
{
	//  Variables
	var elementObject;
	var menuObject;
	var titleObject;
	var menuValue;
	var titleValue;
	var iframeObject;
	
	//  Get object references
	elementObject = document.getElementById('Menu_Element_' + controlNumber + '_' + elementIndex);
	menuObject = document.getElementById('Menu_Control_' + controlNumber);
	titleObject = document.getElementById('Menu_Title_' + controlNumber + '_' + elementIndex);
	iframeObject = document.getElementById('Menu_Iframe_' + controlNumber);
	
	//  Get the top value
	menuValue = menuObject.offsetTop + 2;
	elementObject.style.top = titleObject.offsetTop + titleObject.offsetHeight + menuValue;
	if(document.all)  //  IE only
		iframeObject.style.top = titleObject.offsetTop + titleObject.offsetHeight + menuValue;
	
	//  Get the left value
	if(document.all)
		menuValue = menuObject.parentNode.offsetLeft + 2;
	else
		menuValue = menuObject.offsetLeft;
	elementObject.style.left = titleObject.offsetLeft + menuValue;
	if(document.all)  //  IE only
		iframeObject.style.left = titleObject.offsetLeft + menuValue;
	
	//  Set the element to visible
	elementObject.style.visibility = "visible";
	elementObject.style.zIndex = "1000";
	
	//  Set other iframe attributes
	if(document.all)  //  IE only
	{
		iframeObject.style.width = elementObject.offsetWidth;
		iframeObject.style.height = elementObject.offsetHeight;
		iframeObject.style.zIndex = "999";
		iframeObject.style.display = "block";
		iframeObject.style.visibility = "visible";
	}
}
		
function disable_Menu_Item(controlNumber, columnNumber, rowNumber)
{
	//  Set the element to disabled
	document.getElementById('Menu_Control_Element_Content_List_' + controlNumber + '_' + columnNumber + '_' + rowNumber).style.display = "none";
}

function enable_Menu_Item(controlNumber, columnNumber, rowNumber)
{
	//  Set the element to disabled
	document.getElementById('Menu_Control_Element_Content_List_' + controlNumber + '_' + columnNumber + '_' + rowNumber).style.display = "block";
}

