/* Cette création est mise à disposition selon le Contrat Paternité-Partage des Conditions Initiales à l'Identique 3.0 Unported disponible en ligne http://creativecommons.org/licenses/by-sa/3.0/ ou par courrier postal à Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. */ /* extension prototype */ Object.extend(Event, { wheel:function (event){ var delta = 0; if (event.wheelDelta) { delta = event.wheelDelta/120; if (window.opera) delta = -delta; } else if (event.detail) { delta = -event.detail/3; } if(navigator.userAgent.indexOf('Mac') != -1) delta = -delta; return Math.round(delta); } }); var Horinaja = Class.create(); Horinaja.prototype = { initialize: function(capture, duree, secExecution, pagination){ this.capture = capture; this.duree = duree; this.secExecution = secExecution; this.pagination = pagination; this.nCell = 0; this.id = 1; this.po = 0; this.f = $$('div#'+this.capture+' ul li'); this.px = $(this.capture).getWidth(); this.pxH = $(this.capture).getHeight(); this.start(); }, start: function(){ this.mover = $(this.capture).firstDescendant(); this.nCell = this.f.length; for(i=0;i!=this.nCell;i++){ this.f[i].setStyle({ width: this.px+'px', height: (this.pxH-40)+'px', float: 'left' }); } $(this.capture).setStyle({ overflow:'hidden', position: 'relative' }); $(this.capture).firstDescendant().setStyle({ width:(this.px*this.nCell)+'px' }); if(this.pagination){ $(this.capture).insert({bottom:'
    '}); this.olPagination = $(this.capture).firstDescendant().next(); $(this.olPagination).setStyle({ width: this.px+'px' }); this.wb = Math.floor(this.px/this.f.length); for(i=1;i!=(this.f.length+1);i++){ $(this.olPagination).insert({bottom:'
  1. '+i+'
  2. '}); if(i!=this.id){ $(this.olPagination).childElements()[i-1].setStyle({ opacity:0.2 }); } } $(this.olPagination).childElements()[0].setStyle({ opacity:1 }); this.startOC(); } this.startPe(); Event.observe($(this.capture),"mouseout", this.startPe.bind(this)); Event.observe($(this.capture),"mouseover", this.stopPe.bind(this)); Event.observe($(this.capture), "mousewheel", this.wheelwheel.bind(this)); Event.observe($(this.capture), "DOMMouseScroll", this.wheelwheel.bind(this)); }, startOC: function(){ Event.observe($(this.olPagination),"click", this.moveP.bind(this)); }, startPe: function(){ this.periodik = new PeriodicalExecuter(this.Pe.bind(this),this.secExecution); }, stopPe: function(){ this.periodik.stop(); }, effaceP: function(mop){ this.mop = mop; if(this.pagination) new Effect.Fade($(this.olPagination).childElements()[this.mop-1],{duration:0.3,to:0.2}) }, move: function(xp){ this.xp = xp; new Effect.Move(this.mover, { x: this.xp, y: 0, mode:'absolute', duration: this.duree, transition: Effect.Transitions.sinoidal }); if(this.pagination){ new Effect.Appear($(this.olPagination).childElements()[this.id-1],{duration:0.3,to:1}) } }, Pe: function(){ if(this.idthis.occ){ this.diff= this.id-this.occ; this.po=this.po+(this.px*this.diff); this.effaceP(this.id); this.id=this.occ; this.move(this.po); }else if(this.id