
/*
 * $Id: menu.js,v 1.6 2003/08/31 19:34:16 tuner Exp $
 */

var prevMenu;
var hideTimeout;
var showTimeout;
var dropmenu;

var open = false;

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
    }
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
    }
	return curtop;
}

function hide_prevMenu() {
    if (prevMenu) {
        prevMenu.style['visibility'] = 'hidden';
    }
}

function hide_prevMenuUsingTimeout() {
    hide_prevMenu();
    open = false;
}


function set_visible() {
    dropmenu.style['visibility'] = 'visible';
    open = true;
}

function set_menu_position(id) {
    var dropmenu = document.getElementById('dropmenu_' + id);
    var topmenu = document.getElementById('topmenu_' + id);
    if (dropmenu) dropmenu.style['top'] = (findPosY(topmenu) + offsetY) + 'px';
    if (topmenu) dropmenu.style['left'] = (findPosX(topmenu) + offsetX) + 'px';
}


function show_submenu(id) {
    dropmenu = document.getElementById('dropmenu_' + id);

    if (hideTimeout) clearTimeout(hideTimeout);
    hide_prevMenu(); // piilotetaan edellinen menu
    prevMenu = dropmenu;

    set_menu_position(id);

    if (open == true) {
        set_visible();
        clearTimeout(showTimeout);
    } else {
        showTimeout = setTimeout('set_visible()', 200);
    }
}

// clear_hideTimeout
function cht() {
    if (hideTimeout) clearTimeout(hideTimeout);
}

// activate_hideTimeout
function aht() {
    cht();
    hideTimeout = setTimeout('hide_prevMenuUsingTimeout()', 500);
    if (showTimeout) clearTimeout(showTimeout);
}

