var isNS = document.layers?true:false;
var isIE = document.all?true:false;

var mD = 20; 		// delay between movements in milliseconds.
var dropinterv = 5000;	// delay between drops in milliseconds.

var busy=0;

var LMoveStart = new Array;
var TMoveStart = new Array;
var LMoveDelta = new Array;
var TMoveDelta = new Array;
var Moves = new Array;
var meth = 0;
var path = 0;
var step = 0;
var s = 0;
var pict = 0;
var p = 0;
var mT = null;
var stoploop = 0;
var random_path= 0; 
var random_pict= 0;
var first=1;
var random_meth= 0;
var drop_loaded=0;
var drop_cmd="Start";
var drop_timer=null;
var drop_status =0;
var effects_status = 1;
var applet_running =0;

var _IT=0;
var PicDrop = new Array();
PicDrop=new Array(); 

PicDrop[_IT++] = "drop05.jpg";
PicDrop[_IT++] = "drop10.jpg";
PicDrop[_IT++] = "drop01.jpg";
PicDrop[_IT++] = "drop06.jpg";
PicDrop[_IT++] = "drop11.jpg";
PicDrop[_IT++] = "drop02.jpg";
PicDrop[_IT++] = "drop07.jpg";
PicDrop[_IT++] = "drop12.jpg";
PicDrop[_IT++] = "drop08.jpg";
PicDrop[_IT++] = "drop13.jpg";
PicDrop[_IT++] = "drop03.jpg";
PicDrop[_IT++] = "drop04.jpg";

LdDrop=new Array(); 
LdDrop[_IT++] = true;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;
LdDrop[_IT++] = false;

var MethArr= new Array();
var MethName= new Array();
var MethLd= new Array();
MethLd[0]=0;
MethLd[1]=0;
MethLd[2]=0;
MethLd[3]=0;


preLoadPicDrop = new Array();
preLoadPicDrop[0] = new Image();
preLoadPicDrop[0].src = PicDrop[0];

var MethArr_2 = '><img src=';
var MethArr_3 = ' width=256 height=256 ></APPLET>';



function apploaded(id) {MethLd[id]=1;alert("coucou");}
////



MethArr[meth]='<APPLET name="ripple" code=ripple.class width=256 height=256 onload="applaoded(0);"><param name=period value=25><param name=frames value=12><param name=image value=';
MethName[meth]="ripple";
meth += 1;

MethArr[meth]='<APPLET name="rot1" code=Rotate2.class align=baseline width=256 height=256 onload="applaoded(1);"><param name=BackGround value=FFFFFF><param name=Steps value=60><param name=Speed value=1><param name=Image value=';
MethName[meth]="rot1";
meth += 1;

MethArr[meth]='<APPLET name="huerot" archive=huerot.jar code=huerot.class width=256 height=256 onload="applaoded(2);"><param name=credits value="Applet by Fabio Ciucci (www.anfyteam.com)">'
+'<param name=regcode value=NO><param name=reglink value=NO><param name=regnewframe value=NO>'
+'<param name=res value=1><param name=hueshift value=80><param name=overimg value=NO>'
+'<param name=overimgX value=0><param name=overimgY value=0><param name=textscroll value=NO><param name=memdelay value=1000>'
+'<param name=priority value=3><param name=MinSYNC value=10><param name=image value=';
MethName[meth]="huerot";
meth += 1;

MethArr[meth]='<APPLET name="rot2" archive=Rot2.jar code=Rot2.class width=256 height=256 onload="applaoded(3);"><param name=credits value="Applet by Fabio Ciucci (www.anfyteam.com)">'
+'<param name=res" value=1><param name=rotmode value=5><param name=rspeed value=2><param name=zoommin value=4>'
+'<param name=zoommax value=25><param name=zoomspd value=4><param name=modix value=1><param name=modiy value=1>'
+'<param name=auto1 value=100><param name=auto2 value=230><param name=distval value=20><param name=tile value=NO>'
+'<param name=backimage value=NO><param name=backr value=255><param name=backg value=255><param name=backb value=255>'
+'<param name=overimg value=NO><param name=overimgX value=0><param name=overimgY value=0><param name=textscroll value=NO>'
+'<param name=regcode value=NO><param name=reglink value=NO><param name=regnewframe value=NO>'
+'<param name=memdelay value=1000><param name=priority value=3><param name=MinSYNC value=10><param name=image value=';
MethName[meth]="rot2";
meth += 1;

////



////
LMoveStart[path] = -288;TMoveStart[path] = 0;
LMoveDelta[path] = new Array;
TMoveDelta[path] = new Array;
Moves[path] = new Array;

TMoveDelta[path][s] = 0; LMoveDelta[path][s] =  20;  Moves[path][s] = 15; s += 1;
TMoveDelta[path][s] = 0; LMoveDelta[path][s] =  8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 2; LMoveDelta[path][s] =  8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] =  4;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] =  2;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] = -2;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] = -4;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] = -8; Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] = -8; Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] = -8; Moves[path][s] = 10; s += 1;

path += 1;

s=0;
LMoveStart[path] = 662;TMoveStart[path] = 0;
LMoveDelta[path] = new Array;
TMoveDelta[path] = new Array;
Moves[path] = new Array;

TMoveDelta[path][s] = 0; LMoveDelta[path][s] = -10;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 0; LMoveDelta[path][s] = -10;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 2; LMoveDelta[path][s] =  -9;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  -8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] =  -7;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] =  -6;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 6; LMoveDelta[path][s] =  -5;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  -4;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  -3;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  -2;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 5; LMoveDelta[path][s] =  -1;  Moves[path][s] = 10; s += 1;

path += 1;

s=0;
LMoveStart[path] = 662;TMoveStart[path] = 600;
LMoveDelta[path] = new Array;
TMoveDelta[path] = new Array;
Moves[path] = new Array;

TMoveDelta[path][s] = 0; LMoveDelta[path][s] = -10;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] = -10;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] =  -9;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] =  -8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] =  -7;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] =  -6;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 9; LMoveDelta[path][s] =  -5;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 9; LMoveDelta[path][s] =  -4;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 9; LMoveDelta[path][s] =  -3;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 9; LMoveDelta[path][s] =  -2;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = 9; LMoveDelta[path][s] =  -1;  Moves[path][s] = 10; s += 1;

path += 1;

s=0;
LMoveStart[path] = -368;TMoveStart[path] = 450;
LMoveDelta[path] = new Array;
TMoveDelta[path] = new Array;
Moves[path] = new Array;

TMoveDelta[path][s] = 0; LMoveDelta[path][s] =    20;  Moves[path][s] = 15; s += 1;
TMoveDelta[path][s] =  -4; LMoveDelta[path][s] =  13;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =  -6; LMoveDelta[path][s] =  11;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =  -8; LMoveDelta[path][s] =   7;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -10; LMoveDelta[path][s] =   5;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] = -12; LMoveDelta[path][s] =   2;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =   4; LMoveDelta[path][s] = -10;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =   6; LMoveDelta[path][s] =  -8;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =   8; LMoveDelta[path][s] =  -6;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =  10; LMoveDelta[path][s] =  -4;  Moves[path][s] = 10; s += 1;
TMoveDelta[path][s] =  12; LMoveDelta[path][s] =  -2;  Moves[path][s] = 10; s += 1;

path += 1;

s=0;
LMoveStart[path] = 12;TMoveStart[path] = -300;
LMoveDelta[path] = new Array;
TMoveDelta[path] = new Array;
Moves[path] = new Array;

TMoveDelta[path][s] = 10; LMoveDelta[path][s] =    0;  Moves[path][s] = 75; s += 1;


path += 1;
/////

var DHTML = (document.getElementById || document.all || document.layers);
var posT =0;
var posL =0;

function droploaded() {
	drop_loaded = 1;

}

function invi(id,flag)
{
	if (!DHTML) return;
	var x = new getObj(id);
	x.style.visibility = (flag) ? 'hidden' : 'visible'
}

function setpos(id,_posL,_posT)
{
	if (!DHTML) return;
	var x = new getObj(id);
	x.style.top = _posT;posT = _posT;
	x.style.left = _posL;posL = _posL;
}

function move(id,amountL,amountT)
{
	if (!DHTML) return;
	var x = new getObj(id);
	posT += amountT;
	posL += amountL;

	x.style.top = posT;
	x.style.left = posL;
}


function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}



function MoveDiv() {
var _txt="";

	if ((iter+step)==0) {setpos("drop",LMoveStart[random_path],TMoveStart[random_path]);}
	move("drop",LMoveDelta[random_path][step],TMoveDelta[random_path][step]);

  	iter += 1;

  	if (iter >= Moves[random_path][step])
	{
  		iter = 0;
        	step += 1;
		if (step >= Moves[random_path].length) {stoploop = 1;}
  	}
  	clearInterval(mT);
	invi ("drop",false);
  	if (stoploop == 0) {mT = setInterval('MoveDiv()',mD);}
  	else
	{
		invi ("drop",true);invi ("drop_stat",false);
//		if ((effects_status==1) && (applet_running==1)) {document.applets[MethName[random_meth]].stop();applet_running=0;}
// && (MethLd[random_meth]==1)
		fill_div ("drop","");
		_txt = "<img src="+preLoadPicDrop[random_pict].src+" width=256 height=256>"
		fill_div ("drop_stat",_txt);
		busy = 0;
		clearInterval(drop_timer);
		drop_timer=setInterval("RunDrop()",dropinterv);

	}
}

function LaunchMove()
{

	MoveDiv();
}

function RunDrop() {
var _txt="";
var prec_rand=0;
	if (busy == 1) {return;}
	if (drop_status==0) 
	{
		clearInterval(drop_timer);
		return;
	}


	random_path=Math.round(Math.random()*(Moves.length-1)); 
	random_meth=Math.round(Math.random()*(MethArr.length-1));
	prec_rand=random_pict;
// random_pict=Math.round(Math.random()*(p-1));
	random_pict=p;

	step=0;
	iter=0;
	stoploop = 0;
	_txt = "<img src="+preLoadPicDrop[random_pict].src+" width=256 height=256>";
	first=0;
	if (effects_status==1) 
		{ busy=1;
		  fill_div ("drop",_txt);
	          LaunchMove();
		}
	else
		{ 
		  fill_div ("drop_stat",_txt);
 	 	  clearInterval(drop_timer);
		  drop_timer=setInterval("RunDrop()",dropinterv);
		}

	

// preload next image


	p += 1;
  	if (p > (PicDrop.length-1))
	{p = 0};
  	pict += 1;
  	if (pict <= (PicDrop.length-1))
	{
      		preLoadPicDrop[pict] = new Image();
      		preLoadPicDrop[pict].src = PicDrop[pict];
		LdDrop[pict]=true;
	}


}

function ToggleDrop() {
var cmd="";
	if (drop_status==0) {drop_status=1;cmd='<a name="bookmarkdrop" href="#bookmarkdrop">stop</a>'} else {drop_status=0;cmd='<a name="bookmarkdrop" href="#bookmarkdrop">recliquez-moi</a>'}
	fill_div ("drop_cmd",cmd);
	if (first==1) {fill_div ("drop_stat","");}
	if (drop_status==1) {RunDrop()}
}

function ToggleEffects() {
var cmd="";
	if (effects_status==0) {effects_status=1;cmd='pour voir les photos <b>sans</b> mouvements,&nbsp;<a name="bookmarkeffect" href="#bookmarkeffect">cliquez ici</a>'}
	else {effects_status=0;applet_running=0;cmd='pour voir les photos <b>avec</b> mouvements,&nbsp;<a name="bookmarkeffect" href="#bookmarkeffect">cliquez ici</a>'}

	fill_div ("effects_cmd",cmd);

}
