//05/2011 virtualgadjo
var mooVRoundthing=new Class({Implements:[Options,Events],options:{maxWidth:200,maxHeight:100,topZ:500,mode:"horizontal",pad:1.5,opacity:true,fontMax:40,vCenter:false,onStart:function(){},onFocus:function(){},initRad:120,transition:"linear",fxspeed:300,auto:"forward",autospeed:5000,hoverStop:true,lineheight:"normal"},initialize:function(container,elems,options){this.setOptions(options);this.container=container;this.getCoord();this.elems=elems;this.num=this.elems.length;this.deg=[];this.move=0;this.tbMove=0;this.diff=this.options.initRad==false?0:-this.options.initRad;this.tbDiff=this.options.initRad==false?0:-this.options.initRad;this.elStyles=[];this.firstPlace();if(this.options.auto!=false){this.autoplay.delay(this.options.autospeed,this);if(this.options.hoverStop==true){this.container.addEvents({"mouseenter":function(){clearTimeout(this.ontheroad);}.bind(this),"mouseleave":function(){this.autoplay.delay(this.options.autospeed,this);}.bind(this)});}}window.addEvent("resize",this.getCoord.bind(this));},getCoord:function(){this.contCoord=this.container.getCoordinates();this.ziLeft=this.contCoord.left;this.ziTop=this.contCoord.top;this.ziWidth=this.contCoord.width;this.ziHeight=this.contCoord.height;this.ch=this.ziWidth/2;this.cv=this.ziHeight/2;},firstPlace:function(){this.elems.each(function(el,i){this.deg.push(360*i/this.num);el.setStyles({"display":"block","float":"none","position":"absolute"});this.place(el,i);}.bind(this));},place:function(el,i){var coef;var rad=(this.deg[i]*Math.PI/180);coef=this.deg[i]<180?((360-this.deg[i])/360):(this.deg[i]/360);if(this.options.mode=="horizontal"){this.yMove=this.tbDiff?this.tbDiff*(Math.cos(rad)):0;var ziW=(this.options.maxWidth*coef).toInt();var cx=(this.ch+(this.ch*(Math.sin(rad)/this.options.pad))).toInt();var _x=cx-(ziW/2).toInt();var ziH=(this.options.maxHeight*coef).toInt();var _y=((this.ziHeight-ziH)/2).toInt()-this.yMove/this.options.pad;}else{if(this.options.mode=="vertical"){this.xMove=this.diff?this.diff*(Math.cos(rad)):0;var ziW=(this.options.maxWidth*coef).toInt();var _x=((this.ziWidth-ziW)/2).toInt()-this.xMove/this.options.pad;var ziH=(this.options.maxHeight*coef).toInt();var cy=(this.cv+(this.cv*(Math.sin(rad)/this.options.pad))).toInt();var _y=cy-(ziH/2).toInt();}}el.setStyles({"top":_y,"left":_x,"width":ziW,"height":ziH,"z-index":(this.options.topZ*coef).toInt(),"opacity":this.options.opacity==true?coef:1,"font-size":(this.options.fontMax*coef).toInt(),"line-height":this.options.vCenter==true?ziH.toInt():this.options.lineheight});this.elStyles[i]=el.getStyles("top","left","width","height","z-index","font-size","line-height","opacity");this.current=0;},prevNext:function(el,i,j){el.set("morph",{duration:this.options.fxspeed,transition:this.options.transition,link:"ignore",onComplete:function(){this.elStyles[i]=el.getStyles("top","left","width","height","z-index","font-size","line-height","opacity");this.fireEvent("onFocus");}.bind(this)});el.morph({"height":this.elStyles[j]["height"],"width":this.elStyles[j]["width"],"top":this.elStyles[j]["top"],"left":this.elStyles[j]["left"],"z-index":this.elStyles[j]["z-index"],"font-size":this.elStyles[j]["font-size"],"line-height":this.elStyles[j]["line-height"],"opacity":this.elStyles[j]["opacity"]});},goNext:function(){this.elems.each(function(el,i){j=i<this.num-1?i+1:0;this.prevNext(el,i,j);}.bind(this));this.current++;if(this.current==this.num){this.current=0;}},goPrev:function(){this.elems.each(function(el,i){j=i==0?this.num-1:i-1;this.prevNext(el,i,j);}.bind(this));this.current--;if(this.current==-1){this.current=this.num-1;}},autoplay:function(){if(this.options.auto=="forward"){this.goNext();}else{if(this.options.auto=="backward"){this.goPrev();}else{return;}}this.ontheroad=this.autoplay.delay(this.options.autospeed,this);}});
