var MooLin=new Class({Implements:[Options],options:{hauteur:100,pause:2000,vitesse:1500,mouseStop:true},initialize:function(b,a){this.setOptions(a);this.liste=$(b);this.fx={pause:false,resume:{}};if(this.liste){this.lignes=this.liste.getElements("li")}},activer:function(){if(this.liste){this.liste.setStyles({position:"relative",overflow:"hidden"});if(this.options.mouseStop){this.liste.addEvents({mouseenter:function(a){this.fx.pause=true;this.fx.masque&&this.fx.masque.pause();this.fx.affiche&&this.fx.affiche.pause()}.bind(this),mouseleave:function(a){this.fx.pause=false;this.fx.masque&&this.fx.masque.resume();this.fx.affiche&&this.fx.affiche.resume();if(this.fx.resume.masque){this.masque(this.fx.resume.masque)}if(this.fx.resume.affiche){this.masque(this.fx.resume.affiche)}this.fx.resume={}}.bind(this)})}this.redimensionne(this.options.hauteur);if(this.lignes.length>0){this.lignes.each(function(a){a.setStyles({position:"absolute",top:"100%"})});this.affiche(1)}}},desactiver:function(){if(this.liste){if(this.fx.timeout){clearTimeout(this.fx.timeout)}if(this.fx.affiche){this.fx.affiche.cancel();this.fx.affiche=null}if(this.fx.masque){this.fx.masque.cancel();this.fx.masque=null}this.redimensionne("auto");this.lignes.setStyles({position:"static",top:"auto"})}},redimensionne:function(a){if(this.liste){if(a!="auto"){this.options.hauteur=a}this.liste.setStyle("height",a)}},affiche:function(a){if(this.fx.pause){this.fx.resume.affiche=a}else{if(a>this.lignes.length){a=1}this.fx.affiche=new Fx.Tween(this.lignes[a-1],{duration:this.options.vitesse,unit:"%",onComplete:function(b){this.fx.affichge=null;this.fx.timeout=this.masque.delay(this.options.pause,this,[a])}.bind(this)}).start("top",0)}},masque:function(a){if(this.fx.pause){this.fx.resume.masque=a}else{this.fx.masque=new Fx.Tween(this.lignes[a-1],{duration:this.options.vitesse/2,link:"cancel",onStart:function(b){if(this.lignes.length>1){this.affiche(a+1)}}.bind(this),onComplete:function(b){this.fx.masque=null;b.setStyles({opacity:1,top:"100%"});if(this.lignes.length==1){this.affiche(1)}}.bind(this)}).start("opacity",0)}}});

