
var CNETcarousel=new Class({initialize:function(container,options){this.container=$(container);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},options||{});this.slides=$(container).getElements(this.options.slidesSelector);this.buttons=$(container).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(action){this.buttons.each(function(el,idx){$(el).addEvent(action,function(){this.slideFx.setOptions(this.slideFx.options,{duration:this.options.rotateActionDuration});if(this.currentSlide!=idx)this.showSlide(idx);this.stop();}.bind(this));},this);},createFx:function(){this.slideFx=new Fx.Elements(this.slides,{duration:this.options.transitionDuration});this.slides.each(function(slide){slide.setStyle('opacity',0);});},showSlide:function(slideIndex){var action={};this.slides.each(function(slide,index){if(index==slideIndex&&index!=this.currentSlide){$(this.buttons[index]).removeClass(this.options.buttonOffClass).addClass(this.options.buttonOnClass);action[index.toString()]={'opacity':[1]};}else{$(this.buttons[index]).removeClass(this.options.buttonOnClass).addClass(this.options.buttonOffClass);action[index.toString()]={'opacity':[0]};}},this);this.options.onShowSlide(slideIndex);this.currentSlide=slideIndex;this.slideFx.start(action);},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(el,options){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'},options||{});this.parent(el,this.options);},showSlide:function(slideIndex){this.buttons.each(function(button,index){$(button).getElement(this.options.bubbleButtonBGImgSelector).src=(index==slideIndex)?this.options.buttonOnGifSrc:this.options.buttonOffGifSrc;},this);this.parent(slideIndex);}});var carousel=null;window.onDomReady(function(){if($('Carousel')){carousel=new CNETcarouselWithButtons($('Carousel'),{buttonsSelector:'.bubble',rotateAction:'mouseover'});}});