dbug={logged:[],timers:{},loadtimers:{},loadtimerlogged:[],firebug:false,debug:false,log:function(){this.logged.push(arguments)},nolog:function(a){this.logged.push(arguments)},time:function(a){this.timers[a]=new Date().getTime()},loadtime:function(a){this.loadtimers[a]=new Date().getTime()},timeEnd:function(a){if(this.timers[a]>0){var b=new Date().getTime()-this.timers[a];this.log('%s: %s',a,b);this.timers[a]=false}else this.log('no such timer: %s',a)},enable:function(){if(this.firebug){try{this.debug=true;this.log=console.debug||console.log;this.time=console.time;this.timeEnd=console.timeEnd;this.log('enabling dbug');for(i=0;i<this.logged.length;i++){this.log.apply(console,this.logged[i])}this.logged=[]}catch(e){this.enable.delay(400)}}},disable:function(){if(this.firebug)this.debug=false;this.log=this.nolog;this.time=function(){};this.timeEnd=function(){}}};if(typeof console!="undefined"&&console.warn){dbug.firebug=true;if(window.location.href.indexOf("jsdebug=true")>0)dbug.enable()}var CNETcarousel=new Class({initialize:function(a,b){this.container=$(a);if(!this.container.hasClass('hasCarousel')){this.container.addClass('hasCarousel');this.slides=[];this.buttons=[];this.options=Object.extend({onRotate:Class.create(),onStop:Class.create(),onAutoPlay:Class.create(),onShowSlide:Class.create(),slidesSelector:".slide",buttonsSelector:".button",slideInterval:4000,transitionDuration:700,startIndex:0,buttonOnClass:"selected",buttonOffClass:"off",rotateAction:"none",rotateActionDuration:100,autoplay:true},b||{});this.slides=$(a).getElements(this.options.slidesSelector);this.buttons=$(a).getElements(this.options.buttonsSelector);this.createFx();this.showSlide(this.options.startIndex);if(this.options.autoplay)this.autoplay();if(this.options.rotateAction!='none')this.setupAction(this.options.rotateAction);return this}else return false},setupAction:function(c){this.buttons.each(function(a,b){$(a).addEvent(c,function(){this.slideFx.setOptions(this.slideFx.options,{duration:this.options.rotateActionDuration});if(this.currentSlide!=b)this.showSlide(b);this.stop()}.bind(this))},this)},createFx:function(){this.slideFx=new Fx.Elements(this.slides,{duration:this.options.transitionDuration});this.slides.each(function(a){a.setStyle('opacity',0)})},showSlide:function(c){var d={};this.slides.each(function(a,b){if(b==c&&b!=this.currentSlide){$(this.buttons[b]).removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass);d[b.toString()]={'opacity':[1]}}else{$(this.buttons[b]).removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass);d[b.toString()]={'opacity':[0]}}},this);this.options.onShowSlide(c);this.currentSlide=c;this.slideFx.start(d)},autoplay:function(){this.createFx();this.slideshowInt=this.rotate.periodical(this.options.slideInterval,this);this.options.onAutoPlay()},stop:function(){clearInterval(this.slideshowInt);this.options.onStop()},rotate:function(){current=this.currentSlide;next=(current+1>=this.slides.length)?0:current+1;this.showSlide(next);this.options.onRotate()},show:function(){$(this.options.carouselContainer).setStyle('visibility','visible');if(!$(this.options.carouselContainer).visible())$(this.options.carouselContainer).show()},hide:function(){$(this.options.carouselContainer).setStyle('visibility','hidden')}});var CNETcarouselWithButtons=CNETcarousel.extend({initialize:function(a,b){this.options=Object.extend({bubbleButtonBGImgSelector:'.bbg',buttonOnGifSrc:'http://i.i.com.com/cnwk.1d/i/fd/c/green_button.gif',buttonOffGifSrc:'http://i.i.com.com/cnwk.1d/i/fd/c/gray_button.gif'},b||{});this.parent(a,this.options)},showSlide:function(c){this.buttons.each(function(a,b){$(a).getElement(this.options.bubbleButtonBGImgSelector).src=(b==c)?this.options.buttonOnGifSrc:this.options.buttonOffGifSrc},this);this.parent(c)}});var carousel=null;window.onDomReady(function(){if($('Carousel')){carousel=new CNETcarouselWithButtons($('Carousel'),{buttonsSelector:'.bubble',rotateAction:'mouseover'})}});