

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

/*----------------------------------------------------------------------------*/
/* Display the main menu                                                      */
/*----------------------------------------------------------------------------*/
function showmenu(e,which){

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

clearhidemenu()

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

if (ie4||ns6)
menuobj.innerHTML=which
else{
menuobj.document.write('<layer name=gui bgColor=#0022ee width=150 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 (with 50 pixels overlap) */

if (rightedge+50<menuobj.contentwidth)

/* move the horizontal position of the menu to the left by it's width (minus 50) */

menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth+50 : eventX-menuobj.contentwidth+50
else

/* position the horizontal position of the menu where the mouse was clicked */
/* with an overlap of 50 pixels */

menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX-50 : eventX-50

/* same concept with the vertical position */

if (bottomedge+50<menuobj.contentheight)
menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight+30 : eventY-menuobj.contentheight+30
else 
menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY-50 :  ns4? eventY-50 : eventY-50

/* now pop up the menu */
menuobj.thestyle.visibility="visible"
return false
}
/*----------------------- end showmenu----------------------------------------*/


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))
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" : ""
}
}
}
}

/*----------------------------------------------------------------------------*/
/* Pretty much the same, but allow for modifications in submenus              */
/*----------------------------------------------------------------------------*/
function showsubmenu(e,which){

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

clearhidesubmenu()

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

if (ie4||ns6)
submenuobj.innerHTML=which
else{
submenuobj.document.write('<layer name=gui bgColor=#0022ee width=150 onmouseover="clearhidesubmenu()" onmouseout="hidesubmenu()">'+which+'</layer>')
submenuobj.document.close()
}

submenuobj.contentwidth=(ie4||ns6)? submenuobj.offsetWidth : submenuobj.document.gui.document.width
submenuobj.contentheight=(ie4||ns6)? submenuobj.offsetHeight : submenuobj.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 submenu (with 10 pixels overlap) */

if (rightedge+10<submenuobj.contentwidth)

/* move the horizontal position of the submenu to the left by it's width (minus 10) */

submenuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-submenuobj.contentwidth : ns6? window.pageXOffset+eventX-submenuobj.contentwidth+10 : eventX-submenuobj.contentwidth+10
else

/* position the horizontal position of the submenu where the mouse was clicked */
/* with an overlap of 10 pixels */

submenuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX-10 : eventX-10

/* same concept with the vertical position */

if (bottomedge+50<submenuobj.contentheight)
submenuobj.thestyle.top=ie4? document.body.scrollTop+eventY-submenuobj.contentheight : ns6? window.pageYOffset+eventY-submenuobj.contentheight+30 : eventY-submenuobj.contentheight+30
else 
submenuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY-50 :  ns4? eventY-50 : eventY-50

/* now pop up the submenu */
submenuobj.thestyle.visibility="visible"
return false
}
/*----------------------- end showsubmenu-------------------------------------*/


function hidesubmenu(){
if (window.submenuobj)
submenuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function dynamichide(e){
if (ie4&&!submenuobj.contains(e.toElement))
hidesubmenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidesubmenu()
}

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

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

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


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