function RR_doLoad() {
  //This script executes *before* onLoad.
  //Prevents errors caused by the mouse going over
  //buttons before the init scripts are loaded.
  gRR_isNS4 = (document.layers) ? true : false;
  gRR_isIE4 = (document.all && !document.getElementById) ? true : false;
  gRR_isIE5 = (document.all && document.getElementById) ? true : false;
  gRR_isNS6 = (!document.all && document.getElementById) ? true : false;
  gRR_isNS = ((gRR_isNS4) || (gRR_isNS6));
  gRR_isIE = ((gRR_isIE4) || (gRR_isIE5));
	
  RR_initPopUpMenus();
  RR_initNavBars();
  RR_NSMouseWatcher();
}

function RR_PreloadImages (vURLArray) {
   vImageArray = new Array();
   for(vImageNum=0; vImageNum<vURLArray.length; vImageNum++) {
      vImageArray[vImageNum] = new Image;
	  vImageArray[vImageNum].src = vURLArray[vImageNum];
   }
}

function RR_NSMouseWatcher() {
  if (gRR_isNS) {
    window.captureEvents(Event.MOUSEMOVE);
    window.onmousemove = RR_NSRecordMousePos;
  }
}

function RR_NSRecordMousePos(vEvent) {
  if ((gRR_ActiveMenuNum != null) && (gRR_ActiveMenuNum > -1)) {
    RR_menuMouseCheck(vEvent.pageX, vEvent.pageY);
  }
}

function RR_IEMouseWatcher() {
  if ((gRR_isIE) && (gRR_ActiveMenuNum != null) && (gRR_ActiveMenuNum > -1)) {
    RR_menuMouseCheck(window.event.x, window.event.y);
  }
}

function RR_menuMouseCheck(vMouseX, vMouseY) {
  var vTriggerRect = gRR_PUData[gRR_ActiveMenuGroup][gRR_ActiveMenuNum].triggerRect;
  var vMenuRect    = gRR_PUData[gRR_ActiveMenuGroup][gRR_ActiveMenuNum].menuRect;

  if ( ((vMouseX >= vTriggerRect[0]) && (vMouseY >= vTriggerRect[1]) &&
        (vMouseX <= vTriggerRect[2]) && (vMouseY <= vTriggerRect[3])) ||
       ((vMouseX >= vMenuRect[0]) && (vMouseY >= vMenuRect[1]) &&
        (vMouseX <= vMenuRect[2]) && (vMouseY <= vMenuRect[3])) ) {
    //mouse is still inside the popup or trigger
  } else {
    RR_deactivatePopUpMenu();
  }
}

function RR_initPopUpMenus() {
  gRR_ActiveMenuNum = -1;  
  gRR_PUData = new Array ();
  gRR_PUData[0] = new Array();
  RR_addPopUpMenu (0, 'ServicesMenu', 0,'services', 258,85,326,111, 258,109,378,220);
}

function RR_addPopUpMenu(vPUGroup, vPUName, vTriggerGroup, vTriggerName,
            vTriggerL, vTriggerT, vTriggerR, vTriggerB,
            vMenuL, vMenuT, vMenuR, vMenuB) {
  var vPUNum = gRR_PUData[vPUGroup].length;
  gRR_PUData[vPUGroup][vPUNum] = new Object();
  gRR_PUData[vPUGroup][vPUNum].name          = vPUName;
  gRR_PUData[vPUGroup][vPUNum].triggerGroup  = vTriggerGroup;
  gRR_PUData[vPUGroup][vPUNum].triggerName   = vTriggerName;
  gRR_PUData[vPUGroup][vPUNum].triggerRect   = new Array();
  gRR_PUData[vPUGroup][vPUNum].triggerRect[0] = vTriggerL;
  gRR_PUData[vPUGroup][vPUNum].triggerRect[1] = vTriggerT;
  gRR_PUData[vPUGroup][vPUNum].triggerRect[2] = vTriggerR;
  gRR_PUData[vPUGroup][vPUNum].triggerRect[3] = vTriggerB;
  gRR_PUData[vPUGroup][vPUNum].menuRect       = new Array();
  gRR_PUData[vPUGroup][vPUNum].menuRect[0]    = vMenuL;
  gRR_PUData[vPUGroup][vPUNum].menuRect[1]    = vMenuT;
  gRR_PUData[vPUGroup][vPUNum].menuRect[2]    = vMenuR;
  gRR_PUData[vPUGroup][vPUNum].menuRect[3]    = vMenuB;
}

function RR_activatePopUpMenu(vActiveMenuGroup, vActiveMenuName) {
  gRR_ActiveMenuGroup = vActiveMenuGroup; 
  for(vMenuNum = 0; vMenuNum < gRR_PUData[vActiveMenuGroup].length; vMenuNum++) {
    var vThisMenuName = gRR_PUData[vActiveMenuGroup][vMenuNum].name;
	if (vThisMenuName == vActiveMenuName) {
      MM_showHideLayers(vThisMenuName,'','show');
	  gRR_ActiveMenuNum = vMenuNum;
	} else {
      MM_showHideLayers(vThisMenuName,'','hide');
	}
  }
}

function RR_deactivatePopUpMenu() {
  var vActiveMenuName = gRR_PUData[gRR_ActiveMenuGroup][gRR_ActiveMenuNum].name;
  MM_showHideLayers(vActiveMenuName,'','hide');

  var vTriggerGroup = gRR_PUData[gRR_ActiveMenuGroup][gRR_ActiveMenuNum].triggerGroup;
  var vTriggerName  = gRR_PUData[gRR_ActiveMenuGroup][gRR_ActiveMenuNum].triggerName;
  RR_navBarOut(vTriggerGroup, vTriggerName, '');
  gRR_ActiveMenuNum = -1;
}

function RR_initNavBars() {
  gRR_NBData = new Array ();
  gRR_NBData[0] = new Array();
  RR_addNavBarButton(0, "home",         "/images/button_home_up.gif",       "/images/button_home_roll.gif");
  //RR_addNavBarButton(0, "services",   "/images/button_services_up.gif",   "/images/button_services_roll.gif");
  RR_addNavBarButton(0, "portfolio",    "/images/button_portfolio_up.gif",  "/images/button_portfolio_roll.gif");
  RR_addNavBarButton(0, "clients",      "/images/button_clients_up.gif",    "/images/button_clients_roll.gif");
  //RR_addNavBarButton(0, "diversions", "/images/button_diversions_up.gif", "/images/button_diversions_roll.gif");
  RR_addNavBarButton(0, "contact",      "/images/button_contact_up.gif",    "/images/button_contact_roll.gif");
  //gRR_NBData[1] = new Array();
  //RR_addNavBarButton(1, "process",   "images/button_serv_process_up.gif",   "images/button_serv_process_roll.gif");
 // RR_addNavBarButton(1, "cdrom",     "images/button_serv_cdrom_up.gif",     "images/button_serv_cdrom_roll.gif");
  //RR_addNavBarButton(1, "ecd",       "images/button_serv_ecd_up.gif",       "images/button_serv_ecd_roll.gif");
  //RR_addNavBarButton(1, "previewer", "images/button_serv_previewer_up.gif", "images/button_serv_previewer_roll.gif");
  //RR_addNavBarButton(1, "ecards",    "images/button_serv_ecards_up.gif",    "images/button_serv_ecards_roll.gif");
}

function RR_addNavBarButton () {
  var vWhichNavBar   = arguments[0];
  var vNewButtonNum = gRR_NBData[vWhichNavBar].length;
  gRR_NBData[vWhichNavBar][vNewButtonNum] = new Object();
  gRR_NBData[vWhichNavBar][vNewButtonNum].name    = arguments[1];
  gRR_NBData[vWhichNavBar][vNewButtonNum].upSrc   = arguments[2];
  gRR_NBData[vWhichNavBar][vNewButtonNum].rollSrc = arguments[3];
  //preload roll state images
  gRR_NBData[vWhichNavBar][vNewButtonNum].rollImg = new Image ();
  gRR_NBData[vWhichNavBar][vNewButtonNum].rollImg.src = arguments[3];
}

function RR_navBarRoll(vWhichNavBar, vRollButton, vLayerName) {
  //vElement = document.all.homeButton;
  //alert(vElement.style.x);
  for(vButtonNum = 0; vButtonNum < gRR_NBData[vWhichNavBar].length; vButtonNum++) {
    var vThisButtonName = gRR_NBData[vWhichNavBar][vButtonNum].name;
	if (vThisButtonName == vRollButton) {
	  var vImageSrc = gRR_NBData[vWhichNavBar][vButtonNum].rollSrc;
	} else {
	  var vImageSrc = gRR_NBData[vWhichNavBar][vButtonNum].upSrc;
	}	
    RR_changeImage(vThisButtonName, vImageSrc, vLayerName);
  }
}

function RR_navBarOut(vWhichNavBar, vOutButton, vLayerName) {
  for(vButtonNum = 0; vButtonNum < gRR_NBData[vWhichNavBar].length; vButtonNum++) {
    var vThisButtonName = gRR_NBData[vWhichNavBar][vButtonNum].name;	
	if (vThisButtonName == vOutButton) {
      RR_changeImage(vThisButtonName, gRR_NBData[vWhichNavBar][vButtonNum].upSrc, vLayerName);
	  break;
	}
  }
}

function RR_changeImage(vImageName, vImageSrc, vLayerName) { 
  if (vLayerName != "") {
    if (gRR_isNS4){
      var vElement = document.layers[vLayerName].document.images[vImageName];
    }
    else if (gRR_isIE4) {
      var vElement = document.all[vLayerName].document.all[vImageName];
    }
    else if (gRR_isIE5 || gRR_isNS6) {
      var vElement = eval('document.images["' + vImageName + '"]');
    }
  } else {
    var vElement = eval('document.images["' + vImageName + '"]');
  }
  vElement.src = vImageSrc;
}