/*
Billboad JS
Author: Philip Weir
Version: 1.0
Date: 20110611
*/
(function(a){a.billboard=function(b,c){var d={billboardType:"img",transitionType:"fade",transitionSpeed:2e3,autoSpeed:9e3,timeoutSpeed:6e4,controller:!1,button:"&bull;"};this.options=a.extend({},d,c||{}),this.autoTimer=null,this.pauseTimer=null,this.obj=a(b);var e=this,f=this.options.billboardType;this.obj.addClass("billboard"),this.obj.children(f).addClass("bbitem"),this.obj.children(f+":first").addClass("active");if(this.options.controller){var g=this.obj.children(f).length;this.obj.append(a("<div>").addClass("controller"));for(i=1;i<=g;i++){var h="";this.obj.children(f+":nth-child("+i+")").attr("title")?h=this.obj.children(f+":nth-child("+i+")").attr("title"):h=this.obj.children(f+":nth-child("+i+")").attr("alt"),this.obj.children("div.controller").append(a("<a>").html(this.options.button.replace("%i",i).replace("%t",h)).attr("href","#").addClass(i==1?"active":"").addClass("bblink"+i).click(function(){e.rotate(this);return!1}).attr("title",h))}}this.transitionComplete=function(a,b){a.removeClass("active last-active"),this.options.controller&&(this.obj.children("div.controller").children("a.active").removeClass("active"),this.obj.children("div.controller").children("a:nth-child("+(b.index()+1)+")").addClass("active"))},this.rotate=function(b){var c=this.obj.children(f+".active");c.length==0&&(c=this.obj.children(f+":last"));if(!(c.hasClass("last-active")||b&&a(b).index()==c.index())){if(b){var d=this.obj.children(f+":nth-child("+(a(b).index()+1)+")");this.options.autoSpeed>0&&(clearInterval(this.autoTimer),clearTimeout(this.pauseTimer),this.pauseTimer=window.setTimeout(function(){e.pauseTimer=setInterval(function(){e.rotate()},e.options.autoSpeed)},this.options.timeoutSpeed))}else var d=c.next().hasClass("bbitem")?c.next():this.obj.children(f+":first");c.addClass("last-active");switch(this.options.transitionType){case"slideUp":var g=this.obj.height()+"px";c.animate({top:"-="+g},this.options.transitionSpeed),d.css("top",g).addClass("active").animate({top:"-="+g},this.options.transitionSpeed,function(){e.transitionComplete(c,d)});break;case"slideDown":var g=this.obj.height()+"px";c.animate({top:"+="+g},this.options.transitionSpeed),d.css("top","-"+g).addClass("active").animate({top:"+="+g},this.options.transitionSpeed,function(){e.transitionComplete(c,d)});break;case"slideLeft":var g=this.obj.width()+"px";c.animate({left:"-="+g},this.options.transitionSpeed),d.css("left",g).addClass("active").animate({left:"-="+g},this.options.transitionSpeed,function(){e.transitionComplete(c,d)});break;case"slideRight":var g=this.obj.width()+"px";c.animate({left:"+="+g},this.options.transitionSpeed),d.css("left","-"+g).addClass("active").animate({left:"+="+g},this.options.transitionSpeed,function(){e.transitionComplete(c,d)});break;case"fade":d.css({opacity:0}).addClass("active").animate({opacity:1},this.options.transitionSpeed,function(){e.transitionComplete(c,d)})}}},this.options.autoSpeed>0&&(this.autoTimer=setInterval(function(){e.rotate()},this.options.autoSpeed))},a.fn.billboard=function(b){return this.each(function(){var c=a(this).data("billboard");c?(b&&a.extend(c.options,b),c.reload()):a(this).data("billboard",new a.billboard(this,b))})}})(jQuery)
