<!-- //hide script from non-scripting browsers

//  rollover.js
//    99.03.09 - moved parameters from vars to instance data
//    99.03.09 - added support for specifing image element name

function rollOverFactory(imageName) {
    if (document.images == null) {
        return new NullRollOver();
        }
    else {
        return new RollOverImage(imageName);
        }
    }

//NullRollOver definition
function doNothing() {}
function NullRollOver() {
    //public methods
    this.rollOver = doNothing;
    this.rollOff = doNothing;
    }

//RollOverImage definition
function cacheImages() {
    var ind, overSrc, offSrc, root, fileExt;
    //build image file src names
    ind = this.imageName.lastIndexOf('.');
    if (ind == -1) {
        overSrc = this.imageName + RollOverImage.Prefs.overExt;
        offSrc = this.imageName + RollOverImage.Prefs.offExt;
        }
    else {
        root = this.imageName.substring(0, ind);
        fileExt = this.imageName.substring(ind, this.imageName.length);
        overSrc = root + RollOverImage.Prefs.overExt + fileExt;
        offSrc = root + RollOverImage.Prefs.offExt + fileExt;
        this.imageName = root;
        }
    this.elemName = this.imageName
    if (RollOverImage.Prefs.imgElemExt != null) {
        this.elemName += RollOverImage.Prefs.imgElemExt;}

    //cache images
    this.overImg = new Image();
    this.overImg.src = RollOverImage.Prefs.imageDir + overSrc;
    this.offImg = new Image();
    this.offImg.src = RollOverImage.Prefs.imageDir + offSrc;
    }
function rollOver() {
    document.images[this.elemName].src = this.overImg.src;
    }
function rollOff() {
    document.images[this.elemName].src = this.offImg.src;
    }
function RollOverImage(imageName) {
    //private variables
    this.imageName = imageName;
    this.elemName = null;
    this.overImg = null;
    this.offImg = null;
    //public methods
    this.rollOver = rollOver;
    this.rollOff = rollOff;
    //private methods
    this.cacheImages = cacheImages;
    //initialization;
    this.cacheImages();
    }
// hide script -->
