//methods for rollover object

function imageChange(which,onoff){
               lyr = (typeof this.layernames == 'string')? this.layernames : this.layernames[which];
                var ns_statement = (lyr) ? 'document.layers[\"' + lyr + '\"].' : '';
                var ie_statement = 'document.images[\"' + this.imagenames[which] + '\"].src = this.' + onoff + '_images[' + which +'].src';
                ns_statement += ie_statement;

                //netscape
                if(document.layers){
                        eval(ns_statement);
                }else if(document.images){
                        eval(ie_statement);
        }
}

function multiChange(whicharray,onoffarray){
        for(i=0;i<=whicharray.length;i++){
                this.imageChange(whicharray[i],onoffarray[i]);
        }
}

//constructor for rollovers obj
function rollovers(baseurl,imagenames,layernames){
        //properties - each are arrays to support multiple images
        // doesn't support nested layers

        this.imagenames = imagenames;
        this.layernames = layernames ? layernames : '';
        this.baseurl = baseurl;
        this.off_images = new Array;
        this.on_images = new Array;

        //preload the images & store as properties
        for(i=0;i<=imagenames.length;i++){
                this.off_images[i] = new Image();
                this.off_images[i].src = this.baseurl + imagenames[i] + ".gif";
                this.on_images[i] = new Image();
                this.on_images[i].src = this.baseurl + imagenames[i] + "_on.gif";
        }
        //methods
        this.imageChange = imageChange;
        this.multiChange = multiChange;
}

