
window.onload = function()
{
  new xMenu1A('trigger1', 'menu1', 10, 100, 'mouseover');
             
  new xMenu1A('trigger2', 'menu2', 10, 100, 'mouseover');
                                                         
  new xMenu1A('trigger4', 'menu4', 10, 100, 'mouseover');

  new xMenu1A('triggerF', 'menu5', 10, 100, 'mouseover');

  new xMenu1B('trigger5', 'closeTrigger5', 'menu5', 500, true);
             
  new xMenu1B('trigger6', 'closeTrigger6', 'menu6', 500, false);

  new xMenu1A('trigger7', 'menu6', 10, 100, 'mouseover');
}

/* xMenu1 Object Prototype

  Parameters:
    triggerId   - id string of trigger element.
    menuId      - id string of menu.
    mouseMargin - integer margin around menu;
                  when mouse is outside this margin the menu is hid.
    openEvent   - string name of event on which to open menu ('click', 'mouseover', etc).
*/

function xMenu1(triggerId, menuId, mouseMargin, openEvent)
{
  var isOpen = false;
  var trg = xGetElementById(triggerId);
  var mnu = xGetElementById(menuId);
  if (trg && mnu) {
    xAddEventListener(trg, openEvent, onOpen, false);
  }
  function onOpen()
  {
    if (!isOpen) {
      xMoveTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg));
      xShow(mnu);
      xAddEventListener(document, 'mousemove', onMousemove, false);
      isOpen = true;
    }
  }
  function onMousemove(ev)
  {
    var e = new xEvent(ev);
    if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) &&
        !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin))
    {
      xHide(mnu);
      xRemoveEventListener(document, 'mousemove', onMousemove, false);
      isOpen = false;
    }
  }
} // end xMenu1

// A variation on xMenu1. The menu slides down and up.

/* xMenu1A Object Prototype

  Parameters:
    triggerId   - id string of trigger element.
    menuId      - id string of menu.
    mouseMargin - integer margin around menu;
                  when mouse is outside this margin the menu is hid.
    slideTime   - integer time for menu slide (in milliseconds).
    openEvent   - string name of event on which to open menu ('click', 'mouseover', etc).
*/

function xMenu1A(triggerId, menuId, mouseMargin, slideTime, openEvent)
{
  var isOpen = false;
  var trg = xGetElementById(triggerId);
  var mnu = xGetElementById(menuId);
  if (trg && mnu) {
    xHide(mnu);
    xAddEventListener(trg, openEvent, onOpen, false);
  }
  function onOpen()
  {
    if (!isOpen) {
      xMoveTo(mnu, xPageX(trg), xPageY(trg));
      xShow(mnu);
      xSlideTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg), slideTime);
      xAddEventListener(document, 'mousemove', onMousemove, false);
      isOpen = true;
    }
  }
  function onMousemove(ev)
  {
    var e = new xEvent(ev);
    if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) &&
        !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin))
    {
      xRemoveEventListener(document, 'mousemove', onMousemove, false);
      xSlideTo(mnu, xPageX(trg), xPageY(trg), slideTime);
      setTimeout("xHide('" + menuId + "')", slideTime);
      isOpen = false;
    }
  }
} // end xMenu1A

// A variation on xMenu1A. The menu requires a click to close
// and opening one closes any others that were open.
// x_event.js is not needed

/* xMenu1B Object Prototype

  Parameters:
    openTriggerId  - id string of element which shows menu.
    closeTriggerId - id string of element which closes menu.
    menuId         - id string of menu.
    slideTime      - integer time for menu slide (in milliseconds).
    bOnClick       - if true menu will open on click, else on mouseover.
*/

function xMenu1B(openTriggerId, closeTriggerId, menuId, slideTime, bOnClick)
{
  xMenu1B.instances[xMenu1B.instances.length] = this;
  var isOpen = false;
  var oTrg = xGetElementById(openTriggerId);
  var cTrg = xGetElementById(closeTriggerId);
  var mnu = xGetElementById(menuId);
  if (oTrg && cTrg && mnu) {
    xHide(mnu);
    if (bOnClick) oTrg.onclick = openOnEvent;
    else oTrg.onmouseover = openOnEvent;
    cTrg.onclick = closeOnClick;
  }
  function openOnEvent()
  {
    if (!isOpen) {
      for (var i = 0; i < xMenu1B.instances.length; ++i) {
        xMenu1B.instances[i].close();
      }
      xMoveTo(mnu, xPageX(oTrg), xPageY(oTrg));
      xShow(mnu);
      xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg) + xHeight(oTrg), slideTime);
      isOpen = true;
    }
  }
  function closeOnClick()
  {
    if (isOpen) {
      xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg), slideTime);
      setTimeout("xHide('" + menuId + "')", slideTime);
      isOpen = false;
    }
  }
  this.close = function()
  {
    closeOnClick();
  }
} // end xMenu1B

xMenu1B.instances = new Array(); // static member of xMenu1B

document.write("<div id='menu1' class='menu'>");
document.write("> <a href='about_resume.html'>Company History</a><br>");
document.write("> <a href='about_keypeople.html'>Key People</a><br>");
document.write("> <a href='news.html'>News</a><br>");
document.write("</div>");

document.write("<div id='menu2' class='menu'>");
document.write("> <a href='services_commercial.html'>Commercial</a><br>");
document.write("> <a href='services_residential.html'>Residential</a><br>");
document.write("> <a href='services_furniture.html'>Quality Custom Designed Imported Furniture </a><br>");
document.write("> <a href='services_hospitality.html'>Hospitality & Retail</a><br>");
document.write("> <a href='services_maintenance.html'>Maintenance/Property Services</a><br>");

document.write("</div>");
document.write("<div id='menu4' class='menu'>");
document.write("> <a href='projects_commercial_interior.html'>Commercial Interior Projects</a><br>");
document.write("> <a href='projects_commercial.html'>Commercial Projects</a><br>");
document.write("> <a href='projects_industrial.html'>Industrial Projects</a><br>");
document.write("> <a href='projects_residential.html'>Residential Projects</a><br>");
document.write("> <a href='projects_hospitality.html'>Hospitality</a><br>");
document.write("> <a href='projects_retail.html'>Retail</a><br>");
document.write("</div>");

document.write("<div id='menu5' class='menu'>");
document.write("> <a href='furniture_chairs.html'>Chairs</a><br>");
document.write("> <a href='furniture_workstations.html'>Workstations</a><br>");
document.write("> <a href='Boardroomtables.html'>Meeting / Boardroom Tables</a><br>");
document.write("> <a href='lounges.html'>Lounges / Sofas</a><br>");
document.write("</div>");

document.write("<div id='menu6' class='menu'>");
document.write("> <a href='design_construction.html'>Design & Construction Programs</a><br>");
document.write("</div>");

function displayMenu()
{
document.write("       <table width='100%' height='70'  border='0' cellpadding='0' cellspacing='0' background='img/gradient.gif' bgcolor='#FF0000'>");
document.write("          <tr>");
document.write("            <td valign='middle' class='menu1'><a href='index.html'>Home</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='about.html' id='trigger1' class='trigger'>About Us</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='services.html'>Our Services</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='furniture.html' id='triggerF' class='trigger'>Furniture</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='cost_estimation.html' id='trigger7' class='trigger'>Cost Estimation</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='projects.html' id='trigger4' class='trigger'>Portfolio</a>");
document.write("	    &nbsp; \ &nbsp;");
document.write("	    <a href='contact.html'>Contact Us</a></td>");
document.write("          </tr>");
document.write("      </table>");
}