//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 showmenu(e, which, menu_left, menu_top, menu_left_offset, site_width) {

	if (!document.all&&!document.getElementById&&!document.layers || !which)
	return;

	if (menu_left_offset) {
		//determine left menu position based on browser width, since site floats in center of screen
		var browser_width = ie4 ? document.body.clientWidth : window.innerWidth;
		var menu_left = Math.round(((browser_width - site_width)/2) + menu_left);
	}
	
	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 = '';
		menuobj.innerHTML = which;
	} else {
		menuobj.document.write('<layer name="gui" bgColor="#E6E6E6" width="225" 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;
	}
	if (menu_left) { menuobj.thestyle.left = menu_left; }
	
	//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;
	}
	if (menu_top) { menuobj.thestyle.top = menu_top; }
	
	
	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";
	}
}

function dynamichide(e){
	if (ie4&&!menuobj.contains(e.toElement)) {
		hidemenu();
	}
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
		delayhidemenu();
	}
}

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;
}
