/*
 * DSMenu
 *
 * Java Script menu control
 *
 *         (C) 2007 by Design:Slider | IT-Solutions Andreas Kintzinger
 *               (andreas dot kintzinger at design-slider dot de)
 */

var DSMenuSubElementToHide = "";
var DSMenuHideTriggerTime = 1000;

/**
 * DSMenu: Show menu sub element
 *
 * @param	id		String	ID of the menu sub element
 * @param	top		Integer	Distance to the top border
 * @param	left	Integer	Distance to the left border
 */
function showMenuSubElement(id, top, left) {
	if (DSMenuSubElementToHide == id) {
		// reset trigger if current element is triggered
		DSMenuSubElementToHide = "";

	} else {
		// hide element currently triggered, otherwise
		hideTriggeredSubElement();
	}

	element = document.getElementById(id);

	if (element == null) {
		alert ("error!");
		return;
	}

	element.className = "DSMenuSubElementVisible";
	element.style.top = top + "px";
	element.style.left = left + "px";
}

/**
 * DSMenu: Hide menu sub element
 *
 * @param	id	String	ID of the menu sub element
 */
function hideMenuSubElement(id) {
	if (document.getElementById(id) == null) {
		alert ("error!");
		return;
	}

	document.getElementById(id).className = "DSMenuSubElementHidden";

	// reset trigger if currently hidden element was trigger to hide
	if (DSMenuSubElementToHide == id) {
		DSMenuSubElementToHide = "";
	}
}

function triggerSubElement(id) {
	DSMenuSubElementToHide = id;

	window.setTimeout("hideTriggeredSubElement()", DSMenuHideTriggerTime);
}

function hideTriggeredSubElement() {
	if (DSMenuSubElementToHide != "") {
		hideMenuSubElement(DSMenuSubElementToHide);
		DSMenuSubElementToHide = "";
	}
}

