// Detection du navigateur
nc6 = (typeof(window.controllers) != 'undefined' && typeof(window.locationbar) != 'undefined')? true:false;
nc4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;

// Variables concernant le cercle 'virtuel'
// Valeur de decallage entre chaque position (pas grand chose ;-)
var decallage = Math.PI / 180;

// Le rayon du cercle
var r = 185;

// Placement du centre du cercle
var centre_x = 315;
var centre_y = 365;


// Noms des calques recevant les elements a faire tourner
var calques = new Array('ballon1','ballon2','ballon3','ballon4','ballon5');

// Variables qui accueilleront les 'index' de position des calques portant les elements a faire tourner
var pos = new Array();

// Fonction de positionnement initial des elements autour du cercle 'virtuel'
function init() {
	pos[0] = 0;

// Pour chaque element...
	for ( i = 1; i < calques.length; i++ ) {

// Calcul d'un lot de valeurs que je ne saurais expliquer... (www.webreview.com)
		pos[i] = parseFloat(pos[i - 1] + ((2 * Math.PI) / calques.length));
		}

// Lancement du premier mouvement de rotation
	ronde();
	}

// Fonction d'animation des elements autour du cercle 'virtuel'
function ronde() {

// Pour chaque calque portant un element
	for ( i = 0; i < pos.length; i++ ) {

// Modification de la position pour creer l'apparence de mouvement
// Pour inverser le mouvement, remplacer += par -=
		pos[i] += decallage;

// Instructions pour Netscape 4.x
		if (nc4) {

// Le calque est rendu visible
			eval("document." + calques[i]).visibility = "visible";

// On place le calque en abcisse au cosinus de l'index de position
			eval("document." + calques[i]).left = (r * Math.cos(pos[i])) + centre_x;

// On place le calque en ordonnee au sinus de l'index de position
			eval("document." + calques[i]).top = (r * Math.sin(pos[i])) + centre_y;
			}

// Instructions equivalentes pour Internet Explorer
		if (ie4) {
			eval(calques[i] + ".style").visibility = "visible";
			eval(calques[i] + ".style").left = (r * Math.cos(pos[i])) + centre_x;
			eval(calques[i] + ".style").top = (r * Math.sin(pos[i])) + centre_y;
			}

// Instructions equivalentes pour Netscape 6.x
		if (nc6) {
			eval("document.getElementById('" + calques[i] + "').style").visibility = "visible";
			eval("document.getElementById('" + calques[i] + "').style").left = (r * Math.cos(pos[i])) + centre_x;
			eval("document.getElementById('" + calques[i] + "').style").top = (r * Math.sin(pos[i])) + centre_y;
			}
		}

// On relance la fonction pour que les deplacements s'enchainent et creeent l'animation
	setTimeout("ronde()",75);
	}


// Fonction d'affichage et de masquage des textes contextuels
function affiche(object,etat) {

// Creation d'une variable pour manipuler les calques 'contextuels'
	var calque = "";

// Instruction pour Netscape 4.x
	if (nc4) {
		calque = "document." + object;
		}

// Instruction equivalente pour Netscape 6.x
	if (nc6) {
		calque = "document.getElementById('" + object + "').style";
		}

// Instruction equivalente pour Internet Explorer
	if (ie4) {
		calque = object + ".style";
		}

// Si le parametre transmis est "on" (on veut afficher le calque)
	if ( etat == "on" ) {
		eval(calque).visibility = "visible";
		}

// Sinon...
	else {
		eval(calque).visibility = "hidden";
		}
	}
