/* config */
trombi_run=true;
trombi_max_elts=23; /* la photo de l'utilisateur reste figée, mettre +1 si on l'insere dans la ronde */
trombi_min_elts=23;
trombi_elts_keep=20;
trombi_speed=80; /* 80 millisecondes, 50 steps pour le fondu : 4sec pour le changement : visible */
trombi_timenext_standard=10000; /* temps d'attente entre 2 photos */
trombi_timenext_long=60000; /* temps d'attente si on n'a pas recu de nouvelles images : il n'y a pas de membres en ligne, pas la peine de surcharger le serveur */
trombi_timenext_init=2000;
trombi_currentpicture=new Array();

/* config auto */
trombi_timenext=trombi_timenext_standard;
trombi_nb_elts=trombi_min_elts;
trombi_init_elts=trombi_min_elts+4; /* un peu plus pour être sur qu'à la fin de l'init tout soit remplit */

/* start code */
trombi_oldelts="";
trombi_idelt=Math.floor(trombi_nb_elts*(Math.random()));


tb_next_thumbnails=new Array();

function changeOpac(opacity, obj)
{
    var object = obj.style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function fondu_image(eltname1,eltname2,alpha)
{
	// 100 = visible, 0 = invisible
	elt=document.getElementById(eltname1);
	changeOpac(alpha,elt);
	elt2=document.getElementById(eltname2);
	changeOpac((100-alpha),elt2);
	if (alpha==0)
	{
		// quand l'image 1 est devenu invisible, on met la src sur celle de image 2, et on fait réapparaitre (image 2 n'est qu'un tampon)
		elt.src=elt2.src;
		changeOpac(100,elt);
		changeOpac(0,elt2);
	}
	else
	{
	  window.setTimeout("fondu_image('"+eltname1+"','"+eltname2+"',"+(alpha-2)+");",trombi_speed);
	}
}
function changeimage()
{
	/* On n'a plus d'images : on va récupérer une liste de d'images à charger via un tableau (script load). On pop à chaque affichage, si on a plus rien, on redemande une liste */
	if (tb_next_thumbnails.length==0)
	{
		/* we stop the trombi since there is no picture */
		trombi_run=false;
		/* we send to getThumbnails.js.php the already loaded pictures in order to have different pictures */
		tmp_param=trombi_currentpicture.join(",");
		tmp_random=Math.floor(100000*(Math.random()))+1;
		include("/getThumbnails.js.php?c="+tmp_param+"&r="+tmp_random);
		/* when the script is loaded, it call changeimage(), so the loop restart */
	}

	/* if the trombi still running */
	if (trombi_run)
	{
		/* if we have a picture to show : we choose an element and display the picture in*/
		if (tb_next_thumbnails.length>0)
		{
			/* init the randomizer */
			nbsteps=1000+Math.random();
			for (i=0;i<nbsteps;i++)
			{
				Math.random();
			}

			/* on va chercher un nouveau id */
			trombi_oldelt=1;
			while ((trombi_oldelt!=-1) || (trombi_idelt<1) || (trombi_idelt>trombi_nb_elts) )
			{
				trombi_idelt=Math.floor(trombi_nb_elts*(Math.random()))+1;
				trombi_oldeltstmp="|||"+trombi_oldelts+"|||";
				trombi_oldelt=trombi_oldeltstmp.indexOf("|||"+trombi_idelt+"|||");
			}
			/* seulement si on a un element valable */
			if (document.getElementById("thumb"+trombi_idelt+"_transfert"))
			{
				tabtmp=trombi_oldelts.split("|||");
				/* we store the choosen element */
				tabtmp.unshift(trombi_idelt);
				/* we want to maximize random effect, so we keep 2/3 of last values, not more, else we have infinite loop */
				if (tabtmp.length>trombi_elts_keep)
				{
					tabtmp.pop();
				}
				/* we reassemble the string */
				trombi_oldelts=tabtmp.join("|||");
	
	
				newimg=tb_next_thumbnails[0]["path"] + tb_next_thumbnails[0]["file"]
				trombi_currentpicture[trombi_idelt]=tb_next_thumbnails[0]["id"];

				document.getElementById("thumb"+trombi_idelt+"_link").href=tb_next_thumbnails[0]["profile"];
				document.getElementById("thumb"+trombi_idelt+"_link").target='_blank';

				tb_next_thumbnails.shift();

	
				// on fait le test de fondu en bas pour l'instant
				document.getElementById("thumb"+trombi_idelt+"_transfert").src=newimg;
				fondu_image("thumb"+trombi_idelt,"thumb"+trombi_idelt+"_transfert",100);
			}
		}

		/* initialisation du systeme : on charge un peu plus rapidement les photos */
		if (trombi_init_elts>0)
		{
			window.setTimeout(changeimage,trombi_timenext_init);
			trombi_init_elts--;
		}
		else
		{
			window.setTimeout(changeimage,trombi_timenext);
		}
	}
}



