// Pop-it menu- By Dynamic Drive
// For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
// This credit MUST stay intact for use

// No need to edit beyond here

var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers

function hideElements(elementTag, visible) {

	for (i=0; i < document.all.tags(elementTag).length; i++){
		obj = document.all.tags(elementTag)[i];
		if (!obj || !obj.offsetParent) continue;
		obj.style.visibility = visible;
	}
}

function showmenu(e,which,caller, yOffset) {

	if (!document.all&&!document.getElementById&&!document.layers)
		return

	hideElements('SELECT', 'hidden');
	clearhidemenu()

	menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
	menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj

	if (ie4||ns6)
		menuobj.innerHTML=which
	else{
		menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
		menuobj.document.close()
	}

	menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
	menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
	eventX=ie4? event.clientX : ns6? e.clientX : e.x
	eventY=ie4? event.clientY : ns6? e.clientY : e.y

	//Find out how close the mouse is to the corner of the window
	var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
	var bottomedge=ie4? document.body.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.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
	else
		//position the horizontal position of the menu where the mouse was clicked
		//menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX
		tip = document.getElementById(caller);
		ox = 0;
		el = tip;
		while(el) {
		    ox += el.offsetLeft;
		    el = el.offsetParent;
		}
		menuobj.thestyle.left=ox
		
	//same concept with the vertical position
	if (bottomedge<menuobj.contentheight)
		menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
	else
		//menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
		tip = document.getElementById(caller);
		if (yOffset)
			oy = yOffset;
		else
			oy = 20;
		e1 = tip;
		while(e1) {
			oy += e1.offsetTop;
			e1 = e1.offsetParent;
		}
		menuobj.thestyle.top=oy
		menuobj.thestyle.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.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
			hideElements('SELECT', 'visible');
	}
		

	function dynamichide(e){

		if (ie4&&!menuobj.contains(e.toElement))
			hidemenu()
		else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
			hidemenu()
	}

	function delayhidemenu(){
		
		if (ie4||ns6||ns4)
			delayhide=setTimeout("hidemenu()",500)
	}

	function clearhidemenu(){

		if (window.delayhide)
			clearTimeout(delayhide)
	}

	function highlightmenu(e,state){

		if (document.all)
			source_el=event.srcElement
		else if (document.getElementById)
			source_el=e.target
		if (source_el.className=="menuitems"){
			source_el.id=(state=="on")? "mouseoverstyle" : ""
		}
		else{
			while(source_el.id!="popmenu"){
				source_el=document.getElementById? source_el.parentNode : source_el.parentElement
				if (source_el.className=="menuitems"){
					source_el.id=(state=="on")? "mouseoverstyle" : ""
				}
			}
		}
	}

	if (ie4||ns6)
		document.onclick=hidemenu

