/***********************************************
* Pop-it menu- c Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function iecompattest()
{
	return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}

function showmenu(e, which, optWidth)
{
	if (!document.all&&!document.getElementById)
		return

	clearhidemenu()

	menuobj=ie5? document.all.popitmenu : document.getElementById("popitmenu")
	menuobj.innerHTML=which
	menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth
	menuobj.contentwidth=menuobj.offsetWidth
	menuobj.contentheight=menuobj.offsetHeight

	// alert( menuobj.contentheight );

	eventX=ie5? event.clientX : e.clientX
	eventY=ie5? event.clientY : e.clientY

	//Find out how close the mouse is to the corner of the window
	var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX
	var bottomedge=ie5? iecompattest().clientHeight-eventY : window.innerHeight-eventY
	//if the horizontal distance isn't enough to accomodate the width of the context menu

	if (rightedge<menuobj.contentwidth) //move the horizontal position of the menu to the left by it's width
		menuobj.style.left=ie5? iecompattest().scrollLeft+eventX-menuobj.contentwidth+"px" : window.pageXOffset+eventX-menuobj.contentwidth+"px"
	else //position the horizontal position of the menu where the mouse was clicked
		menuobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px"

	//alert( "bottomedge:"		+bottomedge )
	//alert( "contentheight:"	+menuobj.contentheight);

	//same concept with the vertical position
	if (bottomedge<menuobj.contentheight)
	{
		if( ie5 )
		{
			if( iecompattest().scrollTop+eventY-menuobj.contentheight > 0 )
				menuobj.style.top=iecompattest().scrollTop+eventY-menuobj.contentheight+"px";
			else
				menuobj.style.top="0px";
		}
		else
		{
			if( window.pageYOffset+eventY-menuobj.contentheight > 0 )
				menuobj.style.top=window.pageYOffset+eventY-menuobj.contentheight+"px";
			else
				menuobj.style.top="0px";
		}
	}
	else
	{
		//alert( "ifie5:"+ie5 );
		if( ie5 )
		{
			//alert( iecompattest().scrollTop );
			//alert( event.clientY );
			if(iecompattest().scrollTop+event.clientY>0)
				menuobj.style.top=iecompattest().scrollTop+event.clientY+"px";
			else
				menuobj.style.top="0px";
		}
		else
		{
		//	if(window.pageYOffset+eventY>0)
		//		menuobj.style.top=window.pageYOffset+eventY+"px";
		//	else
				menuobj.style.top="0px";
		}
	}
	//alert( "top1:" + menuobj.style.top );
	//menuobj.style.top = "0px";
	//alert( "top2:" + menuobj.style.top );

	menuobj.style.visibility="visible"

	return false
}

function contains_ns6(a, b) 
{
	//Determines if 1 element in contained in another- by Brainjar.com
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function hidemenu(){
	if (window.menuobj)
		menuobj.style.visibility="hidden"
}

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

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

function clearhidemenu(){
	if (window.delayhide)
		clearTimeout(delayhide)
}

