//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

var linkset=new Array()
//SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT

//Contents for menu -> room construction
linkset[0]='<div class="menuitems"><a href="TheTrainRoom_Completed.html">completed</a></div>'
linkset[0]+='<div class="menuitems"><a href="TheTrainRoom_Small_Floor_Plan.html">floor plan</a></div>'
linkset[0]+='<div class="menuitems"><a href="TheTrainRoom_UnderConst.html">nearing completion</a></div>'

//Contents for menu -> track design
linkset[1]='<div class="menuitems"><a href="TheTrainRoom_Design_Criteria.html">design criteria</a></div>'
linkset[1]+='<div class="menuitems"><a href="_underconstruction.html">operation</a></div>'
linkset[1]+='<div class="menuitems"><a href="TheTrainRoom_Small_Track_Plan.html">track plan</a></div>'

//Contents for menu -> railroad construction
linkset[2]='<div class="menuitems"><a href="TheTrainRoom_Bench_Work_Frames.html">bench work frames</a></div>'
linkset[2]+='<div class="menuitems"><a href="TheTrainRoom_Diorama.html">simple diorama</a></div>'
linkset[2]+='<div class="menuitems"><a href="_underconstruction.html">scenery</a></div>'
linkset[2]+='<div class="menuitems"><a href="TheTrainRoom_Bench_Work_Top.html">table tops</a></div>'

//Contents for menu -> electronics
linkset[3]='<div class="menuitems"><a href="Electronics_LocoBuffer.html">LocoBuffer</a></div>'
linkset[3]+='<div class="menuitems"><a href="Electronics_LocoIO.html">LocoIO</a></div>'
linkset[3]+='<div class="menuitems"><a href="Electronics_BOD.html">occupancy detection</a></div>'
linkset[3]+='<div class="menuitems"><a href="Electronics_PowerManagement.html">power management</a></div>'
linkset[3]+='<div class="menuitems"><a href="Electronics_Signals.html">signals</a></div>'
linkset[3]+='<div class="menuitems"><a href="Electronics_SPROG.html">SPROG</a></div>'

//Contents for menu -> the fleet
linkset[4]='<div class="menuitems"><a href="TheTrainRoom_Paint_Shop.html">BN E9 resurrection</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Consists.html">consists</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Engines.html">power plants</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Hoppers.html">90 ton hopper cars</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Tank_Cars.html">beer can tank cars</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Box_Cars.html">box cars</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Caboose_Unique.html">caboose & unique cars</a></div>'
linkset[4]+='<div class="menuitems"><a href="TheFleet_Passenger.html">passenger cars</a></div>'

//Contents for menu -> how'd he do that?
linkset[5]='<div class="menuitems"><a href="How_To_Cork_Roadbed.html">cork roadbed installation</a></div>'
linkset[5]+='<div class="menuitems"><a href="How_To_Transfer_Design.html">design to bench</a></div>'
linkset[5]+='<div class="menuitems"><a href="How_To_Resistive_Wheels.html">resistive wheel sets</a></div>'
linkset[5]+='<div class="menuitems"><a href="How_To_Signals.html">signal lights</a></div>'
linkset[5]+='<div class="menuitems"><a href="TheTrainRoom_Construction_Tools.html">tools of the trade</a></div>'

//Contents for menu -> links
linkset[6]='<div class="menuitems"><a href="favorites.html">all my favorites</a></div>'
linkset[6]+='<div class="menuitems"><a href="favorites.html#dcc">digital command control</a></div>'
linkset[6]+='<div class="menuitems"><a href="favorites.html#layout">layout plans, tips &amp; tricks</a></div>'
linkset[6]+='<div class="menuitems"><a href="favorites.html#vendors">vendors &amp; manufacturers</a></div>'
linkset[6]+='<div class="menuitems"><a href="favorites.html#reference">reference</a></div>'


////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){

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 : menuobj

if (ie4||ns6)
menuobj.innerHTML=which
else{
menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 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

//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
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))
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==1)? "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==1)? "mouseoverstyle" : ""
}
}
}
}

if (ie4||ns6)
document.onclick=hidemenu