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));
}

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

var vCurrentSquare = 0;
function RR_matrixRoll(vWhichSquare, vMatrixSizeString) {
   if (vWhichSquare <= 12) {
      if (vWhichSquare > 9) {
         vNumberString = '' + vWhichSquare;
      } else {
         vNumberString = '0' + vWhichSquare;
      }
      RR_changeImage('matrixImg', 'images/matrix_' + vMatrixSizeString + vNumberString + '.jpg', '');
   }
   MM_showHideLayers('matrix' + vCurrentSquare, '', 'hide');
   MM_showHideLayers('matrix' + vWhichSquare, '', 'show');
   vCurrentSquare = vWhichSquare;
}

var ns4=document.layers;
var ie4=document.all;
var ns6=document.getElementById&&!document.all;

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0;
var nsx;
var nsy;
var nstemp;

function drag_dropns(name){
   if (!ns4) return;
   temp=eval(name);
   temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
   temp.onmousedown=gons;
   temp.onmousemove=dragns;
   temp.onmouseup=stopns;
}

function gons(e){
   temp.captureEvents(Event.MOUSEMOVE);
   nsx=e.x;
   nsy=e.y;
}

function dragns(e){
   if (dragswitch==1){
      temp.moveBy(e.x-nsx,e.y-nsy);
      return false;
   }
}

function stopns(){
   temp.releaseEvents(Event.MOUSEMOVE);
}

//drag drop function for ie4+ and NS6////
/////////////////////////////////


function drag_drop(e){
   if (ie4&&dragapproved){
      crossobj.style.left=tempx+event.clientX-offsetx;
      crossobj.style.top=tempy+event.clientY-offsety;
      return false;
   } else if (ns6&&dragapproved){
      crossobj.style.left=tempx+e.clientX-offsetx;
      crossobj.style.top=tempy+e.clientY-offsety;
      return false;
   }
}

function initializedrag(e){
   crossobj=ns6? document.getElementById("helpWindow") : document.all.helpWindow;

   var firedobj=ns6? e.target : event.srcElement;
   var topelement=ns6? "HTML" : "BODY";

   while (firedobj.tagName!=topelement&&firedobj.id!="dragbar") {
      firedobj=ns6? firedobj.parentNode : firedobj.parentElement;
   }

   if (firedobj.id=="dragbar"){
      offsetx=ie4? event.clientX : e.clientX;
      offsety=ie4? event.clientY : e.clientY;

      tempx=parseInt(crossobj.style.left);
      tempy=parseInt(crossobj.style.top);

      dragapproved=true;
      document.onmousemove=drag_drop;
   }
}

document.onmousedown=initializedrag;
document.onmouseup=new Function("dragapproved=false");


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_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;
}
