function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

var nblay;
var lay;          // variable de gestion des calques
var pos;          // variable de position verticale des calques
var haut = 150;    // hauteur d'un calque
var esp = 5;      // espace inter-calque
var nom = "info";  // préfixe des noms de calques
var speed = 40;   // vitesse de défilement (plus chiffre petit, plus vite)
var pause = 1500; // temps de pause entre les calques (ms)
var cycle = 0;    // pour compter les cycles et pouvoir faire une pause entre chaque calque
var laytop = 1;   // calque le plus haut
var cpterebours;  // le compte à rebours

function init() // remplissage du tableau contenant les positions y de tous les calques
{
	coords = new Array(nblay+1); // les positions de tous les calques
	for( var x = 1; x <= nblay; x++ )
		coords[x] = (x-1)*(haut+esp);
}

function montee() // montee des calques
{	
	if( cycle < (haut + esp))
	{
		for( lay = 1; lay <= nblay; lay++ )
		{
			pos = coords[lay];
			
			if( pos > (haut*-1)) // si calque encore visible on le monte
			{
				deplace(lay, (pos-1));
				coords[lay] = pos-1;
			}
			else // sinon on le remet en bas de la pile
			{
				deplace(lay, ((nblay-1)*(haut+esp)+esp));
				coords[lay] = (nblay-1)*(haut+esp)+esp-1;
			}
		}
		cycle++;
		cpterebours = setTimeout("montee()",speed);
	}
	else // les calques sont tous montés à la position des calques précédents
	{

		cycle = 0;
		if( laytop < nblay ) // on met à jour le numéro du calque le plus haut
			laytop++;
		else
			laytop = 1;
		cpterebours = setTimeout("montee()",pause);
	}
}

function deplace(numlay, y) // deplace le calque passé en parametre de y pixels
{
	document.getElementById(nom+numlay).style.top=y+'px';
}

function precedent() // voir le calque précédent
{
	if( laytop == 1 )
		laytop = nblay;
	else
		laytop--;
	replace();
}

function suivant() // voir le calque suivant
{
	replace();	
	if( laytop == nblay )
		laytop = 1;
	else
		laytop++;

}

function replace() // repositionnement après clic sur le bouton suivant ou précédent
{
	clearTimeout(cpterebours); // on stop le rappelle automatique de montee()
	var j = 0;
	for( var k = laytop; k <= nblay; k++ )
	{
		deplace(k, (j*(esp+haut)));
		coords[k] = j*(esp+haut);
		j++;
	}
	if( laytop != 1 )
		for( var k = 1; k < laytop; k++ )
		{
			deplace(k, (j*(esp+haut)));
			coords[k] = j*(esp+haut);
			j++;
		}
	cycle = 0;
	cpterebours = setTimeout("repart()",pause);
}

function repart() // permet la pause sur Netscape après un clic sur suivant ou précédent
{
	montee();
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
// -->

