//// code for pop-up menus

// how it works:
//  When the mouse passes over one of the main navigation buttons, it calls
//   show_menu_exclusive() to swap the button image, open that button's pop-up menu,
//   and close any others that might be open.
//  When the mouse leaves the nav button, it starts a delayed restore of the button image
//   and closing of that pop-up menu by calling start_delayed_hide_menu(). The closing
//   is delayed because the mouse might be entering the pop-up menu. If not, then the menu
//   will either be closed by the delayed call to do_delayed_hide_menu(), or by entering
//   a different navigation button.
//  When the mouse enters a pop-up menu button, it cancels the delayed close of that
//   pop-up menu with cancel_delayed_hide_menu().
//  When the mouse leaves a pop-up menu button, it starts the delayed close.
//
//

//// globals

// variable records which menu is currently open
var open_menu = "";

// timer for delayed hide
var timerid = null;

//// functions

// show main nav mouseover and corresponding pop-up menu (immediately hide previous, if any)
//
function show_menu_exclusive(menuname) {

  if (timerid != null) {        // cancel any delayed hides
    clearTimeout (timerid);
    timerid = null;
  }

  if (open_menu == menuname)  // return if this menu already open
    return;

  if (open_menu != "") {      // restore main navigation button
    // find image object
    var oldnavobj = MM_findObj(open_menu);
    // replace the original image
    if (oldnavobj != null) {
      if (oldnavobj.originalsrc) {
        oldnavobj.src = oldnavobj.originalsrc;
      }
    }
    // hide the old pop-up menu
    var oldmenulayer = "menu" + open_menu;
    MM_showHideLayers(oldmenulayer,'','hide')
  }

  // swap in new menu button rollover and show pop-up menu

  if (menuname != "") {
    // find image object
    var navobj = MM_findObj(menuname);
    if (navobj != null) {
      // get image src
      var src = navobj.src;
      // stash it for later replacement
      navobj.originalsrc = src;
      // replace ".gif" with "_hi.gif"
      // (but make sure we're not already showing _hi.gif)
      var i = src.lastIndexOf("_hi.gif");
      if (i < 0) {
        i = src.lastIndexOf(".gif");
        if (i >= 0) {
          src = src.substring(0,i)+"_hi.gif";
        }
      }
      // swap in highlighted image
      navobj.src = src;
    }
    // show the new pop-up menu
    var menulayer = "menu" + menuname;
    MM_showHideLayers(menulayer,'','show')
  }

  // record the open menu
  open_menu = menuname;
}

// start delayed main nav image restoration and pop-up menu hiding
//
function start_delayed_hide_menu() {
  timerid = setTimeout("do_delayed_hide_menu()", 50); // last arg is delay in milliseconds
}

// cancel delayed main nav image restoration and pop-up menu hiding
//
function cancel_delayed_hide_menu() {
  if (timerid != null) {
    clearTimeout (timerid);
    timerid = null;
  }
}

// perform delayed main nav image restoration and pop-up menu hiding
//
function do_delayed_hide_menu() {
  show_menu_exclusive("");
}


//
// WRITE THE MENUS
//  Note: this uses absolute links
//
function write_menus() {
  document.writeln("<div id=\"menuabout\"><a href=\"http://web.mit.edu/cdo-program/about/program.html\" onMouseOver=\"cancel_delayed_hide_menu();MM_swapImage('mprogram','','http://web.mit.edu/cdo-program/img/menus/mprogram_hi.gif',1)\" onMouseOut=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mprogram.gif\" width=\"168\" height=\"23\" border=\"0\" alt=\"Program Information\" title=\"\" name=\"mprogram\" id=\"mprogram\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/about/publications.html\" onMouseOver=\"cancel_delayed_hide_menu();MM_swapImage('mpublications','','http://web.mit.edu/cdo-program/img/menus/mpublications_hi.gif',1)\" onMouseOut=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mpublications.gif\" width=\"168\" height=\"23\" border=\"0\" alt=\"Publications and Articles\" title=\"\" name=\"mpublications\" id=\"mpublications\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/about/faqs.html\" onMouseOver=\"cancel_delayed_hide_menu();MM_swapImage('mfaqs','','http://web.mit.edu/cdo-program/img/menus/mfaqs_hi.gif',1)\" onMouseOut=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mfaqs.gif\" width=\"168\" height=\"23\" border=\"0\" alt=\"FAQs\" title=\"\" name=\"mfaqs\" id=\"mfaqs\" /></a></div>");
  document.writeln("<div id=\"menupeople\"><a href=\"http://web.mit.edu/cdo-program/people/faculty.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mfaculty','','http://web.mit.edu/cdo-program/img/menus/mfaculty_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mfaculty.gif\" width=\"184\" height=\"23\" border=\"0\" alt=\"Faculty\" title=\"\" name=\"mfaculty\" id=\"mfaculty\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/people/students.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mstudents','','http://web.mit.edu/cdo-program/img/menus/mstudents_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mstudents.gif\" width=\"184\" height=\"23\" border=\"0\" alt=\"Students\" title=\"\" name=\"mstudents\" id=\"mstudents\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/people/alumni.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('malumni','','http://web.mit.edu/cdo-program/img/menus/malumni_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/malumni.gif\" width=\"184\" height=\"23\" border=\"0\" alt=\"Alumni\" title=\"\" name=\"malumni\" id=\"malumni\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/people/staff.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mstaff','','http://web.mit.edu/cdo-program/img/menus/mstaff_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mstaff.gif\" width=\"184\" height=\"23\" border=\"0\" alt=\"Staff\" title=\"\" name=\"mstaff\" id=\"mstaff\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/people/info.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('minfo','','http://web.mit.edu/cdo-program/img/menus/minfo_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/minfo.gif\" width=\"184\" height=\"23\" border=\"0\" alt=\"Information for Current Students\" title=\"\" name=\"minfo\" id=\"minfo\" /></a></div>");
  document.writeln("<div id=\"menuresearch\"><a href=\"http://web.mit.edu/cdo-program/research/domains.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mdomains','','http://web.mit.edu/cdo-program/img/menus/mdomains_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mdomains.gif\" width=\"128\" height=\"23\" border=\"0\" alt=\"Research Domains\" title=\"\" name=\"mdomains\" id=\"mdomains\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/research/centers.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mcenters','','http://web.mit.edu/cdo-program/img/menus/mcenters_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mcenters.gif\" width=\"128\" height=\"23\" border=\"0\" alt=\"Centers and Labs\" title=\"\" name=\"mcenters\" id=\"mcenters\" /></a></div>");
  document.writeln("<div id=\"menuadmission\"><a href=\"http://web.mit.edu/cdo-program/admission/nonmit.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mnonmit','','http://web.mit.edu/cdo-program/img/menus/mnonmit_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mnonmit.gif\" width=\"178\" height=\"23\" border=\"0\" alt=\"Non-MIT Students\" title=\"\" name=\"mnonmit\" id=\"mnonmit\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/admission/mit.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mmit','','http://web.mit.edu/cdo-program/img/menus/mmit_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mmit.gif\" width=\"178\" height=\"23\" border=\"0\" alt=\"Current MIT Grad Students\" title=\"\" name=\"mmit\" id=\"mmit\" /></a></div>");
  document.writeln("<div id=\"menuevents\"><a href=\"http://web.mit.edu/cdo-program/events/upcoming.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mupcoming','','http://web.mit.edu/cdo-program/img/menus/mupcoming_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mupcoming.gif\" width=\"132\" height=\"23\" border=\"0\" alt=\"Upcoming Seminars\" title=\"\" name=\"mupcoming\" id=\"mupcoming\" /></a><br /><a href=\"http://web.mit.edu/cdo-program/events/previous.html\" onmouseover=\"cancel_delayed_hide_menu();MM_swapImage('mprevious','','http://web.mit.edu/cdo-program/img/menus/mprevious_hi.gif',1)\" onmouseout=\"MM_swapImgRestore();start_delayed_hide_menu()\"><img src=\"http://web.mit.edu/cdo-program/img/menus/mprevious.gif\" width=\"132\" height=\"23\" border=\"0\" alt=\"Previous Seminars\" title=\"\" name=\"mprevious\" id=\"mprevious\" /></a></div>");
}

function preload_menu_mouseovers() {
  MM_preloadImages('http://web.mit.edu/cdo-program/img/menus/mprogram_hi.gif','http://web.mit.edu/cdo-program/img/menus/mpublications_hi.gif','http://web.mit.edu/cdo-program/img/menus/mfaqs_hi.gif','http://web.mit.edu/cdo-program/img/menus/mfaculty_hi.gif','http://web.mit.edu/cdo-program/img/menus/mstudents_hi.gif','http://web.mit.edu/cdo-program/img/menus/malumni_hi.gif','http://web.mit.edu/cdo-program/img/menus/mstaff_hi.gif','http://web.mit.edu/cdo-program/img/menus/minfo_hi.gif','http://web.mit.edu/cdo-program/img/menus/mdomains_hi.gif','http://web.mit.edu/cdo-program/img/menus/mcenters_hi.gif','http://web.mit.edu/cdo-program/img/menus/mnonmit_hi.gif','http://web.mit.edu/cdo-program/img/menus/mmit_hi.gif','http://web.mit.edu/cdo-program/img/menus/mupcoming_hi.gif','http://web.mit.edu/cdo-program/img/menus/mprevious_hi.gif');
}


