/* @author laurent@eosgarden.com */
function shuffle(array){var tmp,cur,top=array.length;if(top){while(--top){cur=$random(0,top+1);tmp=array[cur];array[cur]=array[top];array[top]=tmp;}}return array;}function randomPos(container,el,lastEl){var fact=0.9;var elSz=el.getSize();elSz.posX=el.getStyle('left').toInt();elSz.posY=el.getStyle('top').toInt();if(lastEl!==undefined){var lElSz=lastEl.getSize();lElSz.posX=lastEl.getStyle('left').toInt();lElSz.posY=lastEl.getStyle('top').toInt();var collision=true;var cpt=0;do{var NewPosX=$random(container.minW,(container.width-elSz.x));var NewPosY=$random(container.minH,(container.height-elSz.y));if((NewPosX<=(lElSz.posX+lElSz.x*fact))&&((NewPosX+elSz.x*fact)>=lElSz.posX)&&(NewPosY<=(lElSz.posY+lElSz.y*fact))&&((NewPosY+elSz.y*fact)>=lElSz.posY)&&cpt<60){collision=true;}else{collision=false;}cpt++;}while(collision);}else{var NewPosX=$random(container.minW,(container.width-elSz.x));var NewPosY=$random(container.minH,(container.height-elSz.y));}el.setStyle('left',NewPosX);el.setStyle('top',NewPosY);}window.addEvent('domready',function(){var items=shuffle($$('.fade_item'));var viewPort={minW: 0,minH: 20,width: 735,height: 165};var visibleTime=10000;var pauseTime=1000;var transitionTime=1200;var interval=visibleTime+pauseTime;items.each(function(el,i){if(i==0){el.setStyle('opacity','0');el.setStyle('display','block');randomPos(viewPort,el);new Fx.Morph(el,{duration: transitionTime,transition: Fx.Transitions.Quad.easeInOut}).start({'opacity':[0,1]});}else{el.setStyle('opacity','0');el.setStyle('display','block');}});var nbItems=items.length;var itemNb=0;var fadeIt=function(){var curItem=items[itemNb];if(itemNb<(nbItems-1)){itemNb++;}else{itemNb=0;}var newItem=items[itemNb];randomPos(viewPort,newItem,curItem);var fadeIn=new Fx.Morph(newItem,{duration:(transitionTime*1.3).toInt(),transition: Fx.Transitions.Quad.easeInOut});var fadeOut=new Fx.Morph(curItem,{duration: transitionTime,transition: Fx.Transitions.Quad.easeInOut,onComplete: function(el){(function(){fadeIn.start({'opacity':[0,1]});}).delay(pauseTime);}});fadeOut.start({'opacity':[1,0]});};fadeIt.periodical(interval,this);});
