Long javascript question

Hey all. I’m working on a project, and am having a hard time figuring out an issue.

Basically, I’ve got some code that enables me to have a scrolling block of text embedded in the middle of my page, that scrolls on a mouseover of a buton.

It works fine, except when I add a particular <div> elsewhere in the page, at which point, in Firefox, the buttons stop functioning (though they still work in IE7).

First, a summary of the <div> structure of the page, along with javascript:



<body>
<div id="master">
    <div id="contactinfo"></div>  // THIS IS THE OFFENDING DIV
    <div id="header"></div>
    <div id="header_menu"></div>
    <div id="main">
    <script type="text/javascript">
        iens6=document.all||document.getElementById
        ns4=document.layers
        
        //Handles Internet Explorer 5.5-6 -- doesn't use .PNG for border
        version=0
        if (navigator.appVersion.indexOf("MSIE")!=-1){
          temp=navigator.appVersion.split("MSIE")
          version=parseFloat(temp[1])
        }

        if (version>=5.5 && version<7.0) //NON IE browser will return 0
        {
          //specify speed of scroll (greater=faster)
          var speed=2
          if (iens6){
            document.write('<div id="container" style="position:relative;top:40px;left:30px;width:445px;height:289px;z-index:-2;border:2px solid #CCC;overflow:hidden">')
            document.write('<div id="content" style="position:absolute;width:440px;height:289px;left:0;top:0;padding-top:13px;z-index:-10">')
          }
        } else {
          //specify speed of scroll (greater=faster)
          var speed=2
          if (iens6){
            document.write('<div id="container" style="position:relative;top:40px;left:30px;width:445px;height:289px;z-index:0-2;border:none;overflow:hidden"><img src="images/main_border.png">')
            document.write('<div id="content" style="position:absolute;width:440px;height:989px;left:0;top:0;padding-top:13px;z-index:-10">')
          }
        }
    </script>

        <ilayer name="nscontainer">
        <layer name="nscontent">
            <!-- SCROLLABLE CONTENT GOES HERE -->
        </layer>
        </ilayer>

    <script language="JavaScript1.2">
        if (iens6)
        document.write('</div></div>')
    </script>

        <div id="buttons">
            <a href="#" onMouseover="moveup()" onmouseout="clearTimeout(moveupvar)"><img src="uparrow.jpg"></a>
            <a href="#" onMouseover="movedown()" onMouseout="clearTimeout(movedownvar)"><img src="downarrow.jpg"></a>
        </div>

        <script language="JavaScript1.2">
          if (iens6){
            var crossobj=document.getElementById? document.getElementById("content") : document.all.content
var contentheight=crossobj.offsetHeight
          } else if (ns4){
            var crossobj=document.nscontainer.document.nscontent
var contentheight=crossobj.clip.height
          }

          function movedown(){
            if (iens6&&parseInt(crossobj.style.top)>=(contentheight*(-1)+100))
              crossobj.style.top=parseInt(crossobj.style.top)-speed+"px"
            else if (ns4&&crossobj.top>=(contentheight*(-1)+100))
              crossobj.top-=speed
              movedownvar=setTimeout("movedown()",20)
          }

          function moveup(){
            if (iens6&&parseInt(crossobj.style.top)<=0)
              crossobj.style.top=parseInt(crossobj.style.top)+speed+"px"
            else if (ns4&&crossobj.top<=0)
              crossobj.top+=speed
              moveupvar=setTimeout("moveup()",20)

          }

          function getcontent_height(){
            if (iens6)
              contentheight=crossobj.offsetHeight
            else if (ns4)
              document.nscontainer.document.nscontent.visibility="show"
          }
          window.onload=getcontent_height
        </script>


As you can (hopefully) see, there’s a bunch of javascript that does the following:

[list]
[li]Identifies the browser; if it’s IE 5.5/6, it draws two <div>s to hold the scrolling content, using div borders; if it’s not those browsers, it draws the same <div>s but uses a PNG image for the border[/li][li]Grabs the <div> id’d as “content” (or the layer “nscontent”), gets the height of said container (window.onload), and uses it in the functions used to scroll the text up and down.[/li]
It worked fine, until I added the <div> with the red comment.

I’m really not sure at all what the div is doing to disrupt the code; it’s set pretty much out of the flow of everything else.

If I move the <div> above the <div id=“master”> div, it works as well, but gives me another whole mess of formatting problems.

I’m expecting this to sink like a rock, but if anyone who codes has a bout of insomnia tonight and feels like tackling this, it’d be much appreciated.

Oh, the page I’m working on can be found here.

Your contactinfo div has a z-index of 100, putting it (including, apparently, its 547px top margin) in front of the other elements on the page, so the mouseover events don’t reach the buttons.

[QUOTE=Sxyzzx]
Your contactinfo div has a z-index of 100, putting it (including, apparently, its 547px top margin) in front of the other elements on the page, so the mouseover events don’t reach the buttons.
[/QUOTE]

Thanks! My brain had hit a problem-solving wall, and at least some of my div-based layouts end up being quite a bit of trial-and-error.