(function(a){a.fn.spotlight=function(b){return this.each(function(){a.data(this,"spotlight",new a.spotlight.init(this,b))})};a.spotlight={defaults:{featureItems:".spotlight_item",itemContent:".featured_content",feature:".spotlight_feature",featuredClass:"on",displayTime:3,autoReStart:true,transition:null},init:function(c,d){var b=this;this.settings=a.extend({},a.spotlight.defaults,d);this.features=a(c).find(this.settings.featureItems);this.featureContainer=a(c).find(this.settings.feature);if(this.settings.transition){if(typeof this.settings.transition=="object"){this.settings.transitionSpeed=this.settings.transition[1];this.settings.transition=this.settings.transition[0]}this.transitionContainer=this.featureContainer.clone().css({position:"absolute",top:0,left:0,margin:0,border:0,overflow:"hidden"}).hide()}this.features.each(function(e){var f=a(this);f.data("idx",e);f.data("featured",f.find(b.settings.itemContent).remove().html())}).hover(function(){b.show(a(this).data("idx"))},function(){b.restart()});this.featureContainer.hover(function(){b.stop()},function(){b.restart()});this.show(0);this.start()}};a.extend(a.spotlight.init.prototype,{currentIdx:0,showing:null,running:false,interval:null,show:function(b){this.stop();if(this.showing){this.showing.removeClass(this.settings.featuredClass)}this.showing=this.features.eq(b);this.currentIdx=b;this.showing.addClass(this.settings.featuredClass);if(this.featureContainer){if(this.transitionContainer){this.transitionTo(this.showing.data("featured"))}else{this.featureContainer.html(this.showing.data("featured"))}}},start:function(){var b=this;this.running=true;this.interval=setTimeout(function(){b.next(true)},this.settings.displayTime*1000)},stop:function(){this.running=false;clearTimeout(this.interval)},restart:function(){if(this.settings.autoReStart){this.start()}},next:function(c){if(this.running||c){var b=this.currentIdx+1;if(b>=this.features.size()){b=0}this.show(b);if(this.running||c){this.start()}}},transitionTo:function(c){var b=this;this.transitionContainer.hide().html(c).appendTo(this.featureContainer);this.transitionContainer[this.settings.transition](this.settings.transitionSpeed,function(){b.featureContainer.html(c)})}})})(jQuery);