/*Menu Scripts*/

var delayHideTimeout = 350;									// Number of miliseconds to delay hiding the menu
var hide_OnClick = true; 									// hide menu when user clicks within menu? (1=yes, 0=no)

var is_IE5 = document.all;
var is_NS6 = (document.getElementById && !document.all);

function getposOffset(element, type)
{
	var total_offset = (type == "left") ? element.offsetLeft : element.offsetTop;
	var e_parent = element.offsetParent;
	while (e_parent != null){
		total_offset = (type == "left") ? 
			total_offset + e_parent.offsetLeft : 
			total_offset + e_parent.offsetTop;
		e_parent = e_parent.offsetParent;
	}
	return total_offset;
}

function Show_Hide(obj, e, visible, hidden){
	if (is_IE5 || is_NS6)
		ddm_obj.style.left=ddm_obj.style.top=-500;
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility = visible;
	else if (e.type=="click")
		obj.visibility = hidden;
}

function IE_CompatTest()
{
	return (document.compatMode && document.compatMode != "BackCompat") ? 
		document.documentElement : 
		document.body;
}

function ClearEdge_Offset(obj, edge_ToClear)
{
	var offset_value = 0;
	if (edge_ToClear == "rightedge")
	{
		var window_edge = (is_IE5 && !window.opera) ? 
			IE_CompatTest().scrollLeft + IE_CompatTest().clientWidth-15 : 
			window.pageXOffset+window.innerWidth-15;
			
		ddm_obj.contentmeasure=ddm_obj.offsetWidth;
		if (window_edge - ddm_obj.x < ddm_obj.contentmeasure)
			offset_value = ddm_obj.contentmeasure - obj.offsetWidth;
	}
	return offset_value;
}

function DropDown_Menu(obj, e, menuID, enable_link)
{	
	if (window.event) event.cancelBubble = true;
	else if (e.stopPropagation) e.stopPropagation();
	// Hide the last displayed menu
	if (typeof(ddm_obj) != "undefined") 
		ddm_obj.style.visibility="hidden";
	HideMenu_Clear();
	
	if (is_IE5 || is_NS6)
	{
		// Set the Mouseout event handler
		obj.onmouseout = HideMenu_Delay;
		ddm_obj = fo(menuID);
		if (hide_OnClick) 
		ddm_obj.onclick = function(){ ddm_obj.style.visibility='hidden'; };
		ddm_obj.onmouseover = HideMenu_Clear;
		ddm_obj.onmouseout = is_IE5 ? function(){ HideMenu(event)} : function(event) { HideMenu(event)};
		Show_Hide(ddm_obj.style, e, "visible", "hidden");
		ddm_obj.x=getposOffset(obj, "left");
		ddm_obj.y=getposOffset(obj, "top");
		ddm_obj.style.left=ddm_obj.x - ClearEdge_Offset(obj, "rightedge") + "px";
		ddm_obj.style.top=ddm_obj.y - ClearEdge_Offset(obj, "bottomedge") + obj.offsetHeight+"px";
	}
	return Click_ReturnValue(enable_link);
}

function Click_ReturnValue(enable_link)
{
	if ((is_IE5 || is_NS6) && !enable_link) return false;
	else return true;
}

function contains_NS6(a, b) 
{
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function HideMenu(e){
	if (is_IE5 && !ddm_obj.contains(e.toElement))
		HideMenu_Delay();
	else if (is_NS6 && e.currentTarget!= e.relatedTarget && !contains_NS6(e.currentTarget, e.relatedTarget))
		HideMenu_Delay();
}

function HideMenu_Delay(){
	delayhide = setTimeout("ddm_obj.style.visibility='hidden'", delayHideTimeout);
}

function HideMenu_Clear(){
	if (typeof(delayhide) != "undefined")
		clearTimeout(delayhide);
}