// Global variables (a necessary evil)
var display_url=0  // 1 = Show item link in status bar
var rightClickMenuState = 0;
var explosionState = 0;

var ie5=document.all&&document.getElementById
var ns6=document.getElementById&&!document.all
if (ie5||ns6)
{
   var rightClickMenuObj=document.getElementById("rightClickMenu")
   var explosionObj=document.getElementById("explosion")
}

function showmenu(e)
{
   var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
   var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY

   if (rightedge<rightClickMenuObj.offsetWidth)
   {
      rightClickMenuObj.style.left=ie5? document.body.scrollLeft+event.clientX-rightClickMenuObj.offsetWidth : window.pageXOffset+e.clientX-rightClickMenuObj.offsetWidth
   }
   else
   {
      rightClickMenuObj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
   }

   if (bottomedge<rightClickMenuObj.offsetHeight)
   {
      rightClickMenuObj.style.top=ie5? document.body.scrollTop+event.clientY-rightClickMenuObj.offsetHeight : window.pageYOffset+e.clientY-rightClickMenuObj.offsetHeight
   }
   else
   {
      rightClickMenuObj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
   }

   rightClickMenuState = 1
   rightClickMenuObj.style.visibility="visible"
   return false
}

function hidemenu(e)
{
   rightClickMenuObj.style.visibility="hidden"
   rightClickMenuState = 0
}

function highlightmenuitem(e)
{
   var firingobj=ie5? event.srcElement : e.target
   if (firingobj.className=="rightmenuitems"||ns6&&firingobj.parentNode.className=="rightmenuitems")
   {
      if (ns6&&firingobj.parentNode.className=="rightmenuitems")
      {
         firingobj=firingobj.parentNode
      }

      firingobj.style.backgroundColor="highlight"
      firingobj.style.color="white"

      if (display_url==1)
      {
         window.status=event.srcElement.title
      }
   }
}

function lowlightmenuitem(e)
{
   var firingobj=ie5? event.srcElement : e.target
   if (firingobj.className=="rightmenuitems"||ns6&&firingobj.parentNode.className=="rightmenuitems")
   {
      if (ns6&&firingobj.parentNode.className=="rightmenuitems")
      {
         firingobj=firingobj.parentNode
      }
      firingobj.style.backgroundColor=""
      firingobj.style.color="black"
      window.status=''
   }
}

function jumptomenuitem(e)
{
   var firingobj=ie5? event.srcElement : e.target
   if (firingobj.className=="rightmenuitems"||ns6&&firingobj.parentNode.className=="rightmenuitems")
   {
      if (ns6&&firingobj.parentNode.className=="rightmenuitems")
      {
         firingobj=firingobj.parentNode
      }
      if (firingobj.getAttribute("target"))
      {
         window.open(firingobj.getAttribute("title"),firingobj.getAttribute("target"))
      }
      else
      {
         window.location=firingobj.getAttribute("title")
      }
   }
}

function showexplosion(e)
{
   var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
   var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY

   if (rightedge<explosionObj.offsetWidth)
   {
      explosionObj.style.left=ie5? document.body.scrollLeft+event.clientX-explosionObj.offsetWidth-17 : window.pageXOffset+e.clientX-explosionObj.offsetWidth-17
   }
   else
   {
      explosionObj.style.left=ie5? document.body.scrollLeft+event.clientX-17 : window.pageXOffset+e.clientX-17
   }

   if (bottomedge<explosionObj.offsetHeight)
   {
      explosionObj.style.top=ie5? document.body.scrollTop+event.clientY-explosionObj.offsetHeight-9 : window.pageYOffset+e.clientY-explosionObj.offsetHeight-9
   }
   else
   {
      explosionObj.style.top=ie5? document.body.scrollTop+event.clientY-9 : window.pageYOffset+e.clientY-9
   }

   explosionState = 1
   explosionObj.style.visibility="visible"
   document.images.explosionImage.src="/pix/explosion1.gif"
   document.explodeSound.play()

   return false
}

function hideexplosion(e)
{
   explosionObj.style.visibility="hidden"
   explosionState = 0
}

function explosionTrigger(e)
{
   if(explosionState == 0)
   {
      showexplosion(e)
      setTimeout('hideexplosion(' + e + ')',1000)
   }
}

function oncontextmenuhandler(e)
{
      showmenu(e)
      return false
}

function onclickhandler(e)
{
   if(explosionState == 0 && rightClickMenuState == 0)
   {
      explosionTrigger(e)
   }

   if(rightClickMenuState == 1)
   {
      hidemenu(e)
   }
}

if (ie5||ns6)
{
   rightClickMenuObj.style.display=''
   document.oncontextmenu=oncontextmenuhandler
   document.onclick=onclickhandler
}
