(function(){var E=CS.UTIL.set,C=CS.UTIL.isset,D=CS.UTIL.is_a,A=CS.UTIL.is_F;window.CS=E(window.CS,{});CS.UI=E(CS.UI,{});function B(J,L,Q){this.options=Object.extend({skip_first:false,delay:5,iterations:0},Q||{});Object.extend(this,{transition:J,args:L,timer:null,completed_iterations:0});var O=this,K=this.options.skip_first;var P=false,H=false,M=false;function I(){O.completed_iterations++;P=false;if(M||O.options.iterations&&(O.completed_iterations>=O.options.iterations)){return O.timer&&O.timer.stop()}if(H){H=false;G(O.timer)}}function G(S,R){if(M||P&&R){return }if(P){H=true;return }if(O.completed_iterations==0&&K){K=false;return }P=true;J.apply(O,[I].concat(L))}function N(){G(O.timer,true)}function F(){M=true;O.timer.stop();delete O.timer}Object.extend(this,{stop:F,fire:N});this.timer=new PeriodicalExecuter(G,this.options.delay)}CS.UI.Billboard=B})();