// Global variables

var browserAcceptable;
var px;
var objCount   = 0; 
var objCountR  = 0; 
var radarState;
var cookieState;

// Code

browserAcceptable = document.images;
px  = new Array();

function preload(name, firstDisplay, rollOverDisplay) {  
  if (browserAcceptable) {
  px[objCount] = new Array(3);
  px[objCount][0] = new Image();
  px[objCount][0].src = firstDisplay;
  px[objCount][1] = new Image();
  px[objCount][1].src = rollOverDisplay;
  px[objCount][2] = name;
  objCount++;
  }
}

function on(name){
  if (browserAcceptable) {
    for (i = 0; i < objCount; i++) {
      if (document.images[px[i][2]] != null) {
        if (name == px[i][2]) { 
	  document.images[px[i][2]].src = px[i][1].src;
        }
      }
    }
  }
}


function off(name){
  if (browserAcceptable) {
    for (i = 0; i < objCount; i++) {
      if (document.images[px[i][2]] != null) {
	if (name == px[i][2])
	  document.images[px[i][2]].src = px[i][0].src;
      }
    }
  }
}

function offAll(){
  if (browserAcceptable) {
    for (k = 0; k < objCount; k++) {
      // alert("px[" + k + "][2]=\"" + px[k][2] + "\"");
      if (document.images[px[k][2]] != null) {
	// alert("px[" + k + "][2]=\"" + px[k][2] + "\" and document.images[px[" + k + "][2]]=" + document.images[px[k][2]]); 
        document.images[px[k][2]].src = px[k][0].src;
      }
    }
  }
}

function toggleButton(buttonName, offStateName, onStateName, stateVariable, stateOffValue) {
  var buttonRowPX, offStateRowPX, onStateRowPX;

  if (browserAcceptable) {
    //
    // find the indices of the image objects stored in the PX array
    //
    for (i = 0; i < objCount; i++) {
      // alert("toggle-top of buttonName loop, objCount=" + objCount + ", px[" + i + "][2] is \"" + px[i][2] + "\"");      
      if (buttonName == px[i][2])
        buttonRowPX = i;               // name the button row index for readability
      else if (offStateName == px[i][2])
        offStateRowPX = i;
      else if (onStateName == px[i][2])
        onStateRowPX = i;
    }
    if (stateVariable == stateOffValue) {  // then turn on
      px[buttonRowPX][0].src = px[offStateRowPX][0].src;                    // replace on/off image array-base with on version nextDisplay
      px[buttonRowPX][1].src = px[offStateRowPX][1].src;                    // replace on/off image array-rollorver with on version nextRollover
      document.images[buttonName].src = px[buttonRowPX][0].src;   // replace current button image with on version nextDisplay
    }
    else {
      px[buttonRowPX][0].src = px[onStateRowPX][0].src;                     // replace on/off image array-base with on version nextDisplay
      px[buttonRowPX][1].src = px[onStateRowPX][1].src;                     // replace on/off image array-rollover with on version nextRollover
      document.images[buttonName].src = px[buttonRowPX][0].src;   // replace current button image with on version nextDisplay
    }
  }
}

//    ================================================================
//    px[objCount][0].src = firstDisplay;
//    px[objCount][1].src = rollOverDisplay;
//    px[objCount][2] = name;
//    ================================================================
//    toggle('sweepButton','sweepButtonOff','sweepButtonOn','radarImg')"> 

function toggle(buttonName, offStateName, onStateName, imageTargetName) {
  var buttonRowPX, offStateRowPX, onStateRowPX, imageTargetRowPX;

  // alert("toggle(buttonName=\"" + buttonName + "\" offStateName=\"" + offStateName + "\" onStateName=\"" + onStateName + "\" imageTargetName=\"" + imageTargetName + "\"");

  if (browserAcceptable) {
    //
    // find the indices of the image objects stored in the PX array
    //
    for (i = 0; i < objCount; i++) {
      // alert("toggle-top of buttonName loop, objCount=" + objCount + ", px[" + i + "][2] is \"" + px[i][2] + "\"");      
      if (imageTargetName == px[i][2])
	imageTargetRowPX = i;
    }

    toggleButton(buttonName, offStateName, onStateName, radarState, "sweepOff");
    if (radarState == "sweepOff") {  // then turn on
      document.images[imageTargetName].src = px[imageTargetRowPX][0].src;
      radarState = "sweepOn";
    }
    else {
      document.images[imageTargetName].src = px[imageTargetRowPX][1].src;
      radarState = "sweepOff";
    }
    if (cookieEnabled) 
      setCookie( 'savedRadarState', radarState, 90, '/', '', '' );
  }
}

function toggleWrapper() {
  toggle('sweepButton','sweepButtonOff','sweepButtonOn','radarImg');
  return;
}

function dispInitialImage(imgName,imgSrc) {
  // var msg = "in dispInitialImage(" + imgName + ", " + imgSrc + ")";
  // alert(msg);
  if (browserAcceptable) {  
    document.images[imgName].src = imgSrc;
  }
}



