<java>response.setContentType("text/javascript");</java>

function moSetup (target)
{
  if ( !target.moPreload ) {
    var src = target.src;
    var onsrc;

    if (arguments.length == 2) {
      onsrc = arguments[1];
    }
    else {
      var exti = src.lastIndexOf(".");
      onsrc = src.slice (0, exti) + "_over" + src.substring (exti, src.length);
    }

    target.moOnImage = new Image();
    target.moOnImage.src = onsrc;

    target.moOffImage = new Image();
    target.moOffImage.src = target.src;

    target.onmouseover = function() { moActivate(this); };
    target.onmouseout = function() { moDeactivate(this); };

    target.moPreload = true;
  }

  return true;
}

function moSetupIndirect (target, eventTarget)
{
  if ( !target.moPreload ) {
    var src = target.src;
    var onsrc;

    if (arguments.length == 3) {
      onsrc = arguments[2];
    }
    else {
      var exti = src.lastIndexOf(".");
      onsrc = src.slice (0, exti) + "_over" + src.substring (exti, src.length);
    }

    target.moOnImage = new Image();
    target.moOnImage.src = onsrc;

    target.moOffImage = new Image();
    target.moOffImage.src = target.src;

    eventTarget.onmouseover = function() { moActivate(target); };
    eventTarget.onmouseout = function() { moDeactivate(target); };

    target.moPreload = true;
  }

  return true;
}

function moActivate (target)
{
  if ( target.moPreload != (void 0) ) {
    target.src = target.moOnImage.src;
  }
  return false;
}

function moDeactivate (target)
{
  if ( target.moPreload != (void 0) ) {
    target.src = target.moOffImage.src;
  }
  return false;
}
