// JavaScript Document

var timeout = 500;
var closetimer = 0;
var menu_item = 0;

function show_example(id, location)
{
	// Define Position
	var obj2 = document.getElementById(location);
	var position = findPos(obj2);	
	
	// Leave Timer Going
	mcancelclosetime();

	// Close Other Submenu
	if(menu_item) menu_item.style.visibility = 'hidden';
	
	// Set position and display
	menu_item = document.getElementById(id);
	menu_item.style.left = position[0] + 0 + 'px';
	menu_item.style.top = position[1] + 'px';
	changeOpac(0, id);
	menu_item.style.display = 'block';
	menu_item.style.visibility = 'visible';
	opacity(id, 0, 100, 500);	 
}

function hide_example(id)
{
	var obj1 = document.getElementById(id);
	obj1.style.display = 'none';
	obj1.style.visibility = 'hidden';
}

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 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 + ")";
}

// Hides the Sub-Menu
function hide_sub()
{			 
	if(menu_item)
	{
		menu_item.style.visibility = 'hidden';
	}
}	

// Close Timer
function mclosetime()
{
	closetimer = window.setTimeout(hide_sub, timeout);
}

// Don't Close Timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = hide_sub; 