(function(a){var b={init:function(b){return this.each(function(){var c=this,d=a(this),e=d.data("rsf_slideshow"),f;if(!e){f=a.extend(true,{},a.rsfSlideshow.defaults);if(typeof b==="object"){a.extend(true,f,b)}d.data("rsf_slideshow",{slides:[],this_slide:0,effect_iterator:{this_effect:-1,direction:1},settings:f,interval_id:false,loaded_imgs:[],queued:0});e=d.data("rsf_slideshow")}f=e.settings;d.rsfSlideshow("getSlidesFromMarkup");if(f.slides.length){d.rsfSlideshow("addSlides",f.slides);f.slides=[]}if(typeof f.eventHandlers==="object"){a.each(f.eventHandlers,function(a,b){d.bind(a,function(a){b(d,a)})})}if(f.controls.playPause.auto){d.rsfSlideshow("addControl","playPause")}if(f.controls.previousSlide.auto){d.rsfSlideshow("addControl","previousSlide")}if(f.controls.index.auto){d.rsfSlideshow("addControl","index")}if(f.controls.nextSlide.auto){d.rsfSlideshow("addControl","nextSlide")}if(f.autostart){d.rsfSlideshow("startShow")}})},addSlides:function(b){return this.each(function(){if(b instanceof Array){for(var d=0,e=b.length;d<e;d++){c._addSlide(a(this),b[d])}}else{c._addSlide(a(this),b)}})},removeSlides:function(b){if(b===undefined){return this.each(function(){a(this).data("rsf_slideshow").slides=[]})}else if(b instanceof Array){b.sort(function(a,b){return b-a});var d=[];return this.each(function(){for(var e=0,f=b.length;e<f;e++){if(a.inArray(b[e],d)===-1){c._removeSlide(a(this),b[e]);d.push(b[e])}}})}else{return this.each(function(){c._removeSlide(a(this),b)})}},getSlideData:function(a){if(a===undefined){return this.data("rsf_slideshow").slides}if(this.data("rsf_slideshow").slides[a]){return this.data("rsf_slideshow").slides[a]}return false},startShow:function(b,d){return this.each(function(){var e=a(this);if(!e.data("rsf_slideshow").interval_id){if(d){e.rsfSlideshow("nextSlide")}if(!b){b=e.data("rsf_slideshow").settings.interval}if(b<=e.data("rsf_slideshow").settings.transition/1e3){b=e.data("rsf_slideshow").settings.transition/1e3+.1}e.data("rsf_slideshow").interval_id=setInterval(function(){e.rsfSlideshow("nextSlide")},b*1e3);c._trigger(e,"rsStartShow")}})},stopShow:function(){return this.each(function(){var b=a(this).data("rsf_slideshow");if(b.interval_id){clearInterval(b.interval_id);b.interval_id=false;c._trigger(a(this),"rsStopShow")}})},toggleShow:function(){return this.each(function(){if(a(this).rsfSlideshow("isRunning")){a(this).rsfSlideshow("stopShow")}else{a(this).rsfSlideshow("startShow")}})},isRunning:function(){if(this.data("rsf_slideshow").interval_id){return true}return false},currentSlideKey:function(){var a=this.data("rsf_slideshow");return a.this_slide},totalSlides:function(){var a=this.data("rsf_slideshow");return a.slides.length},getSlidesFromMarkup:function(b){return this.each(function(){var d=a(this).data("rsf_slideshow");if(!b){b={}}if(!b.data_container){b.data_container=d.settings.data_container}var e;if(b.data_container.charAt(0)==="#"){e=a(b.data_container)}else{e=a(this).children(b.data_container)}if(!e.length){return false}if(!b.slide_data_container){b.slide_data_container=d.settings.slide_data_container}var f=a.extend(true,{},d.settings.slide_data_selectors);if(b.slide_data_selectors){a.extend(true,f,b.slide_data_selectors)}b.slide_data_selectors=f;var g=a(this);e.children(b.slide_data_container).each(function(){var d=c._findData(a(this),b.slide_data_selectors);g.rsfSlideshow("addSlides",d)})})},nextSlide:function(){return this.each(function(){var b=a(this).data("rsf_slideshow");b.this_slide++;if(b.this_slide>=b.slides.length){if(b.settings.loop){b.this_slide=0}else{b.this_slide=b.slides.length-1;a(this).rsfSlideshow("stopShow");return true}}a(this).rsfSlideshow("showSlide",b.slides[b.this_slide])})},previousSlide:function(){return this.each(function(){var b=a(this).data("rsf_slideshow");b.this_slide--;if(b.this_slide<0){if(b.settings.loop){b.this_slide=b.slides.length-1}else{b.this_slide=0;a(this).rsfSlideshow("stopShow");return true}}a(this).rsfSlideshow("showSlide",b.slides[b.this_slide])})},goToSlide:function(b){return this.each(function(){var c=a(this).data("rsf_slideshow");if(typeof c.slides[b]==="object"){c.this_slide=b;a(this).rsfSlideshow("showSlide",c.slides[c.this_slide])}})},showSlide:function(b){var d=this,e=d.data("rsf_slideshow"),f=d.width(),g=d.height();c._trigger(d,"rsPreTransition");d.children("img:first").css("z-index",0);var h=function(h){var i=a(h);i.addClass("rsf-slideshow-image");var j=function(h,j){c._trigger(d,"rsImageReady");var k=0;if(h){k=Math.ceil(f/2-h/2)}var l=0;if(j){l=Math.ceil(g/2-j/2)}i.css({left:k});i.css({top:l});if(b.image_title){i.attr("title",b.image_title)}if(b.image_alt){i.attr("alt",b.image_alt)}if(b.link_to){i=a('<a href="'+b.link_to+'"></a>').append(i)}var m=a("<div></div>");m.addClass(e.settings.slide_container_class);m.append(i).css("display","none");if(b.caption){var n=a("<div>"+b.caption+"</div>");n.addClass(e.settings.slide_caption_class);n.appendTo(m);if(b.captionClass){n.addClass(b.captionClass)}}var o=e.settings.effect;if(b.effect){o=b.effect}c._transitionWith(d,m,o);return true};c._getImageDimensions(d,i,j,e.settings.interval*1e3/2,function(){j()})};var i=new Image;a(i).bind("load",function(){h(this)});i.src=b.url;return this},addControl:function(b){return this.each(function(){var d=a(this),e=d.data("rsf_slideshow").settings;var f=e.controls[b].generate(d);c._controlsContainer(d);e.controls[b].place(d,f);var g="bind"+b.substr(0,1).toUpperCase()+b.substr(1,b.length);d.rsfSlideshow(g,f)})},bindPlayPause:function(b){return this.each(function(){var c=a(this);var d=c.data("rsf_slideshow");b.bind("click.rsfSlideshow",function(a){a.preventDefault();c.rsfSlideshow("toggleShow")})})},bindPreviousSlide:function(b,c){return this.each(function(){var d=a(this);var e=d.data("rsf_slideshow");if(!c){c=e.settings.controls.previousSlide.autostop}b.bind("click.rsfSlideshow",function(a){a.preventDefault();d.rsfSlideshow("previousSlide");if(c){d.rsfSlideshow("stopShow")}})})},bindNextSlide:function(b,c){return this.each(function(){var d=a(this);var e=d.data("rsf_slideshow");if(!c){c=e.settings.controls.nextSlide.autostop}b.bind("click.rsfSlideshow",function(a){a.preventDefault();d.rsfSlideshow("nextSlide");if(c){d.rsfSlideshow("stopShow")}})})},bindIndex:function(b,d){return this.each(function(){var b=a(this),e=b.data("rsf_slideshow").settings;if(!d){d=e.controls.index.autostop}var f=e.controls.index.getEach(b);f.bind("click.rsfSlideshow",function(c){c.preventDefault();var f=e.controls.index.getSlideKey(a(this));if(f){b.rsfSlideshow("goToSlide",f);if(d){b.rsfSlideshow("stopShow")}}});c._bindActiveIndex(b)})}};a.fn.rsfSlideshow=function(c){if(!this.length){return this}if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.rsfSlidehow")}};var c={_findData:function(a,b){var c={};var d;for(var e in b){if(b.hasOwnProperty(e)){var f=a.clone();if(b[e].selector){f=f.children(b[e].selector)}if(b[e].attr){d=f.attr(b[e].attr)}else{d=f.html()}c[e]=d}}return c},_addSlide:function(b,c){var d=b.data("rsf_slideshow");if(typeof c==="string"){var e=a.trim(c);d.slides.push({url:e})}else if(c.url){for(var f in c){if(c.hasOwnProperty(f)){c[f]=a.trim(c[f])}}d.slides.push(c)}},_removeSlide:function(a,b){a.data("rsf_slideshow").slides.splice(b,1)},_transitionWith:function(b,c,d){var e=b.data("rsf_slideshow"),f="random",g=b.find("."+e.settings.slide_container_class+":last");if(g.length){c.insertAfter(g)}else{c.prependTo(b)}if(typeof d==="object"&&d.iteration&&d.effects){f=d.iteration;d=d.effects}if(d instanceof Array){switch(f){case"loop":e.effect_iterator.this_effect++;if(e.effect_iterator.this_effect>d.length-1){e.effect_iterator.this_effect=0}break;case"backAndForth":e.effect_iterator.this_effect+=e.effect_iterator.direction;if(e.effect_iterator.this_effect<0){e.effect_iterator.this_effect=1;e.effect_iterator.direction=e.effect_iterator.direction*-1}if(e.effect_iterator.this_effect>d.length-1){e.effect_iterator.this_effect=d.length-2;e.effect_iterator.direction=e.effect_iterator.direction*-1}break;default:e.effect_iterator.this_effect=Math.floor(Math.random()*d.length);break}d=d[e.effect_iterator.this_effect]}if(a.rsfSlideshow.transitions[d]&&typeof a.rsfSlideshow.transitions[d]==="function"){a.rsfSlideshow.transitions[d](b,c)}},_doSlide:function(a,b,d,e){var f=a.data("rsf_slideshow"),g=b.prev();b.css({top:e,left:d});b.css("display","block");b.stop().animate({top:0,left:0},f.settings.transition,f.settings.easing,function(){c._endTransition(a,b)});g.stop().animate({top:0-e,left:0-d},f.settings.transition,f.settings.easing)},_getImageDimensions:function(a,b,d,e,f,g){if(!g){g=0;a.prepend(b)}var h=b.outerWidth();var i=b.outerHeight();if(h&&i){b.detach();d(h,i);return true}if(e&&g>e){b.detach();if(f&&typeof f==="function"){f(e,g)}return false}g+=200;setTimeout(function(){c._getImageDimensions(a,b,d,e,f,g)},200)},_endTransition:function(a,b){b.prev().remove();c._trigger(a,"rsPostTransition");if(a.rsfSlideshow("currentSlideKey")===a.rsfSlideshow("totalSlides")-1){c._trigger(a,"rsLastSlide")}else if(a.rsfSlideshow("currentSlideKey")===0){c._trigger(a,"rsFirstSlide")}},_bindActiveIndex:function(b){var c=b.data("rsf_slideshow").settings.controls.index;b.bind("rsPreTransition",function(){var d=a(this).rsfSlideshow("currentSlideKey");c.getEach(b).removeClass(c.active_class);c.getSingleByKey(b,d).addClass(c.active_class)})},_controlsContainer:function(a){var b=a.data("rsf_slideshow").settings;if(!b.controls.container.get(a).length){var c=b.controls.container.generate(a);b.controls.container.place(a,c)}},_trigger:function(b,c,d){var e=b.data("rsf_slideshow");if(typeof d!=="object"){d={}}a.extend(d,{slide_key:e.this_slide,slide:e.slides[e.this_slide]});b.trigger(c,d)}};a.rsfSlideshow={defaults:{interval:5,transition:1e3,effect:"fade",easing:"swing",loop:true,autostart:true,slides:[],slide_container_class:"slide-container",slide_caption_class:"slide-caption",data_container:"ol.slides",slide_data_container:"li",slide_data_selectors:{url:{selector:"a",attr:"href"},caption:{selector:"a",attr:"title"},link_to:{selector:"a",attr:"data-link-to"},effect:{selector:"a",attr:"data-effect"}},eventHandlers:{rsStartShow:function(b,c){var d=a(b).data("rsf_slideshow").settings.controls.playPause;var e=d.get(a(b));e.html("Pause").addClass(d.playing_class)},rsStopShow:function(b,c){var d=a(b).data("rsf_slideshow").settings.controls.playPause;var e=d.get(a(b));e.html("Play").addClass(d.paused_class)}},controls:{playPause:{generate:function(b){return a('<a href="#" class="rs-play-pause '+b.data("rsf_slideshow").settings.controls.playPause.paused_class+'" data-control-for="'+b.attr("id")+'">Play</a>')},place:function(a,b){var c=a.data("rsf_slideshow").settings.controls.container.get(a);c.append(b)},get:function(b){return a('.rs-play-pause[data-control-for="'+b.attr("id")+'"]')},playing_class:"rs-playing",paused_class:"rs-paused",auto:false},previousSlide:{generate:function(b){return a('<a href="#" class="rs-prev" data-control-for="'+b.attr("id")+'"><</a>')},place:function(a,b){var c=a.data("rsf_slideshow").settings.controls.container.get(a);c.append(b)},get:function(b){return a('.rs-prev[data-control-for="'+b.attr("id")+'"]')},autostop:true,auto:false},nextSlide:{generate:function(b){return a('<a href="#" class="rs-next" data-control-for="'+b.attr("id")+'">></a>')},place:function(a,b){var c=a.data("rsf_slideshow").settings.controls.container.get(a);c.append(b)},get:function(b){return a('.rs-next[data-control-for="'+b.attr("id")+'"]')},autostop:true,auto:false},index:{generate:function(b){var c=b.rsfSlideshow("totalSlides"),d=a('<ul class="rs-index-list clearfix"></ul>');d.attr("data-control-for",b.attr("id"));for(var e=0;e<c;e++){var f=a('<a href="#"></a>');f.addClass("rs-index");f.attr("data-control-for",b.attr("id"));f.attr("data-slide-key",e);f.append(e+1);if(e===b.rsfSlideshow("currentSlideKey")){f.addClass("rs-active")}var g=a("<li></li>");g.append(f);d.append(g)}return d},place:function(a,b){var c=a.data("rsf_slideshow").settings.controls.container.get(a);c.append(b)},get:function(b){return a('.rs-index-list[data-control-for="'+b.attr("id")+'"]')},getEach:function(b){return a('.rs-index[data-control-for="'+b.attr("id")+'"]')},getSingleByKey:function(b,c){return a('.rs-index[data-control-for="'+b.attr("id")+'"][data-slide-key="'+c+'"]')},getSlideKey:function(a){return a.attr("data-slide-key")},active_class:"rs-active",autostop:true,auto:false},container:{generate:function(b){return a('<div class="rs-controls clearfix" id="rs-controls-'+b.attr("id")+'"></div>')},place:function(a,b){a.after(b)},get:function(b){return a("#rs-controls-"+b.attr("id"))}}}},transitions:{none:function(a,b){b.css("display","block")},fade:function(a,b){b.fadeIn(a.data("rsf_slideshow").settings.transition,function(){c._endTransition(a,b)})},slideLeft:function(a,b){var d=b.outerWidth();c._doSlide(a,b,d,0)},slideRight:function(a,b){var d=0-b.outerWidth();c._doSlide(a,b,d,0)},slideUp:function(a,b){var d=b.outerHeight();c._doSlide(a,b,0,d)},slideDown:function(a,b){var d=0-b.outerHeight();c._doSlide(a,b,0,d)}}}})(jQuery);
