// AUTOMATHS : donnees javascript partagees



// Auteur : Emilien Suquet, webmaster@automaths.com



var cor = false; 				// verifie si la correction a ete effectuee

var ex_encours = 1; 			// exercice selectionne

var aff = 1;					// niveau du score affiche

var note = new Array(nbrex); 	// Meilleure note par niveau

var score = new Array(nbrex);  	// Meilleur score par niveau

var debut = 0;					// temps au depart de l exercice

var fin = 0;		    		// temps a la fin de l exercice

var temps = 0;	 

var premlanc = true;			// sert pour gérer la fonction chrono

var f5debut =new Date();

var best = new Array(nbrex); 	// Stockage de mes meilleurs temps	 

var idmax = 30 ;				// Nombre de programme disponible maximum avec les scores



for (s=1;s<=nbrex;s++){

	best[s] = new Array(nbreniv); 

}



var nomexo = new Array(nbrex); // Stockage des noms d exos



for (z_i=1;z_i<=nbrex;z_i++){

	note[z_i] = new Array(nbreniv); 

	score[z_i] = new Array(nbreniv);

}



for (z_k=1; z_k<=nbrex ; z_k++){

	for (z_kk=1; z_kk<=nbreniv ; z_kk++){

		note[z_k][z_kk]=-1;

		score[z_k][z_kk]=-1;

	}

}

	  

function begin(){

	lance = setInterval("tempstotal()",6000); 	// inialise le temps de session de l'utilisateur

	temp = LireCookie('lastone');	 			// met le bon utilisateur en cas de changement de page lors de la session

	if (temp!=null) {

		auto.id.selectedIndex = temp;	

		verifqq(false);

	}

	lancer();

}

  

function taille(h){

	if (h.value.length>0) h.size = h.value.length;	

	else h.size = 1; 

}





function reperefocus (indexfocus){

	if ((indexfocus>prindex)&&(indexfocus<drindex)) {

		temp = indexfocus - prindex;

		temp = temp % ecindex;

		if (temp != 0){

			document.auto[indexfocus*1+ecindex-temp].focus();

		}

		else {

			document.auto[indexfocus].focus();

		}

	}

	else {

		document.auto[prindex].focus();

	}

}



function verifienbre(nombre){

	// Change la virgule en point pour compatibilité avec javascript

	point = nombre.indexOf(',');

	if (point>0){

		nombre = nombre.substr(0,point) + '.' + nombre.substr(point*1+1,nombre.length);

	}

	return nombre;

}



function metvirgule(nombre){

	// Change le point en virgule pour affichage nombre à l européeenne

	nombre = nombre + '';

	point = nombre.indexOf('.');

	if (point>0){

		nombre = nombre.substr(0,point) + ',' + nombre.substr(point*1+1,nombre.length);

	}

	return nombre;

}



function arrondir(nombre, erreur){

	// erreur indique le nomb de chiffre après la virgule pour l arrondi

	nombre = Math.round(nombre*Math.pow(10,erreur))/Math.pow(10,erreur);

	return nombre;

}



// TEXTE POUR LE BOUTON INFO



intro_info = 'Page réalisée par E.Suquet, webmaster@automaths.com' +'\n';

intro_info = intro_info + "Aucune copie de cette page n'est autorisée." +'\n'+'\n';

intro_info = intro_info +'Le score prend en compte le nombre de bonnes réponses et la rapidité.' +'\n';

intro_info = intro_info + 'Un score de 1000 correspond à un sans faute à ma vitesse.' +'\n' +'\n';



conc_info = "Si cette page contient des erreurs, n'hésitez pas à me le signaler." +'\n';





// FIN DES LIGNES UTILES POUR LE SCORE



function subchaine(initial,aremplacer,amettre){

// initial : chaine que l'on souhaite modifiée

// aremplacer : morceau dans la chaine que l'on souhaite substituer

// amettre : morceau venant se substituer à aremplacer

	while(initial.lastIndexOf(aremplacer) >-1) {

		temp = initial.lastIndexOf(aremplacer);

		initial = initial.substring(0,temp) + amettre + initial.substring(temp + aremplacer.length,initial.length);

	}

	return initial;

}



	//while(cc2.lastIndexOf('(*') >-1) {

		//temp = cc2.lastIndexOf('(*')

		//cc2 = cc2.substring(0,temp) + '(' + cc2.substring(temp + 2,cc2.length)

	//}



function changexo(){

	ex_encours = auto.exo.selectedIndex *1 + 1;

	// Actualisation des meilleurs scores

	for (nn=0;nn<nbreniv;nn++) { 

		if (score[ex_encours][nn+1]>=0) document.getElementById('affniv'+nn).value = score[ex_encours][nn+1] + ' ('+ note[ex_encours][nn+1]+'/10)';

		else document.getElementById('affniv'+nn).value = ''; 

	}  	

	lancer();

}

  



function aleatoire(z_maxi) {

	var z_x = -1;

	while (z_x < 1) {

		z_x = Math.round(Math.random() * z_maxi +0.5);

	}

	return z_x;

}



function aleatoire2(maxi) {

			var x = -1;

			while (x < 1) {

				x = Math.round(Math.random() * maxi+0.5);

			}

			if (Math.random()<0.5) {x =-x;}

			return x;

		}



function aleatoire0(top,pourcent,rel){

// fonction qui donne un nombre entier aléatoire entre -top et top

// pourcent indique le pourcentage de chance d'obtenir 0

// rel indque si l'on considère des nombres relatifs ou pas

	if (rel==true){xx = aleatoire2(top);}

	else {xx = aleatoire(top);}

	if (aleatoire(100)<=pourcent){xx = 0;}

	return xx;

}

		

function Aleaminimaxi(mini,maxi) {

			var x = -1;

			while (x < mini) {

				x = Math.round(Math.random() * maxi);

			}

			if (Math.round(Math.random()*2)==1) {x=-x;}

			return x;

		}

		

function entete(){

	document.write('<center><table  bgcolor="white" cellspacing=5 valign="top" width="100%"><tr><td valign="top"><center>');

	document.write(' <table class="droit" width="100%" id="exosaisie"><tr><td class="premdroit" valign="top">'+titre+'</td></tr></table>');

	document.write('<br><center>'); 



if (nbrex>1){

	document.write('<select name="exo" id="exo" onchange="changexo()">');

		for (p=1;p<=nbrex;p++){

			document.write('<option value="' + p +'">Exercice ' + p + ' : ' + nomexo[p] + '</option>');

		}

	document.write('</select>');

}



if (nbreniv > 0 ) {document.write('<select name="niv" id="niv"style="border: none" onchange="lancer()">') ;}

if (nbreniv > 0 ) {document.write('<option value="1"> Niveau 1</option>'); }

if (nbreniv > 1 ) {document.write('	<option value="2"> Niveau 2</option>'); }

if (nbreniv > 2 ) {document.write('	<option value="3"> Niveau 3</option>'); }

if (nbreniv > 3 ) {document.write('	<option value="4"> Niveau 4</option>'); }

if (nbreniv > 4 ) {document.write('	<option value="5"> Niveau 5</option>'); }

if (nbreniv > 5 ) {document.write('	<option value="6"> Niveau 6</option>'); }

if (nbreniv > 6 ) {document.write('	<option value="7"> Niveau 7</option>'); }

if (nbreniv > 0 ) {document.write('</select><br><br>'); }		

	

document.write('<input type="button" id="lancertest" value="Cliquez ici pour lancer un test" style="background: teal; color: white; border: none" onclick="lancer()" > ');





document.write('<img id="rebours2" name="rebours2" src="./images/vide.gif"  style="position:absolute;display:none">');	



document.write('<img id="rebours1" name="rebours1" src="./images/attente.gif" style="position:absolute;display:none">');	

	

document.write('<br><br><input type="hidden" > <input type="hidden" ><input type="hidden" ><font color="#000031"> ');



} 

// Fin de la fonction ENTETE  

 



function GetDomOffset( Obj, Prop ) {

/*Récupère la position réelle d'un objet dans la page (en tenant compte de tous ses parents)

IN 	: Obj => Javascript Object ; Prop => Offset voulu (offsetTop,offsetLeft,offsetBottom,offsetRight)

OUT	: Numérique => position réelle d'un objet sur la page.*/

	var iVal = 0;

	while (Obj && Obj.tagName != 'BODY') {

		eval('iVal += Obj.' + Prop + ';');

		Obj = Obj.offsetParent;

	}

	return iVal;

} 

 

 

function pause(im,texte) 

{		

	document.rebours1.style.display=texte;

	document.rebours2.style.display =texte;

	document.rebours1.style.left = GetDomOffset( document.getElementById('lancertest'), 'offsetLeft' )+ document.getElementById('lancertest').offsetWidth/2-27;   

	document.rebours1.style.top = GetDomOffset( document.getElementById('lancertest'), 'offsetTop' );	

	document.rebours2.width= document.getElementById('exosaisie').offsetWidth;

	document.rebours2.style.left = GetDomOffset( document.getElementById('exosaisie'), 'offsetLeft' ); 

	document.rebours2.style.top = GetDomOffset( document.getElementById('lancertest'), 'offsetTop' )+document.getElementById('lancertest').offsetHeight; 	

	document.rebours2.height=GetDomOffset( document.getElementById('supcor'), 'offsetTop' )-GetDomOffset( document.getElementById('lancertest'), 'offsetTop' )-document.getElementById('lancertest').offsetHeight ;

	document.rebours1.style.top = GetDomOffset( document.getElementById('rebours1'), 'offsetTop' )+	Math.round(document.getElementById('rebours2').offsetHeight/2-document.getElementById('rebours1').offsetHeight/2)

	if (texte=='none') {

		debut=new Date();

		document.getElementById('chroninfo').style.visibility='visible';

		document.getElementById('scoremax').style.visibility='visible';

		}	 

	else {

		document.getElementById('chroninfo').style.visibility='hidden';

		document.getElementById('scoremax').style.visibility='hidden';

	}

} 





function rebours(){		

	if (document.rebours1.style.display=='none'){

	window.setTimeout("pause(1,'inline')",100)	

	window.setTimeout("pause(1,'none')",3000)  }

}



// Affichage de la partie droite

function basdepage(){

	document.write('<p align="CENTER"><input TYPE="button"  id="supcor" name = "supcor" value="Cliquez ici pour corriger le test" style="background: red; color: white; border: none" onclick="correction()">');

	document.write('</td><td width="150px" valign="top">');

	// Affichage de droite

	document.write('<table  border=0 width="100%" style=" border-color:pink;border-collapse: collapse;float:	right"><tr><td ><center>');	

	// Affichage de l'identification

		document.write('<table width="100%" cellpadding=1 border=1 style="border-color:pink;border-collapse: collapse;"><tr> ');

		document.write('<td bgcolor=pink style="border-color:pink;border-collapse: collapse;"><center><font face="Arial" color=#000031 size=2>Identification</td></tr><tr><td>');	

		document.write('<center><p style="margin-top:5;margin-bottom:5"><select name="id" style="border: none" onchange="verifqq(true)">');

		document.write('<option value="default" selected>Je reste anonyme</option>'); 

		texte = LireCookie("identifiants");	

		if (texte==null) texte ='||';  

		if (texte !='||') {

			do {

				pos = texte.indexOf('||'); 

				if (pos!=-1) {

					 document.write('<option value="'+texte.substr(0,pos)+'">Je suis '+texte.substr(0,pos)+'</option>');

					 texte = texte.substr(pos*1+2,100);	

				}

				//else document.write('<option value="'+texte+'">'+texte+'</option>');  

			}

			while(pos!=-1)

		}					

		document.write('</select><input type"text" name="qui" class="fondexo" style="display:none;text-align: center; border: red">');

				document.write('<br><input type="button" name ="tpstot" value="ici depuis 0 minute." class="fondexo" style="" onload="tempstotal()"><br>');



		document.write('<p align="right" style="margin-top:5"><font face="Arial" size=2></b><a href="" onclick="ajoutqq()"><img id="implus" src="./images/plus.png" width="15px" height="15px" style="border:none" alt="Ajouter un utilisateur"></a>');



		document.write('<a href=""  onclick="enleveqq()"><img id="imdel" src="./images/Delete.gif" style="display:none;border:none" alt="Supprimer cet utilisateur"></a>');

		document.write('<img src="./images/logout.gif" id="imout" onclick="deconecteqq()" style="display:none;border:none" alt="Se déconnecter"> ');

		document.write('</td></tr></table><br>');	   

	// Fin affichage du tableau connection total	

	

	// Affichage du tableau chrono

		document.write('<table width="100%" cellpadding=5 border=1 style="border-color:pink;border-collapse: collapse;"><tr><td><center><p class="police08">Chronomètre<br>');	

		document.write('<input type="button" id="chroninfo" name ="info" value="00 : 00 : 0" class="fondexo" style="" ><br>');

		document.write('<p class="police08" style="margin-top:5px">Score max possible<br>');

		document.write('<input type="button" id="scoremax" name ="scoremax" value="" class="fondexo" style="" onclick="informer()"><br>');

		document.write('</td></tr></table>');	   

	// Fin affichage du tableau chrono	

	

	// Affichage du tableau meilleurs scores de la session

	  	document.write('<br><table width="100%" cellpadding=1 border=1 style="border-color:pink;border-collapse: collapse;"><tr><center>');	

		document.write('<td bgcolor=pink style="border-color:pink;border-collapse: collapse;"><center><font face="Arial" color=#000031 size=2>Mes meilleurs scores</td></tr><tr><td>');	

		document.write('<p style="margin-top:5px;margin-bottom:5px;margin-left:5px;margin-right:5px;">');

		for (nn=0;nn<nbreniv;nn++) {

					document.write('<p class="police08" style="margin-left:5px;margin-top:5px">Niv '+(nn+1)+' : <input type="text" size=10 id ="affniv'+nn+'" value="" class="fondexo" style="border:none" ><br>') ;

		}   

		document.write('</td></tr></table>');	   

	// Fin affichage du tableau meilleurs scores	 	

	

	// Informations

	  	document.write('<br><table width="100%" cellpadding=1 border=1 style="border-color:pink;border-collapse: collapse;"><tr><center>');	

		document.write('<td bgcolor=pink style="border-color:pink;border-collapse: collapse;"><center><font face="Arial" color=#000031 size=2>Infos</td></tr><tr><td>');	

		document.write('<p class="police08" style="margin-top:5px;margin-bottom:5px;margin-left:5px;margin-right:5px;">');

		document.write('L\'identification et la mémorisation de vos scores sont en période de test.'); 

		document.write('</td></tr></table>');	   

	// Fin affichage du tableau meilleurs scores	

	

	document.write('</td></tr></table>');	   

	// Fin affichage de droite -->

	document.write('</td></tr></table>');

}

// Fin de la fonction BAS DE PAGE



function debut_lancer() {	

	

	cor = false ;

	aff = document.auto.niv.selectedIndex*1+1;
	scoreqq(); 

	if (premlanc)premlanc=false;

	else clearInterval(lancechrono);		 
}



function fin_lancer () {  

	

	debut = new Date();rebours();	

	lancechrono = setInterval("chrono()",100);

	temps = 0;

}



function debut_correction () {

	if ( cor == false ) { fin = new Date();clearInterval(lancechrono); }				

	cor = true ;																									

	n = 0;																											

	s = 0 ;	

} 



function chrono(){

	pendant = new Date(); 	

	minute = Math.floor((pendant.getTime() - debut.getTime())/1000/60) ;	

	seconde =  Math.floor((pendant.getTime() - debut.getTime() - minute *60000)/1000) ;	 

	mili = Math.floor(((pendant.getTime() - debut.getTime()) - seconde * 1000 - minute *60000)/100); 

	if (seconde<10) seconde = '0'+seconde;

	if (minute>=0){ 

		if (minute<10) minute = '0'+minute;

		document.auto.info.value = minute + ' : '+seconde+' : '+mili;

	}

	else {document.auto.info.value = '00 : 00 : 0';} 

	prov = pendant.getTime() - debut.getTime() + temps;

	document.auto.scoremax.value =  Math.round(best[ex_encours][aff] * 1000 / prov + 1*1);		 

}				   



function tempstotal(){

	pendant = new Date(); 	

	minute = Math.floor((pendant.getTime() - f5debut.getTime())/1000/60) ;	 

	if (minute>1) sss='s'  ;

	else sss='';

	document.auto.tpstot.value = 'ici depuis ' +minute + ' minute' + sss +'.';

}



function fin_correction (n) {	   

	temps = pendant.getTime() - debut.getTime() + temps;			

	aff = document.auto.niv.selectedIndex*1+1;															  

	s = 10 * best[ex_encours][aff] * n * n / temps + 1*1;

	s = Math.round(s);

	if (n<=0){s=0;}

	if (s>=score[ex_encours][aff]){																						 

		score[ex_encours][aff] = s;

		//if (n==10) window.open('envoiscore.php?score='+s+'&id='+idexo+'&niv='+aff+'&temps='+temps,"nom_popup","menubar=no, status=no, scrollbars=no, menubar=no, width=200, height=100");																						  

	}																											

	if (n>=note[ex_encours][aff]){																					

		note[ex_encours][aff] = n;																					

	}																												

																	

	alert('Score : ' + s + '\n\nNote : '+ n+ ' /10');																									

	if (s>1000) window.open('envoiscore.php?score='+s+'&id='+idexo+'&exo='+ex_encours+'&niv='+aff+'&temps='+temps,"nom_popup","menubar=no, status=no, scrollbars=no, menubar=no, width=200, height=100");																						  



	//Enregistrement du score

	EcrireCookie(titre+ex_encours+aff, s);	   

	//alert (LireCookie(titre+ex_encours+aff))

	

	// Actualisation des meilleurs scores

	for (nn=0;nn<nbreniv;nn++) { 

		if (score[ex_encours][nn+1]>=0) {

			document.getElementById('affniv'+nn).value = score[ex_encours][nn+1] + ' ('+ note[ex_encours][nn+1]+'/10)';	

		}

		else document.getElementById('affniv'+nn).value = ''; 

	} 		 

	

	// Enregistrement dans le cookie

	scoreqq();

}





function pgcd(a,b) {

	a0=Math.abs(a) ; b0=Math.abs(b);

	while (b0 > 0) { 	r = a0 % b0 ; a0 = b0 ; b0 = r; }

	return a0;

}



function enlevespace(chaine){

	while (chaine.indexOf(' ')!=-1){

		chaine = chaine.substr(0,chaine.indexOf(' ')) + chaine.substr(chaine.indexOf(' ')+1,chaine.length-chaine.indexOf(' '));

	}

	return chaine;

}



function enlevedoublespace(chaine){

	while (chaine.indexOf('  ')!=-1){

		chaine = chaine.substr(0,chaine.indexOf('  ')) + chaine.substr(chaine.indexOf('  ')+1,chaine.length-chaine.indexOf('  '));

	}

	return chaine;

}



function alphabet(chaine){

// range une chaine dans l ordre alphabétique

	tableau = new Array();

	tableau = chaine.split('');

	tableau.sort();

	chaine = tableau.join('');

	return chaine;

}



function notation(chaine,typ){

// prob	si vrai indique un problème dans la notation

// typ	1 pour un point, 2 pour un segment, 3 pour une droite, 4 pour un triangle -->

	prob = false;

	// On enlève tous les epaces de chaine

	chaine2 = enlevespace(chaine);

	switch(typ){

		case 1 :

			if (chaine2.length != 1){prob = true;}

			if (!((chaine2 >= 'A')&&(chaine2<='Z'))){prob = true;}

			break;

		case 2 :

			if ((chaine2.length!=4)||(chaine2.substr(0,1)!='[')||(chaine2.substr(3,1)!=']')){prob = true;}

			if (!((chaine2.substr(1,1) >= 'A')&&(chaine2.substr(1,1)<='Z'))){prob = true;}

			if (!((chaine2.substr(2,1) >= 'A')&&(chaine2.substr(2,1)<='Z'))){prob = true;}

			if (chaine2.substr(1,1)==chaine2.substr(2,1)){prob = true;}

			break;

		case 3 :

			if ((chaine2.length!=4)||(chaine2.substr(0,1)!='(')||(chaine2.substr(3,1)!=')')){prob = true;}

			if (!((chaine2.substr(1,1) >= 'A')&&(chaine2.substr(1,1)<='Z'))){prob = true;}

			if (!((chaine2.substr(2,1) >= 'A')&&(chaine2.substr(2,1)<='Z'))){prob = true;}

			if (chaine2.substr(1,1)==chaine2.substr(2,1)){prob = true;}

			break;	

		case 4 :

			if (chaine2.length != 3){prob = true;}

			if (!((chaine2.substr(0,1) >= 'A')&&(chaine2.substr(0,1)<='Z'))){prob = true;}

			if (!((chaine2.substr(1,1) >= 'A')&&(chaine2.substr(1,1)<='Z'))){prob = true;}

			if (!((chaine2.substr(2,1) >= 'A')&&(chaine2.substr(2,1)<='Z'))){prob = true;}

			if (chaine2.substr(0,1)==chaine2.substr(1,1)){prob = true;}

			if (chaine2.substr(0,1)==chaine2.substr(2,1)){prob = true;}

			if (chaine2.substr(1,1)==chaine2.substr(2,1)){prob = true;}

			break;	

	}

	if (chaine2.toUpperCase()!=chaine2) {prob = true;}

	return prob;

}



// FONCTIONS POUR LES COOKIES ET LES MEILLEURS SCORES

function EcrireCookie(nom, valeur){

	var argv=EcrireCookie.arguments;

	var argc=EcrireCookie.arguments.length;

	var expires=(argc > 2) ? argv[2] : null;

	var path=(argc > 3) ? argv[3] : null;

	var domain=(argc > 4) ? argv[4] : null;

	var secure=(argc > 5) ? argv[5] : false;

	document.cookie=nom+"="+escape(valeur)+

	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+

	((path==null) ? "" : ("; path="+path))+

	((domain==null) ? "" : ("; domain="+domain))+

	((secure==true) ? "; secure" : "");

}	  



function getCookieVal(offset){

	var endstr=document.cookie.indexOf (";", offset);

	if (endstr==-1) endstr=document.cookie.length;

	return unescape(document.cookie.substring(offset, endstr)); 

}



function LireCookie(nom){

	var arg=nom+"=";

	var alen=arg.length;

	var clen=document.cookie.length;

	var i=0;

	while (i<clen){

		var j=i+alen;

		if (document.cookie.substring(i, j)==arg) return getCookieVal(j); 	

		i=document.cookie.indexOf(" ",i)+1;

		if (i==0) break;

	}	

	return null; 

}  	



function EffaceCookie(nom){

	date=new Date;

	date.setFullYear(date.getFullYear()-1);

	EcrireCookie(nom,null,date); 

}

  

// FONCTIONS POUR LA GESTION DES UTILISATEURS



function ajoutqq(){	// ajoute un utilisateur à la liste	

// vérifier que le nom n'est pas déjà pris

 	nouveau = prompt ("Choisissez un nom d'utilisateur:","");   // a faire : limiter à 10 caractère

	protege = prompt ("Choisissez un mot de passe:",""); 	  	// vérifier qu'il est bien rentré, permettre de ne pas ne mettre

	expiration = new Date(); 

	expiration.setDate(expiration.getDate()+2000000); 

	EcrireCookie(nouveau, protege, expiration);					// si on a oublié le mot de passe ? faut il effacer l'ancien	

	EcrireCookie(nouveau+'score',' || ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||',expiration)	// cookie pour l'enregistrement des scores

	texte = LireCookie("identifiants");																						

	if (texte==null){ texte = ''; }	  

	texte = texte + nouveau + "||" ;  

	EcrireCookie("identifiants", texte, expiration);  

	EcrireCookie('lastone',auto.id.length);	  

	document.location.reload(); 

}



function verifqq(test){	 //demande de mot de passe	qui est stoqué dans le cookie portant le nom de l'utilisateur

	if (test) {

		protege =  prompt ("Quel est votre mot de passe:","");	   

		lire = LireCookie(auto.id.value);

		if (lire!=protege) {

			alert ("Ce n'est pas le bon mot de passe !"); 

			auto.id.selectedIndex = 0;

		}

	}	 

	if (auto.id.selectedIndex != 0){

		auto.qui.value =  'Je suis '+auto.id.value+',';

		auto.id.style.display = "none";	

		auto.qui.style.display = "inline"; 

		document.getElementById('implus').style.display = "none";

		document.getElementById('imdel').style.display = "inline";

		document.getElementById('imout').style.display = "inline";

	}		

	else { 

		auto.id.style.display = "inline";	

		auto.qui.style.display = "none"; 

		document.getElementById('implus').style.display = "inline";

		document.getElementById('imdel').style.display = "none";

		document.getElementById('imout').style.display = "none";

	}			

	EcrireCookie('lastone',auto.id.selectedIndex);

}



function enleveqq(){ //enlève un utilisateur de la liste	   x||y||z

	texte = LireCookie("identifiants"); 

	pos = texte.indexOf(auto.id.value);	   

	ln = auto.id.value.length;

	texte = texte.substr(0,pos)+texte.substr(pos*1+ln+2,texte.length);	

	expiration = new Date(); 

	expiration.setDate(expiration.getDate()+2000000); 

	EcrireCookie("identifiants", texte, expiration)

	auto.id.selectedIndex = 0;	

	verifqq(false);  

	document.location.reload(); 

} 



function deconecteqq(){//deconnecte l'utilisateur

	auto.id.selectedIndex = 0;	

	auto.qui.style.display = "none";

	auto.id.style.display = "inline";

	document.getElementById('implus').style.display = "inline";	  

	document.getElementById('imdel').style.display = "none";

	document.getElementById('imout').style.display = "none";		

	EcrireCookie('lastone',auto.id.selectedIndex);

}



function scoreqq(){

// à priori on ne peut enregistrer que 20 scores

	texter = LireCookie(document.auto.id.value+'score'); 				// on lit le cookie de la personne avec le score

	//alert(texter);

	

	if (texter!=null){

	

		cook1 = texter.split("||");		

		chapitre = cook1[idexo-1];									// on a obtenu les données du chapitre	 	  

		if ((chapitre==" ")||(chapitre=="")||(chapitre=="  ")){

			chapitre = '';

			for (cc=0;cc<=nbrex-1;cc++) {chapitre =  chapitre+'_';} 

		}

		//alert(chapitre);

		

		cook2 = chapitre.split("_");	

		exercice = cook2[ex_encours-1];							// on a obtenu les données de l'exercice

		if ((exercice=="undefined")||(exercice=="")) {	

			exercice = '';

			for (cc=0;cc<=nbreniv-1;cc++) exercice =  exercice+'0;' 

		}

		

		cook3 = exercice.split(";");	

		record = cook3[document.auto.niv.selectedIndex];	  		// on a obtenu l'ancien score  

		if ((record=='')||(record=='undefined')) record = 0;

		//alert('Ancien : ' + record + ' Nouveau : ' + score[ex_encours][document.auto.niv.selectedIndex*1+1]);

	  	

		if (record<score[ex_encours][document.auto.niv.selectedIndex*1+1] ){

		// Nouveau record à enregistrer

			cook3[document.auto.niv.selectedIndex]=score[ex_encours][document.auto.niv.selectedIndex*1+1]; temp = ''; for (cc=0;cc<=nbreniv-1;cc++) temp = temp + cook3[cc] + ';';

			cook2[ex_encours-1] = temp;	  temp = ''; for (cc=0;cc<=nbrex-1;cc++) temp = temp + cook2[cc] + '_';

			cook1[idexo-1] = temp ; temp = ''; for (cc=0;cc<=idmax-1;cc++) temp = temp + cook1[cc] + '||';

			expiration = new Date(); expiration.setDate(expiration.getDate()+2000000);	

			//alert (temp);

			EcrireCookie(auto.id.value+'score', temp, expiration);

		}	

		

		// Actualisation de la boite de score

		for (ss=0; ss<nbreniv ; ss++){

			if (cook3[ss]=='undefined') cook3[ss]=0;

			score[ex_encours][ss+1]=cook3[ss] ;

			document.getElementById('affniv'+ss).value = score[ex_encours][ss+1]

		} 

	}

}	  	 









				

				

