
var disappeardelay = 500;  // Menu disappear speed onMouseout (in miliseconds)
var enableanchorlink = 0;  // Enable or disable the anchor link when clicked on? (1=e, 0=d)
var hidemenu_onclick = 0;  // Hide menu when user clicks within menu? (1=yes, 0=no)

//

var ie5 = document.all;
var ns6 = document.getElementById&&!document.all;

function getposOffset(what, offsettype){
	var totaloffset = (offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl = what.offsetParent;
	while (parentEl!=null){
		totaloffset = (offsettype == "left") ? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function showhide(obj, e, visible, hidden){
	if (ie5||ns6) dropmenuobj.style.left = dropmenuobj.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 iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat") ? document.documentElement : document.body;
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=0
	if (whichedge=="rightedge"){
		var windowedge=ie5 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;

	} else {
		var topedge=ie5 && !window.opera ? iecompattest().scrollTop : window.pageYOffset;
		var windowedge=ie5 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
			if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
		}
	}
	return edgeoffset;
}

function dropdownmenu(obj, e, dropmenuID){
	if(!GLOBALSTART) return;
	if (window.event) event.cancelBubble=true;
		else if (e.stopPropagation) e.stopPropagation();
	//hide previous menu
	if (typeof dropmenuobj != 'undefined') dropmenuobj.style.visibility = 'hidden';
	clearhidemenu();
	if (ie5||ns6){
		obj.onmouseout=delayhidemenu;
		dropmenuobj=document.getElementById(dropmenuID)
		if (hidemenu_onclick) dropmenuobj.onclick=function(){dropmenuobj.style.visibility='hidden'}
		dropmenuobj.onmouseover=clearhidemenu
		dropmenuobj.onmouseout=ie5? function(){ dynamichide(event)} : function(event){ dynamichide(event)}
		showhide(dropmenuobj.style, e, "visible", "hidden");
		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge") + "px";
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
	}
	return clickreturnvalue();
}

var JLn_Pre_DM_Element;
var JLn_Pre_DM_Out;
var JLn_Object_DM = new Object();
function JLn_dropdownmenu(obj, e, dropmenuID, lnk){
	if(!GLOBALSTART) return;
	if(JLn_Object_DM[dropmenuID] == undefined) JLn_Object_DM[dropmenuID] = (parseInt(find_Computed(document.getElementById(dropmenuID), 'left')));
	var adjLeft = JLn_Object_DM[dropmenuID];
	if(!adjLeft) adjLeft = 0;
	if(!JLn_Pre_DM_Element) JLn_Pre_DM_Element = obj;
	if(!JLn_Pre_DM_Out) JLn_Pre_DM_Out = lnk;
	if (window.event) event.cancelBubble=true;
		else if (e.stopPropagation) e.stopPropagation();
	//hide previous menu
	if (typeof dropmenuobj != 'undefined') {
		dropmenuobj.style.visibility = 'hidden';
		if(JLn_Pre_DM_Element && JLn_Pre_DM_Out) Lk_onMouseout(JLn_Pre_DM_Element, JLn_Pre_DM_Out);
	}
	clearhidemenu();
	if (ie5||ns6){
		obj.onmouseout=delayhidemenu;
		dropmenuobj=document.getElementById(dropmenuID)
		JLn_Pre_DM_Element = obj;
		JLn_Pre_DM_Out = lnk;
		Lk_onMouseover(obj, lnk);
		if (hidemenu_onclick) dropmenuobj.onclick=function(){dropmenuobj.style.visibility='hidden'}
		dropmenuobj.onmouseover=clearhidemenu
		dropmenuobj.onmouseout=ie5? function(){ dynamichide(event)} : function(event){ dynamichide(event)}
		showhide(dropmenuobj.style, e, "visible", "hidden");
		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge") + adjLeft + "px";
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
	}
	return clickreturnvalue();
}

function clickreturnvalue(){
	if ((ie5||ns6) && !enableanchorlink) return false;
		else return true;
}

function contains_ns6(a, b) {
	while (b.parentNode)
	if ((b = b.parentNode) == a) return true;
	return false;
}

function dynamichide(e){
	if (ie5&&!dropmenuobj.contains(e.toElement)) delayhidemenu();
		else if (ns6&&e.currentTarget != e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget)) delayhidemenu();
}

function delayhidemenu(){
	delayhide=setTimeout("dropmenuobj.style.visibility='hidden'; if(JLn_Pre_DM_Element && JLn_Pre_DM_Out) Lk_onMouseout(JLn_Pre_DM_Element, JLn_Pre_DM_Out)",disappeardelay)
}

function clearhidemenu(){
	if (typeof delayhide != "undefined") clearTimeout(delayhide);
}
