
/***********************************************
* Pop-it menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var defaultMenuWidth="145px"

var linkset=new Array()
linkset[0] = ''

hiddel_id = 1;

var ie4=document.all
var ie5=document.all && !window.opera
var ns6=document.getElementById

var openMenus = new Array();
var needToClose = new Array();
var timers = new Array();

/*if (ie5||ns6)
document.write('<div id="popitmenu" onMouseover="clearhidemenu();" onMouseout="dynamichide(event)"></div>')*/

function iecompattest(){
return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}

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 showmenu(obj, e, which, father, optWidth){
if(which == false && which =="")
	return;
if (!document.all&&!document.getElementById)
	return

clearhidemenu(which)
	
for (var i = 0; openMenus.length > i; i++)
{
	if(openMenus[i] == which)
		return;
}
menuobj=document.getElementById(which)

menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth
menuobj.contentwidth=menuobj.offsetWidth
menuobj.contentheight=menuobj.offsetHeight
eventX=getposOffset(obj, "left");
menuobj.style.left = (eventX) + "px";
eventY=getposOffset(obj, "top");
menuobj.style.top = (eventY-7) + "px";
if(father == '')
{
	menuobj.style.left = (eventX) + (-145 + obj.offsetWidth)/2 + "px";
	menuobj.style.top = (eventY + 30) + "px";
}

if(menuobj.innerHTML != "" && menuobj.innerHTML != "\n")
{
	menuobj.style.display="";
}

while(openMenus.length > 0 && openMenus[openMenus.length-1] != father)
{
	hidemenu(openMenus[openMenus.length-1]);
}

openMenus.push(which);

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(which){
if(openMenus == null ||openMenus.length == 0)
	return;
//alert("which:" + which + "\nopenMenus: " + openMenus + "\nneedToClose:" + needToClose);
if(which != openMenus[openMenus.length-1])
{
	needToClose.push(which);
	return;
}
openMenus.pop();
menuobj=document.getElementById(which)
menuobj.style.display="none"
if(needToClose != null && needToClose.length > 0)
	delayhidemenu(needToClose.pop())
}

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

function delayhidemenu(which){
/*hiddel_id++;
if(hiddel_id > 100)
hiddel_id = 1;*/
timers[which]=setTimeout("hidemenu('"+which+"')",500)
}

function clearhidemenu(which){
if (timers[which])
clearTimeout(timers[which])
}

function hideallmenu(){
while (openMenus.length > 0)
{
	menuobj=document.getElementById(openMenus.pop())
	menuobj.style.display="none"
}
}

if (ie5||ns6)
document.onclick=hideallmenu
