// Global number for total menus:
///////////////////////////////////////
var totalmenus = 4;

// Global string for menu output:
///////////////////////////////////////
var menutxt = '';

// Global array for menu data:
///////////////////////////////////////
var menu = new makeArray(totalmenus);

// Custom array constructor,
// indexed from 1:
///////////////////////////////////////
function makeArray(n){
  this.size = n;
  for(i=1; i<=n; i++){
    this[i] = 0;
  }
  return(this);
}

// Menu group constructor:
///////////////////////////////////////
function menuObject(n,MenuTitle,MenuURL,ImageName){
  this.size =       n;
  this.MenuTitle =  MenuTitle;
  this.MenuURL =    MenuURL;
  this.ImageName =  ImageName;
  this.Bullet =     new makeArray(n);
}

// Menu item constructor:
///////////////////////////////////////
function bulletObject(BulletTitle,BulletURL){
  this.BulletTitle =  BulletTitle;
  this.BulletURL =    BulletURL;
}

// Define menus. Add new items by
// increasing menu bullets argument
// and adding a new indexed bullet
// object to the end of the list.
//
// Menu arguments:
// 1 = No. of bullets
// 2 = Menu title
// 3 = Menu URL
// 4 = Image Reference Name (for image swap)

// Bullet arguments:
// 1 = Bullet title
// 2 = Bullet URL
///////////////////////////////////////

// First menu
///////////////////////////////////////
menu[1] = new menuObject(3,'<img name="pic_1" src="images/pic_1_off.jpg" width="91" height="19" border="0">','#','who_we_are');
menu[1].Bullet[1] = new bulletObject('About Berean','whoweare.asp');
menu[1].Bullet[2] = new bulletObject('Press Releases','news.asp');
menu[1].Bullet[3] = new bulletObject('Contact Us','contactus.asp');

// Second menu
///////////////////////////////////////
menu[2] = new menuObject(8,'<img name="pic_2" src="images/pic_2_off.jpg" width="90" height="19" border="0">','#','our_services');
menu[2].Bullet[1] = new bulletObject('Nursing','nursing.asp');
menu[2].Bullet[2] = new bulletObject('Allied Health','allied.asp');
menu[2].Bullet[3] = new bulletObject('Pharmacists','pharmacist.asp');
menu[2].Bullet[4] = new bulletObject('Ancillary','ancillary.asp');
menu[2].Bullet[5] = new bulletObject('Executive','executive.asp');
menu[2].Bullet[6] = new bulletObject('Post a Job','postjob.asp');
menu[2].Bullet[7] = new bulletObject('On-Premise Program','onprem.asp');
menu[2].Bullet[8] = new bulletObject('Contract Outsourcing','contout.asp');

// Third menu
///////////////////////////////////////
menu[3] = new menuObject(7,'<img name="pic_3" src="images/pic_3_off.jpg" width="90" height="19" border="0">','#','opportunities');
menu[3].Bullet[1] = new bulletObject('Apply Now!','application.asp');
menu[3].Bullet[2] = new bulletObject('Job Search','jobsearch.asp');
menu[3].Bullet[3] = new bulletObject('Travel Nursing','travelstaffing.asp');
menu[3].Bullet[4] = new bulletObject('Nurse Staffing','nursestaffing.asp');
menu[3].Bullet[5] = new bulletObject('Allied Staffing','alliedstaffing.asp');
menu[3].Bullet[6] = new bulletObject('Pharmacy Staffing','pharmacystaffing.asp');
menu[3].Bullet[7] = new bulletObject('Ancillary Staffing','ancilstaffing.asp');

// Fourth menu
///////////////////////////////////////
menu[4] = new menuObject(5,'<img name="pic_4" src="images/pic_4_off.jpg" width="90" height="19" border="0">','#','resources');
menu[4].Bullet[1] = new bulletObject('Helpful Links','links.asp');
menu[4].Bullet[2] = new bulletObject('State Licensing','license.asp');
menu[4].Bullet[3] = new bulletObject('Continuing Education','conted.asp');
menu[4].Bullet[4] = new bulletObject('Download Forms','downloads.asp');
menu[4].Bullet[5] = new bulletObject('Skills Checklists','skillscheck.asp?direct=1');

// Compile the static menu headings:
///////////////////////////////////////
menutxt += '<div id="LinkBar">\n';
  for(i=1;i<=totalmenus;i++){
    menutxt += '\t<div id="Link' + i + '">';
    menutxt += '<a href="' + menu[i].MenuURL + '"';
    
    // Only compile the event handlers if able to handle them
    if(document.getElementById){// DOM1 compliant   
      menutxt += ' onmouseover="menuOver(\'Menu' + i + '\',' + i + '); return true;"';
      menutxt += ' onmouseout="menuOut(\'Menu' + i + '\',' + i + '); return true;"';
    }
    menutxt += '>' + menu[i].MenuTitle + '</a>';
    menutxt += '<\/div>\n';
  }
menutxt += '<\/div>\n';

// If DOM1 compliant, add the
// drop-down menus:
///////////////////////////////////////
if(document.getElementById){// DOM1 compliant
  menutxt += '<div id="MenuBar">\n';
  for(i=1;i<=totalmenus;i++){
    menutxt += '<div id="Menu' + i + '">';
    // Build the bullet list
    menutxt += '<span class="small"><br><\/span>\n\t';
    for(j=1;j<=menu[i].size;j++){
      menutxt += ' &nbsp;&nbsp;<a href="' + menu[i].Bullet[j].BulletURL + '"';
      menutxt += ' onmouseover="stayOpen(\'Menu' + i + '\'); return true;"';
      menutxt += ' onmouseout="menuOut(\'Menu' + i + '\',' + i + '); return true;">';
      menutxt += menu[i].Bullet[j].BulletTitle;
      menutxt += '<\/a><span class="small"><br><br><\/span>\n\t';
    }
    menutxt += '\n<\/div>\n';
  }
  menutxt += '<\/div>\n';
}

// Global menu element handle:
///////////////////////////////////////
var LiveMenu = null;

// Global menu timeout handle:
///////////////////////////////////////
var Timeout_ID = null;

// Previous Menu Number for image swap
///////////////////////////////////////
var PrevMenuNum = -1;

// Opens or keeps open a given menu
// and shuts any previous menu:
///////////////////////////////////////
function menuOver(MenuID,MenuNum){
  // If DOM1 supported and element exists ...
  if((document.getElementById)&&(document.getElementById(MenuID)!=null)){
    // If this menu is already open ...
    if(LiveMenu==document.getElementById(MenuID)){
      // Do not close it
      clearTimeout(Timeout_ID);
    }
    // Another might still be open ...
    else{
      // If another menu is open ...
      if(LiveMenu!=null){
        // Do not wait, shut it now
        clearTimeout(Timeout_ID);
        hideNow(PrevMenuNum);
      }
    }
    // This is the new 'live' menu, make it visible
    LiveMenu = document.getElementById(MenuID);
    // LiveMenu.style.visibility is
    // initially empty in IE5 until
    // it is assigned by these
    // functions, so must check that
    // it's not null before proceeding...
    if((LiveMenu.style)&&(LiveMenu.style.visibility!=null)){
	  //swap image and show menu:
	  if (MenuNum)
	  {
	  	PrevMenuNum = MenuNum;
		eval("document.pic_" + MenuNum + ".src = 'images/pic_" + MenuNum + "_on.jpg'");
	    if ((menu[MenuNum].size>0))
	    {
	  	  LiveMenu.style.visibility = 'visible';
	    }
	  }
    }
  }
}

// Stops menu links from opening menu
// onmouseover when shut to
// workaround mouse events which are
// not hidden by z-index in Opera 4!
///////////////////////////////////////
function stayOpen(MenuID){
  // If menuOver has not been called or the menu is hidden, do nothing
  if((LiveMenu==null)||((LiveMenu.style)&&(LiveMenu.style.visibility)&&(LiveMenu.style.visibility=='hidden')))return;
  else menuOver(MenuID);
}

// Shuts a given menu in 250
// milliseconds, unless timeout is
// cleared by menuOver()
///////////////////////////////////////
function menuOut(MenuID,MenuNum){
  // If DOM1 supported and a menu is open ...
  if((document.getElementById)&&(document.getElementById(MenuID)!=null)){
    // Get the current live menu
    LiveMenu = document.getElementById(MenuID);
    // Prepare to shut it in 250 milliseconds
    Timeout_ID = window.setTimeout('hideNow('+MenuNum+');',300);
  }
}

// Called by menu handlers to shut
// previous menu immediately
///////////////////////////////////////
function hideNow(MenuNum){
  if((LiveMenu.style)&&(LiveMenu.style.visibility)){
    //swap back and destroy menu
	eval("document.pic_" + MenuNum + ".src = 'images/pic_" + MenuNum + "_off.jpg'");
    LiveMenu.style.visibility = 'hidden';
  }
}