﻿// Image Rollover Class
function Rollover() {

    // Initialize variables
    var aRolloverImages = new Array();
    var iCount = -1;
    
    //Init functions for public use
    this.addImage = addImage;
    this.RollOver = RollOver;
    this.RollOut = RollOut;
       
    // Add data for an image that will have a rollover
    function addImage(cImageID, cImageURL, cRolloverImageURL) {
        var aImageData = new Array(3);
        aImageData[0] = cImageID;
        aImageData[1] = new Image();
        aImageData[1].src = cImageURL;
        aImageData[2] = new Image();
        aImageData[2].src = cRolloverImageURL;
        
        iCount++;
        aRolloverImages[iCount] = aImageData;
    }

    // Look up the image in the data array by Image ID
    function findImageDataByID(cImageID){
        for (i=0; i<aRolloverImages.length; i++){
            if (aRolloverImages[i][0] == cImageID) { return aRolloverImages[i]; }
        }
        
        return null;
    }

    // Set the image source to the rollover image
    function RollOver(oImage){
        var aImage = findImageDataByID(oImage.id);
        if (aImage != null) {
            oImage.src = aImage[2].src;
            return true;
        } else {
            return false;
        }
    }

    // Set the image source back to the original image
    function RollOut(oImage){
        var aImage = findImageDataByID(oImage.id);
        if (aImage != null) {
            oImage.src = aImage[1].src;
            return true;
        } else {
            return false;
        }
    }

}

