// 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 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 = 20 ;				// Nombre de programme disponible maximum avec les scores

function begin(){
	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);
	}
}

// Affichage de la partie droite
function identification(){
	// Affichage de droite
	document.write('<table  border=0 width="100%" style=" border-color=pink;border-collapse: collapse;"><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)
		}					
		// Affichage de la boite texte "Je suis Emilien"
		document.write('</select><input type"text" name="qui" class="fondexo" style="display:none;text-align: center;">');
		// Bouton pour Ajouter quelqu'un
		document.write('<p align="right" style="margin-top:5"><a href="" onclick="ajoutqq()"><img id="implus" src="./images/plus.png" width="15px" height="15px" style="border:none" alt="Ajouter un utilisateur"></a>');
		// Bouton pour Supprimer un utilisateur
		document.write('<a href=""  onclick="enleveqq()"><img id="imdel" src="./images/Delete.gif" style="display:none;border:none" alt="Supprimer cet utilisateur"></a>');
		// Bouton pour Se deconnecter
		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>');	   
	// Fin affichage du tableau connection total	
	   
	// Fin affichage de droite -->
	document.write('</td></tr></table>');
}

function bilanmental(){

}

// 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);
}