var m_sCurrentlyOpenMenu;
m_sCurrentlyOpenMenu = "";

var m_bChangingOpacity = new Boolean();
m_bChangingOpacity = false; 

//********************************************************************
//
//********************************************************************
function ChangeOpacity( IdOfElementToChangeOpacityFor, OpacityStart, OpacityEnd, OpacityChangeDurationInMilliseconds )
{ 
    if( m_bChangingOpacity == false )
	{
    	var OpacityChangeFrameSpeed = Math.round( OpacityChangeDurationInMilliseconds / 100 ); 
	    var Timer = 0; 

		/* HIDE */
    	if( OpacityStart > OpacityEnd )
		{
		    /* OPACITY DOESN'T WORK WITH NETSCAPE PROPERLY, SO WE'LL SKIP THE FADING PART */
			if( navigator.appName == 'Netscape' )
			{
				document.getElementById( IdOfElementToChangeOpacityFor ).style.display = "none";
			}
			
			/* OTHER BROWSER */
			else
			{
				for( i = OpacityStart ; i >= OpacityEnd ; i-- )
				{
				    m_bChangingOpacity = true; 
    	        	setTimeout( "ChangeOpacityForDifferentBrowsers(" + i + ",'" + IdOfElementToChangeOpacityFor + "')",( Timer * OpacityChangeFrameSpeed ) ); 
		            Timer++; 
    	    	}
			} 
    	     
			m_bChangingOpacity = false;
	    }
	
		/* SHOW */
		else if( OpacityStart < OpacityEnd )
		{
		    /* OPACITY DOESN'T WORK WITH NETSCAPE PROPERLY, SO WE'LL SKIP THE FADING PART */ 
			if( navigator.appName == 'Netscape' )
			{
				document.getElementById( IdOfElementToChangeOpacityFor ).style.display = "block";
				document.getElementById( IdOfElementToChangeOpacityFor ).style.opacity = 1;
				document.getElementById( IdOfElementToChangeOpacityFor ).style.filter  = "alpha(opacity=1)"; 
			}
			
			/* OTHER BROWSER */
			else
			{
    		    for( i = OpacityStart ; i <= OpacityEnd ; i++ ) 
		        { 
				    m_bChangingOpacity = true; 
	    	        setTimeout( "ChangeOpacityForDifferentBrowsers(" + i + ",'" + IdOfElementToChangeOpacityFor + "')",( Timer * OpacityChangeFrameSpeed ) ); 
    	    	    Timer++; 
		        }
			}
 
			m_bChangingOpacity = false;
		} 
	}
} 

//********************************************************************
//change the opacity for different browsers 
//********************************************************************
function ChangeOpacityForDifferentBrowsers( NewOpacity, IdOfElementToChangeOpacityFor )
{ 
    var object          = document.getElementById( IdOfElementToChangeOpacityFor ).style; 
	
    object.opacity      = ( NewOpacity / 100 ); 
    object.MozOpacity   = ( NewOpacity / 101 ); 
    object.KhtmlOpacity = ( NewOpacity / 100 ); 
    object.filter       = "alpha(opacity=" + NewOpacity + ")"; 
} 

//********************************************************************
//
//********************************************************************
function GetLeftOfElement( ObjectToProcess )
{
	oLeft = ObjectToProcess.offsetLeft;
	
	while( ObjectToProcess.offsetParent != null )
	{
		oParent = ObjectToProcess.offsetParent;
		oLeft   = oLeft + ObjectToProcess.offsetLeft;
		ObjectToProcess = oParent;
	}
	
	return oLeft;
}

//********************************************************************
//
//********************************************************************
function GetTopOfElement( ObjectToProcess )
{
	oTop = ObjectToProcess.offsetTop;
	
	while( ObjectToProcess.offsetParent != null )
	{
		oParent = ObjectToProcess.offsetParent;
		oTop    = oTop + ObjectToProcess.offsetTop;
		ObjectToProcess = oParent;
	}
	
	return oTop;
}

//********************************************************************
//
//********************************************************************
function ShowMenu( MenuToShow )
{
    if( m_sCurrentlyOpenMenu != MenuToShow )
	{
 	/* Hide possible open menu */
	if( m_sCurrentlyOpenMenu != "" )
		{
	    	ChangeOpacity( 'tblDropDownLinksContainer_' + m_sCurrentlyOpenMenu, 100, 0, 200 );

		document.getElementById( 'tblDropDownLinksContainer_' + MenuToShow ).style.display = "none";
		}

	/*window.scrollTo(0, 0);*/
	
    	if( document.getElementById( 'tblDropDownLinksContainer_' + MenuToShow ) )
	    	{
  	      m_sCurrentlyOpenMenu = MenuToShow;

     	    	ChangeOpacity( 'tblDropDownLinksContainer_' + MenuToShow, 0, 100, 200 );

            document.getElementById( 'tblDropDownLinksContainer_' + MenuToShow ).style.display = "block";
	    	}
	else
    		{    
	      m_sCurrentlyOpenMenu = "";
    		}
	}    
}

//********************************************************************
//
//********************************************************************
function HidePossibleOpenMenu( event )
{
var MenuToHide = m_sCurrentlyOpenMenu;

	/*window.scrollTo(0, 0);*/

	if( m_sCurrentlyOpenMenu != "" && document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ) && document.getElementById( 'LinkTo_' + MenuToHide ) )
		{
		/* ----------------------------------------------------- */
		/* MANUAL OFFSET */
		/* ----------------------------------------------------- */
		var iHardCodedOffset = 0;
		if( navigator.appName != 'Microsoft Internet Explorer' )
			{
			iHardCodedOffset = 5;
			}
		else
			{
			iHardCodedOffset = 3;
			}

		/* ----------------------------------------------------- */
		/* WINDOW OFFSET */
		/* ----------------------------------------------------- */
		var iWindowOffsetX = document.body.scrollTop;
		var iWindowOffsetY = document.body.scrollLeft;

		/* ----------------------------------------------------- */
		/* MOUSE POSITION */
		/* ----------------------------------------------------- */
		var iMouseX = 0;
		var iMouseY = 0;

		if( navigator.appName != 'Microsoft Internet Explorer' )
			{
			iMouseX = event.clientX;
			iMouseY = event.clientY;
			}
		else
			{
			iMouseX = event.x;
			iMouseY = event.y;
			}

		/* ----------------------------------------------------- */
		/* CHECK IF MOUSE IS INSIDE THE POPUP MENU AREA */
		/* ----------------------------------------------------- */
		var iDropDownElementTop = document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).offsetTop;
		var iDropDownElementLeft = document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).offsetLeft;

		var iDropDownElementHeight = document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).offsetHeight;
		var iDropDownElementWidth = document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).offsetWidth;

		var bIsInDropDownHeightRange = new Boolean();
		var bIsInDropDownWidthRange = new Boolean();
		bIsInDropDownWidthRange = ( ( iMouseX >= iDropDownElementLeft - iHardCodedOffset - iWindowOffsetY ) && ( iMouseX <= ( iDropDownElementLeft + iDropDownElementWidth + iHardCodedOffset + iWindowOffsetY ) ) );
		bIsInDropDownHeightRange = ( ( iMouseY >= iDropDownElementTop - iHardCodedOffset - iWindowOffsetX ) && ( iMouseY <= ( iDropDownElementTop + iDropDownElementHeight + iHardCodedOffset + iWindowOffsetX ) ) );

		/* ----------------------------------------------------- */
		/* CHECK IF MOUSE IS INSIDE THE LINK AREA THAT OPENED THE POPUP MENU */
		/* ----------------------------------------------------- */
		var iHeaderElementTop = GetTopOfElement( document.getElementById( 'LinkTo_' + MenuToHide ) ); /*.offsetTop;*/
		var iHeaderElementLeft = GetLeftOfElement( document.getElementById( 'LinkTo_' + MenuToHide ) ); /*.offsetLeft;*/

		var iHeaderElementHeight = document.getElementById( 'LinkTo_' + MenuToHide ).offsetHeight;
		var iHeaderElementWidth = document.getElementById( 'LinkTo_' + MenuToHide ).offsetWidth;

		var bIsInHeaderHeightRange = new Boolean();
		var bIsInHeaderWidthRange = new Boolean();
		bIsInHeaderWidthRange = ( ( iMouseX >= iHeaderElementLeft - iHardCodedOffset - iWindowOffsetY ) && ( iMouseX <= ( iHeaderElementLeft + iHeaderElementWidth + iHardCodedOffset + iWindowOffsetY ) ) );
		bIsInHeaderHeightRange = ( ( iMouseY >= iHeaderElementTop - iHardCodedOffset - iWindowOffsetX ) && ( iMouseY <= ( iHeaderElementTop + iHeaderElementHeight + iHardCodedOffset + iWindowOffsetX ) ) );

		/* SHOW (DO NOTHING)*/
		if( ( bIsInDropDownWidthRange && bIsInDropDownHeightRange ) || ( bIsInHeaderWidthRange && bIsInHeaderHeightRange ) )
			{
			/*document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).style.display = "block";*/
			}
		/* HIDE */ 
		else
			{
			/*alert(m_sCurrentlyOpenMenu); // Team
			alert(bIsInDropDownWidthRange); // true
			alert(bIsInDropDownHeightRange); // false
			alert(bIsInHeaderWidthRange); // true
			alert(bIsInHeaderHeightRange); // false*/

			ChangeOpacity( 'tblDropDownLinksContainer_' + MenuToHide, 100, 0, 200 );
			document.getElementById( 'tblDropDownLinksContainer_' + MenuToHide ).style.display = "none";

			m_sCurrentlyOpenMenu = "";
			}
		}
}

