//$Id: panels.js 61648 2010-10-27 12:44:41Z vu $
/*Needs:
-UtilityService.js
-panelHandler.js
-ImageSliderHandler.js (parent class)
-scriptaculous
Make sure to set the global variable baseURL to a valid path for ajax requests
*/

var NordseterImageSliderHandler=Class.create(ImageSliderHandler,
{
   initialize:function($super,containerId,parentHandler,imageSourceList)
   {
       $super(containerId,parentHandler,imageSourceList);
   },

   showImage:function(imageForSliding)
   {
       //after all the effects are displayed, update current index
       //effect queues are not working so for now lets make linked effects
       var imageElement=imageForSliding.getImageElement();      

      Effect.Appear
      (
         imageElement,
         {
             from:0.1,
             queue:{position:"end",scope:"slideEffect1"}
         }
      );

      if(this.myImages.size()>1)
      {
          Effect.Fade
          (
             imageElement,
             {
               delay:10,
               //to:0.5,
               queue:{position:"end",scope:"slideEffect1"}
               ,afterFinish:function()
               {
                   imageElement.hide();
                   imageElement.setStyle({opacity: 1});
                   this.indexCurrentImage=this.getNextIndex(this.indexCurrentImage);
                   var nextImage=this.getImages(null).get(this.indexCurrentImage);

                   if(!nextImage.hasAtttemptedToLoadAlready())
                   {
                       nextImage.startLoading();
                   }
                   else if(nextImage.isReady())
                   {
                       this.showImage(nextImage,imageElement);
                   }
               }.bind(this,imageElement)}
          );
      }      

   }

});

