// JavaScript Document

var timeout = 500;
var closetimer = 0;
var menu_item = 0;
var selected_menu = 0;


// Toggles Tables for Viewing
function toggle(hidden_element)
{
	if(document.getElementById(hidden_element).style.display=='none' )
		document.getElementById(hidden_element).style.display = '';
	else
		document.getElementById(hidden_element).style.display = 'none';
}	

// Changes Image Based on Input
function changeImage(path, id)
{
	var image = document.getElementById(id);
	image.src = path;
}

// Displays the Sub-Menu
function show_sub_menu(menuY, menuX, sub_menu, fade)
{
	
	// Leave Timer Going
	mcancelclosetime();

	// Close Other Submenu
	if(menu_item) menu_item.style.visibility = 'hidden';
	if(selected_menu) set_hover_font(selected_menu);
	
	// Display Submenu
	var positionY = findPos(document.getElementById(menuY));
	var positionX = findPos(document.getElementById(menuX));
	menu_item = document.getElementById(sub_menu);
	menu_item.style.left = positionX[0] - 0 + 'px';
	menu_item.style.top = positionY[1] + 25 + 'px';
	menu_item.style.visibility = 'visible';
	
	// Fade In if True
	if(fade)
	{
		changeOpac(0, sub_menu);
		opacity(sub_menu, 0, 100, 400);
	}
}

// Hides the Sub-Menu
function hide_sub()
{			 
	if(menu_item)
	{
		menu_item.style.visibility = 'hidden';
		menu_item.style.left = 0 + 'px';
		menu_item.style.top = 0 + 'px';
	}
	//if(selected_menu) set_hover_font(selected_menu);
}	

// Close Timer
function mclosetime()
{
	closetimer = window.setTimeout(hide_sub, timeout);
}

// Don't Close Timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// Returns the Position of the Object
function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function set_hover_font(menu_hover)
{
	menu_hover.style.background = '#00003A';
	menu_hover.style.color = '#FFFFFF';
	
}


function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

// close layer when click-out
document.onclick = hide_sub; 