/*!
 * jQuery Slideshow
 *
 * Copyright 2011, Ryan Florence
 * MIT Style License
 * http://ryanflorence.com/jquery-slideshow/
 *
*/(function(a){a.widget("rf.slideshow",{options:{transition:"fade",selector:"> *",initialIndex:0,autoStyle:!0,autoPlay:!0,delay:3e3,duration:400,resetTimerOnShow:!0},_init:function(){this.options.autoStyle&&(this.element.css("position")==="static"&&this.element.css("position","relative"),this.element.css("overflow","hidden")),this.transitioning=!1,this.playing=!1,this.setup(),this.options.autoPlay&&this.play()},setup:function(){this.slides=this.element.find(this.options.selector).map(function(b,c){return a(c)}),this.current=this.current||this.options.initialIndex,this._setupSlides()},show:function(c,d){var e=typeof c=="number"?c:this["_"+c]();if(!this.transitioning&&this.current!==e){this.playing&&this.options.resetTimerOnShow&&this.stop().play();var f=a.extend({},this.options,d),g=this._parseTransition(f.transition),h=this._prepNext(e),i=this._prepPrevious(this.current);eventData={previous:{element:i,index:i.data("slideshow:index")},next:{element:h,index:e},instance:this},this.transitioning=!0,this.current=e,h.addClass(this.widgetBaseClass+"-next"),i.addClass(this.widgetBaseClass+"-previous").removeClass(this.widgetBaseClass+"-current"),this.element.addClass(this.widgetBaseClass+"-transitioning"),g.args.unshift({previous:i,next:h,duration:f.duration,instance:this}),this._trigger("show",null,eventData),b[g.name].apply(b,g.args),setTimeout(a.proxy(function(){this.transitioning=!1,h.removeClass(this.widgetBaseClass+"-next").addClass(this.widgetBaseClass+"-current"),i.removeClass(this.widgetBaseClass+"-previous").css("display","none"),this.element.removeClass(this.widgetBaseClass+"-transitioning"),this._trigger("complete",null,eventData)},this),f.duration);return this}},play:function(b){this._timer=setInterval(a.proxy(function(){this.show("next")},this),this.options.delay),b&&this.show("next"),this.playing=!0;return this},stop:function(){clearInterval(this._timer),this.playing=!1;return this},_parseTransition:function(b){var c=b.match(/(.+)(\((.+)\))|(.+)/);return c[4]?{name:c[4],args:[]}:{name:c[1],args:a.map(c[3].split(","),function(b){var c=a.trim(b),d=parseFloat(c);if(c==="true")return!0;if(c==="false")return!1;if(c===""||c==="undefined")return undefined;if(c==="null")return null;if(!isNaN(d))return d;return c})}},_next:function(){return this.current===this.slides.length-1?0:this.current+1},_previous:function(){return this.current===0?this.slides.length-1:this.current-1},_styles:{left:0,top:0,position:"absolute"},_prepNext:function(b){var c=this.slides[b],d=c.data("slideshow:style"),e={display:"","z-index":0};this.options.autoStyle&&a.extend(e,this._styles);return c.attr("style",d).css(e)},_prepPrevious:function(a){this._storeStyles(a);return this.slides[a].css("z-index",1)},_storeStyles:function(a){this.slides[a].data("slideshow:style",this.slides[a].attr("style")||"")},_setupSlides:function(){for(var a=0,b=this.slides.length,c;a<b;a++)c=this.slides[a],this._storeStyles(a),c.data("slideshow:index",a),this.options.autoStyle&&c.css(this._styles),c.css("display",a===this.current?"":"none")}});var b={};a.rf.slideshow.defineTransition=function(a,c){b[a]=c},a.rf.slideshow.defineTransitions=function(b){a.each(b,function(b,c){a.rf.slideshow.defineTransition(b,c)})},a.rf.slideshow.defineTransitions({none:function(a){a.previous.css("display","none")},fade:function(a){a.previous.fadeOut(a.duration)},crossFade:function(a){a.next.hide().fadeIn(a.duration),a.previous.fadeOut(a.duration)},fadeThroughBackground:function(a){var b=a.duration/2;a.next.hide(),a.previous.fadeOut(b),setTimeout(function(){a.next.fadeIn(b)},b)},blind:function(a,b,c,d){var e={},f={"z-index":2},g=b==="left"||b==="right"?"left":"top";e[g]="0%",f[g]=b==="left"||b==="up"?"100%":"-100%",a.next.css(f).animate(e,a.duration,d),c&&this.fade.apply(this,arguments)},slide:function(a,b,c,d){var e={},f=b==="left"||b==="right"?"left":"top";e[f]=b==="left"||b==="up"?"-100%":"100%",c&&(e.opacity=0),a.previous.animate(e,a.duration,d)},push:function(a,b,c){var d={},e={},f={"z-index":2},g=b==="left"||b==="right"?"left":"top",h=b==="left"||b==="up";d[g]="0%",f[g]=h?"100%":"-100%",e[g]=h?"-100%":"100%",a.next.css(f).animate(d,a.duration,c),a.previous.animate(e,a.duration,c)}}),a.rf.slideshow.v="1.0.0"})(jQuery)
