// This code is copyright 2002 Hazel Street Productions
// It is based on source from Dynamic Drive's Pop-it menu, but
// includes significant enhancements made by Hazel Street Productions.

//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 is.ie4up=document.all&&navigator.userAgent.indexOf("Opera")==-1
//    var is.nav6=document.getElementById&&!document.all
//    var is.nav4=document.layers

function DD_showmenu (evt,which){

//test browser type       if (!document.all&&!document.getElementById&&!document.layers)
//          return

    clearhidemenu()

    menuobj=is.ie4up? document.all.popitmenu : is.nav6? document.getElementById("popitmenu") : is.nav4? document.popitmenu : ""
    menuobj.thestyle=(is.ie4up||is.nav6)? menuobj.style : menuobj

    if (is.ie4up||is.nav6)
       menuobj.innerHTML=which
    else {
       menuobj.document.write('<layer name=gui bgColor=#E6E6E6 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
       menuobj.document.close()
    }

    menuobj.contentwidth = (is.ie4up||is.nav6) ? menuobj.offsetWidth  : menuobj.document.gui.document.width
    menuobj.contentheight= (is.ie4up||is.nav6) ? menuobj.offsetHeight : menuobj.document.gui.document.height
    eventX=is.ie4up ? event.clientX : is.nav6 ? evt.clientX : evt.x
    eventY=is.ie4up ? event.clientY : is.nav6 ? evt.clientY : evt.y

    //Find out how close the mouse is to the corner of the window
    var rightedge=is.ie4up? document.body.clientWidth-eventX : window.innerWidth-eventX
    var bottomedge=is.ie4up? 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=is.ie4up? document.body.scrollLeft+eventX-menuobj.contentwidth : is.nav6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
    else
       //position the horizontal position of the menu where the mouse was clicked
       menuobj.thestyle.left=is.ie4up? document.body.scrollLeft+eventX : is.nav6? window.pageXOffset+eventX : eventX

    //same concept with the vertical position
    if (bottomedge<menuobj.contentheight)
       menuobj.thestyle.top=is.ie4up? document.body.scrollTop+eventY-menuobj.contentheight : is.nav6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
    else
       menuobj.thestyle.top=is.ie4up? document.body.scrollTop+event.clientY : is.nav6? window.pageYOffset+eventY : eventY
    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=(is.ie4up||is.nav6)? "hidden" : "hide"
}

function dynamichide(evt){
    if (is.ie4up&&!menuobj.contains(evt.toElement))
       hidemenu()
    else if (is.nav6&&evt.currentTarget!= evt.relatedTarget&& !contains_ns6(evt.currentTarget, evt.relatedTarget))
       hidemenu()
}

function delayhidemenu(){
    if (is.ie4up||is.nav6||is.nav4)
       delayhide=setTimeout("hidemenu()",300)
}

function clearhidemenu(){
    if (window.delayhide)
       clearTimeout(delayhide)
}

function highlightmenu(evt,state){
    if (document.all)
       source_el=event.srcElement
    else if (document.getElementById)
       source_el=evt.target
    if (source_el.className=="menuitems") {
       source_el.id=(state=="on")? "mouseoverstyle" : ""
    } else {
       while (source_el.id!="popitmenu") {
          source_el=document.getElementById? source_el.parentNode : source_el.parentElement
          if (source_el.className=="menuitems") {
             source_el.id=(state=="on")? "mouseoverstyle" : ""
          }
       }
    }
}

if (is.ie4up||is.nav6)
   document.onclick=hidemenu

