var Carousel = function(carouselElementID, carouselCfg) {
         this.init(carouselElementID, carouselCfg);
};

Carousel.prototype = {
   init: function(id, cfg) {
      var config = {
            numVisible:        2,
            animationSpeed:    0.15,
            scrollInc:         1,
            navMargin:         20,
            size:              8,
         prevButtonStateHandler: this.handlePrevButtonState,
         nextButtonStateHandler: this.handleNextButtonState
      };

      for (var key in cfg) {
         if (!cfg.hasOwnProperty(key)) { continue; }
         config[key] = cfg[key];
      }

      this.carousel = new YAHOO.extension.Carousel(id, config);

   },

   handlePrevButtonState: function(type, args) {
        var enabling = args[0];
        var leftImage = args[1];
        if(enabling) {
            leftImage.src = "files/left-enabled.gif";    
        } else {
            leftImage.src = "files/left-disabled.gif";    
        }
   },

   handleNextButtonState: function(type, args) {
        var enabling = args[0];
        var rightImage = args[1];

        if(enabling) {
            rightImage.src = "files/right-enabled.gif";
        } else {
            rightImage.src = "files/right-disabled.gif";
        }
    }
};