var leftOff =100; var step=25; var gL=false; var gR=false; function goLeft(){ if (Math.abs($('picC').offsetLeft) > 450){ new Effect.Move('picC', { x: -425, mode: 'absolute' }); leftOff=0; } else { new Effect.Move('picC', {x: 0-step, y: 0, mode: 'relative', transition: Effect.Transitions.linear,queue: 'end', duration: 0.5, afterfinish: function( ) {if (gL) goLeft();}}); } } function goRight(){ if ($('picC').offsetLeft > 0){ new Effect.Move('picC', { x: 0, mode: 'absolute' }); leftOff=0; } else { new Effect.Move('picC', {x: 0+step, y: 0, mode: 'relative', transition: Effect.Transitions.linear,queue: 'end', duration: 0.5, afterfinish: function( ) {if (gR) goRight(); }}); } } function startL(){ goLeft(); if (gL){ setTimeout("startL()",400); } } function startR(){ goRight(); if (gR){ setTimeout("startR()",400); } } function clearQueues(){ var queue = Effect.Queues.get('global'); queue.each(function(effect) { effect.cancel(); }); }