Effect.Drift = function(element, t, spin, cnt) {
	//jf added t= timing offset, spin = + or -, cnt
	if (cnt==undefined) cnt=0;
	t = t;
  element = $(element);
  var oldStyle = {
    top: Element.getStyle(element, 'top'),
    left: Element.getStyle(element, 'left') };
	  return new Effect.Move(element, 
	    { x:  10*t*spin-cnt, y: 0*t*spin+cnt, duration: 0.5+t, afterFinishInternal: function(effect) {
	  new Effect.Move(effect.element,
	    { x:  20*t*spin+cnt, y: 20*t*spin-cnt, duration: 1+t,  afterFinishInternal: function(effect) {
	  new Effect.Move(effect.element,
	    { x:  20*t*spin+cnt, y: 20*t*spin+cnt, duration: 0.5+t,  afterFinishInternal: function(effect) {
	  new Effect.Move(effect.element,
	    { x: -20*t*spin-cnt, y: -10*t*spin-cnt, duration: 1+t,  afterFinishInternal: function(effect) {
	  new Effect.Move(effect.element,
	    { x:  -10*t*spin+cnt*2, y: -20*t*spin-cnt*2, duration: 1+t,  afterFinishInternal: function(effect) {
	  new Effect.Move(effect.element,
	    { x:  -10*t*spin-cnt, y: -10*t*spin+cnt, duration: 1+t, afterFinishInternal: function(effect) { with(Element) {
        //undoPositioned(effect.element);
        //setStyle(effect.element, oldStyle);
        }
        cnt++;
        new Effect.Drift(effect.element, t, spin, cnt);

    }}) }}) }}) }}) }}) }});
}

var f1,f2,f3,f4;

function init() {
	document.writeln('<div id="fish1" class="below"><img src="fish1.gif" alt="jay fish 1" width="293" height="150" border="0" /></div>');
	document.writeln('<div id="fish2" class="below"><img src="fish2.gif" alt="jay fish 2" width="293" height="150" border="0" /></div>');
	document.writeln('<div id="fish3" class="below"><img src="fish3.gif" alt="jay fish 3" width="195" height="100" border="0" /></div>');
	document.writeln('<div id="fish4" class="below"><img src="fish4.gif" alt="jay fish 4" width="195" height="100" border="0" /></div>');
	f1 = document.getElementById('fish1');
	f2 = document.getElementById('fish2');	
	f3 = document.getElementById('fish3');
	f4 = document.getElementById('fish4');		
	f2.style.left = '300px';
	f3.style.left = '100px';
	f3.style.top = '800px';
	f4.style.top = '500px';
}

function show(idx, t, spin) {
	Effect.Drift('fish'+idx,t,spin);
	eval('f'+idx+'.style.opacity = 0.0'); 
	eval('f'+idx+'.style.visibility = "visible"');
	Effect.Appear('fish'+idx);
}

function start() {
	t = setTimeout("show(1, 2, -1)", 4000);
	t = setTimeout("show(2, 3, 3)", 75000);
	t = setTimeout("show(3, .9, 2)", 50000);
	t = setTimeout("show(4, .7, 4)", 25000);
}

init();
start();
