///////////////////////////////////////////////////////////////////////////////
// COPYRIGHT (C) 2005. PNNL.  All Rights Reserved.
//
// RCS INFORMATION:
//  $RCSfile: layout.js,v $
//  $Revision: 1.8 $
//  $Author: curtis $
//  $Locker:  $
//  $Date: 2006/03/29 00:24:11 $
//  $State: swawt-foundation-5.4-5 $
//  $Name: swawt-foundation-5#4-5 $
// _____________________________________________________________________________
///////////////////////////////////////////////////////////////////////////////

var time  = 3000;
var total = 0;
var minY  = 0;
var maxY  = 0;
//alert("MinY = " + minY);
//alert("MaxY = " + maxY);


function get_total()
{
  return(total);
}


function findPosX(obj)
{
  var curleft = 0;
  if (obj.offsetParent)
  {
    while (obj.offsetParent)
    {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  }
  else if (obj.x)
    curleft += obj.x;
  return curleft;
}


function findPosY(obj)
{
  var curtop = 0;
  if (obj.offsetParent != null)
  {
    while (obj.offsetParent)
    {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  }
  else if (obj.y)
    curtop += obj.y;
  return curtop;
}


function max(a,b) {
 if (a > b)  { return(a); }
 else        { return(b); }
}


//menu constructor
function menu(thisitem, startstate)
{
  callname                     = "sn"+thisitem;
  divname                      ="sub_site"+thisitem;
  this.caller                  = document.getElementById(callname);
  this.thediv                  = document.getElementById(divname);
  this.thediv.style.visibility = startstate;
  minY                         = max(minY, findPosY(this.caller)) - 10;
  maxY                         = minY + 110;
  total++;
}


//menu methods
function eh(event,theobj)
{
  var idx;
  var shutdiv;

  for ( idx = 1; idx <= total; idx++ )
  {
    shutdiv = eval( "m" + idx + '.thediv');
    shutdiv.style.visibility='hidden';
  }
  theobj.thediv.style.visibility='visible';
  return(true);
}


function closenav(event)
{
  var idx;
  var shutdiv;

  if ( (event.clientY < minY) || (event.clientY > maxY) )
  {
    for ( idx = 1; idx <= total; idx++ )
    {
      shutdiv = eval('m' + idx + '.thediv');
      shutdiv.style.visibility='hidden';
    }
  }
  //alert("DEBUG: Y=" + event.clientY + ", MinY=" + minY + ", MaxY=" + maxY);
  return(true);
}

