// JavaScript Document

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 MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function findObj(n, d) 
{
	var p,i,x;  
	if(!d) d=document; 
	if((p=n.indexOf("?"))>0 && parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; 
	for (i=0;!x&&i<d.forms.length;i++) 
		x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
		x=findObj(n,d.layers[i].document);
	if(!x && d.getElementById) 
		x=d.getElementById(n); 
	return x;
}

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 = findObj(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);
}