(function(){if(typeof Spry=="undefined"||!Spry.Widget||!Spry.Widget.PanelSet)
{alert("SpryFadingPanels.js requires SpryPanelSet.js!");return;}
Spry.Widget.FadingPanels=function(elements,opts)
{var mergedOpts=this.setOptions(this.setOptions({},Spry.Widget.FadingPanels.config),opts);Spry.Widget.PanelSet.call(this,Spry.$$(elements),mergedOpts);};Spry.Widget.FadingPanels.prototype=new Spry.Widget.PanelSet();Spry.Widget.FadingPanels.prototype.constructor=Spry.Widget.FadingPanels;Spry.Widget.FadingPanels.config={defaultPanel:0,minOpacity:0,maxOpacity:1,minDuration:500,maxDuration:500,stoppedMinDuration:200,stoppedMaxDuration:200,visibleClass:"FadingPanelVisible",hiddenClass:"FadingPanelHidden",autoPlay:false,displayInterval:4000,parallelTransition:true};Spry.Widget.FadingPanels.prototype.initialize=function()
{var evt=new Spry.Widget.Event(this);this.notifyObservers("onPreInitialize",evt);if(!evt.performDefaultAction)
return;this.disableNotifications();Spry.Widget.PanelSet.prototype.initialize.call(this);var panels=this.getPanels();var cpanel=this.currentPanel;for(var i=0;i<panels.length;i++)
{var p=panels[i];this.setOpacity(p,(p==cpanel)?this.maxOpacity:this.minOpacity);}
this.enableNotifications();this.notifyObservers("onPostInitialize",evt);};Spry.Widget.FadingPanels.prototype.showPanel=function(eleOrIndex)
{var ele=this.indexToElement(eleOrIndex);if(ele&&ele!=this.currentPanel)
{var evt=this.createEvent(ele,{currentPanel:this.currentPanel});this.notifyObservers("onPreShowPanel",evt);if(!evt.performDefaultAction)
return;if(this.showEffect&&!this.parallelTransition){this.showEffect.stop();}
if(this.hideEffect&&!this.parallelTransition){this.hideEffect.stop();}
var currentPanel=this.currentPanel;this.currentPanel=ele;var self=this;var showPanelComplete=function(){self.currentPanel=ele;self.addClassName(ele,self.visibleClass);self.removeClassName(ele,self.hiddenClass);self.notifyObservers("onPreShowPanelEffect",evt);self.showEffect=new Spry.Effect.CSSAnimator(ele,"opacity: "+self.maxOpacity,{duration:self.isPlaying()?self.maxDuration:self.stoppedMaxDuration});self.showEffect.addObserver({onAnimationComplete:function(){self.showEffect=null;self.notifyObservers("onPostShowPanelEffect",evt);}});self.showEffect.start();self.notifyObservers("onPostShowPanel",evt);};if(currentPanel)
this.hidePanel(currentPanel,showPanelComplete);else
showPanelComplete();}};Spry.Widget.FadingPanels.prototype.hidePanel=function(eleOrIndex,callback)
{var ele=this.indexToElement(eleOrIndex);if(ele){var evt=this.createEvent(ele);this.notifyObservers("onPreHidePanel",evt);if(!evt.performDefaultAction)
return;this.currentPanel=null;var self=this;var hidePanelComplete=function(){self.addClassName(ele,self.hiddenClass);self.removeClassName(ele,self.visibleClass);self.notifyObservers("onPostHidePanel",evt);if(callback){callback();}};this.notifyObservers("onPreHidePanelEffect",evt);this.hideEffect=new Spry.Effect.CSSAnimator(ele,"opacity: "+this.minOpacity,{duration:this.isPlaying()?this.minDuration:this.stoppedMinDuration});this.hideEffect.addObserver({onAnimationComplete:function(){self.hideEffect=null;self.notifyObservers("onPostHidePanelEffect",evt);if(!self.parallelTransition){hidePanelComplete();}}})
this.hideEffect.start();if(this.parallelTransition){hidePanelComplete();}}};})();
