var defaultMenuWidth='165px';
var defaultMenuBackgroundColor='white';
var defaultDisappearDelay=250;
var defaultHideMenuOnClick="yes";
var disappear;
var dropX;
var dropY;
var height;
var width;
document.onmousemove=checkMouseXY;
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+defaultMenuWidth+';background-color:'+defaultMenuBackgroundColor+';" onMouseover="clearhidemenu()"></div>')

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,defaultMenuWidth)
{
	dropmenuobj.style.left=dropmenuobj.style.top="-500px";
	if(defaultMenuWidth!="")
	{
		dropmenuobj.widthobj=dropmenuobj.style;
		dropmenuobj.widthobj.width=defaultMenuWidth;
	}
	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=!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=!window.opera?iecompattest().scrollTop:window.pageYOffset;
		var windowedge=!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 DhtmlDropDownMenu(obj,e,menucontents,defaultMenuWidth,xoffset,yoffset,disappearOnMouseOut)
{
	disappear=disappearOnMouseOut;
	if(!xoffset)xoffset=0;
	if(!yoffset)yoffset=0;
	if(window.event)event.cancelBubble=true;
	else if(e.stopPropagation)e.stopPropagation();
	clearhidemenu();
	dropmenuobj=document.getElementById?document.getElementById("dropmenudiv"):dropmenudiv;
	dropmenuobj.innerHTML=menucontents;
	showhide(dropmenuobj.style,e,"visible","hidden",defaultMenuWidth);
	dropmenuobj.x=getposOffset(obj,"left")+xoffset;
	dropmenuobj.y=getposOffset(obj,"top")+yoffset;
	dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj,"rightedge")+"px";
	dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj,"bottomedge")+obj.offsetHeight+"px";
	dropX=dropmenuobj.x;
	dropY=dropmenuobj.y;
	height=dropmenuobj.clientHeight;
	width=defaultMenuWidth.replace(/[px]/gi,'');
	if(defaultHideMenuOnClick=="yes"){document.onclick=hidemenu;}
	return clickreturnvalue();
}

function checkMouseXY(e)
{
	if(disappear=="True")
	{
		getMouseXY(e);
		if(dropX)
		{
			if(mouseX<(dropX-10)||mouseX>(parseInt(dropX,10)+parseInt(width,10)+20)){hidemenu(e);}
			if(mouseY<dropY||mouseY>(parseInt(dropY,10)+parseInt(height,10)+20)){hidemenu(e);}
		}
	}
}

function getMouseXY(e)
{
	ie=document.all?true:false
	if(ie)
	{
		mouseX=event.clientX+document.body.scrollLeft;
		mouseY=event.clientY+document.body.scrollTop;
	}
	else
	{
		mouseX=e.pageX;
		mouseY=e.pageY;
	}
	if(mouseX<0){mouseX=0;}
	if(mouseY<0){mouseY=0;}
	return true;
}

function clickreturnvalue(){return false;}

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

function dynamichide(e){delayhidemenu();}

function hidemenu(e){if(typeof dropmenuobj!="undefined"){dropmenuobj.style.visibility="hidden"}}

function delayhidemenu(){delayhide=setTimeout("hidemenu()",defaultDisappearDelay)}

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

function popUp(string){alert(string);}

var fieldHelpTimeoutID;var selectedFieldHelpID;

function preserveFieldHelp(){if(fieldHelpTimeoutID){window.clearTimeout(fieldHelpTimeoutID);}fieldHelpTimeoutID=null;}

function hideFieldHelp(divID){selectedFieldHelpID=divID;fieldHelpTimeoutID=window.setTimeout('hideSpecificFieldHelp();',200);}

function hideSpecificFieldHelp(divID)
{
	var div=document.getElementById(selectedFieldHelpID);
	if(div)
	{
		div.style.display='none';
		selectedFieldHelpID=null;
	}
}

function showFieldHelp(divID,attachToObjectID,helpImageID)
{
	divs=document.getElementsByTagName("div");
	for(i=0;i<divs.length;i++)
	{
		var div=divs[i];
		if('fieldHelp'==div.className)
		{
			if(divID==div.id)
			{
				if('inline'==div.style.display){div.style.display='none';}
				else
				{
					var top=20;
					var left=0;
					var maxWidth=300;
					var widthAdjust=0;
					var rightObject=document.getElementById(helpImageID);
					var leftObject=document.getElementById(attachToObjectID);
					var width;
					div.style.width='300px';
					setRelativeLocation(leftObject,div,0,leftObject.offsetHeight);
					div.style.display='inline';
				}
			}
			else{div.style.display='none';}
		}
	}
}

function setRelativeLocation(relativeToObject,element,offsetLeft,offsetTop)
{
	var newX=findPosX(relativeToObject);
	var newY=findPosY(relativeToObject);
	element.style.top=(newY+offsetTop)+'px';
	element.style.left=(newX+offsetLeft)+'px';
}

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;
}

