
/***********************************************
* Pop-it menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var defaultMenuWidth="165px" //set default menu width.

var linkset=new Array()
//SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT
//locations
linkset[0]=''
linkset[linkset.length-1]+='<a href="naperville.asp">Naperville Illinois</a>'


//professional offices
linkset[1]=''
linkset[linkset.length-1]+='<a href="professionaloffices.asp">Professional Offices</a>'
linkset[linkset.length-1]+='<a href="conferencerooms.asp">Conference Rooms</a>'
linkset[linkset.length-1]+='<a href="workstations.asp">Workstations</a>'
linkset[linkset.length-1]+='<a href="businessservices.asp">Business Services</a>'
linkset[linkset.length-1]+='<a href="AllServices.asp">All Services</a>'


//linkset[1]+='<hr>' //Optional Separator

//Virtual Offices
linkset[2]=''
linkset[linkset.length-1]+='<a href="VirtualOfficeservices.asp">Virtual Offices</a>'
linkset[linkset.length-1]+='<a href="conferencerooms.asp">Conference Rooms</a>'
linkset[linkset.length-1]+='<a href="businessservices.asp">Business Services</a>'
linkset[linkset.length-1]+='<a href="AllServices.asp">All Services</a>'


//advanced services
linkset[3]=''
linkset[linkset.length-1]+='<a href="TelephoneCapabilities.asp">Telephone Capabilities</a>'
linkset[linkset.length-1]+='<a href="businessservices.asp">Business Services</a>'
linkset[linkset.length-1]+='<a href="AllServices.asp">All Services</a>'
////No need to edit beyond here

var ie5=document.all && !window.opera
var ns6=document.getElementById

if (ie5||ns6)
  document.write('<div id="popitmenu" onMouseover="clearhidemenu();" onMouseout="dynamichide(event)"></div>')

function iecompattest(){
  return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}


function DL_GetElementLeft(eElement)
{
    if (!eElement && this)                       // if argument is invalid</FONT>
    {                                            // (not specified, is <TT>null</TT> or is <TT>0</TT>)</FONT>
        eElement = this;                         // and function is a method</FONT>
    }                                            // identify the element as the method owner</FONT>
    
    var nLeftPos = eElement.offsetLeft;          // initialize var to store calculations</FONT>
    var eParElement = eElement.offsetParent;     // identify first offset parent element</FONT>  
    while (eParElement != null)
    {                                            // move up through element hierarchy</FONT>
        nLeftPos += eParElement.offsetLeft;      // appending left offset of each parent</FONT>
        eParElement = eParElement.offsetParent;  // until no more offset parents exist</FONT>
    }
    return nLeftPos;                             // return the number calculated</FONT>
}


function DL_GetElementTop(eElement)
{
    if (!eElement && this)
    {
        eElement = this;
    }

    var nTopPos = eElement.offsetTop;
    var eParElement = eElement.offsetParent;
    while (eParElement != null)
    {
        nTopPos += eParElement.offsetTop;
        eParElement = eParElement.offsetParent;
    }
    return nTopPos;
}

function showmenu(e, which, optWidth, optElement){
  var optX, optY
  if (!document.all&&!document.getElementById)
    return
  
  if (typeof optElement != "undefined") {
    optX = DL_GetElementLeft(optElement) - 10
    optY = DL_GetElementTop(optElement) + optElement.offsetHeight
  }
//  alert(optX + " | " + optY)
//  alert((typeof optElement) + " | " + optElement.src + " | " + optElement.style.left + " | " + optElement.style.x + " | " + optElement.offsetLeft + " | " + optElement.offsetTop + " | " + DL_GetElementLeft(optElement) + " | " + DL_GetElementTop(optElement));
  clearhidemenu()
  menuobj=ie5? document.all.popitmenu : document.getElementById("popitmenu")
  menuobj.innerHTML=which
  menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth
  menuobj.contentwidth=menuobj.offsetWidth
  menuobj.contentheight=menuobj.offsetHeight
  eventX=(typeof optX=="number") ? optX : (ie5? event.clientX : e.clientX)
  eventY=(typeof optY=="number") ? optY : (ie5? event.clientY : e.clientY)
  //Find out how close the mouse is to the corner of the window
  var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX
  var bottomedge=ie5? iecompattest().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.style.left=ie5? iecompattest().scrollLeft+eventX-menuobj.contentwidth+"px" : window.pageXOffset+eventX-menuobj.contentwidth+"px"
  }
  else {
    //position the horizontal position of the menu where the mouse was clicked
    menuobj.style.left=ie5? eventX+"px" : eventX+"px"
//    menuobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px"
  }
  
  //same concept with the vertical position
  if (bottomedge<menuobj.contentheight) {
    menuobj.style.top=ie5? iecompattest().scrollTop+eventY-menuobj.contentheight+"px" : window.pageYOffset+eventY-menuobj.contentheight+"px"
  }
  else {
    menuobj.style.top=ie5? eventY+"px" : eventY+"px"
//    menuobj.style.top=ie5? iecompattest().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px"
  }
    
  menuobj.style.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.style.visibility="hidden"
}

function dynamichide(e){
  if (ie5&&!menuobj.contains(e.toElement))
    hidemenu()
  else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
    hidemenu()
}

function delayhidemenu(){
  delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
  if (window.delayhide)
    clearTimeout(delayhide)
}

if (ie5||ns6)
  document.onclick=hidemenu
