// JavaScript Document
window.onload=testerNavigateur;
//-----------------------------
function testerNavigateur() {   
	objetXHR = creationXHR();
	if(objetXHR==null) {
		document.getElementById("button").disabled= true;
		var erreurNavigateur="Erreur Navigateur : Création d'objet XHR impossible";
		remplacerContenu("info", erreurNavigateur);
	    document.getElementById("info").style.visibility="visible";
	}
	document.getElementById("nom").onkeyup=verifierNom;
	//document.getElementById("nom").onfocus=verifierNom;
}
//##############################MOTEUR AJAX 1############################################

function jouer() {   
	 /*-----------------------------Config et envoi de la requete ASYNCHRONE : */
	 //création d'un objet XHR multi-navigateurs
	 objetXHR = creationXHR();
	 var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
	 //construction de la chaine des parametres
	 var parametres = "nom="+ codeContenu("nom") +
	                  "&anticache="+temps ;
	 //Config. objet XHR
     objetXHR.open("get","gainAleatoire.php?"+parametres, true); 
	 objetXHR.onreadystatechange = actualiserPage;//désignation de la fonction de rappel
	 //gestion du bouton et du chargeur
	 document.getElementById("button").disabled= true;
	 document.getElementById("charge").style.visibility="visible";
     objetXHR.send(null);//envoi de la requete
	 /*---------------------------------------- */
  }
  function actualiserPage() {
	if (objetXHR.readyState == 4) {//test si le résultat est disponible
	 if (objetXHR.status == 200) {
	   var nouveauResultat = objetXHR.responseText.split(":");//recup du résulat > tableau 
	   //actualisation du résultat
	   remplacerContenu("resultat", decodeURI(nouveauResultat[1]));
	   //actualisation du nom
	   remplacerContenu("gagnant", decodeURI(nouveauResultat[0]));
	   //affiche la zone info
	   document.getElementById("info").style.visibility="visible";
	   //gestion du bouton et du chargeur
	   document.getElementById("button").disabled= false;
	   document.getElementById("charge").style.visibility="hidden";
	 }else{
	   //message d'erreur serveur
	   var erreurServeur="Erreur serveur : "+objetXHR.status+" – "+ objetXHR.statusText;
	   remplacerContenu("info", erreurServeur);
	   document.getElementById("info").style.visibility="visible";
	   //gestion du bouton et du chargeur
	   document.getElementById("button").disabled= false;
	   document.getElementById("charge").style.visibility="hidden";
	   //annule la requete en cours
	   objetXHR.abort();
	   objetXHR=null;
	   }
	 }
  }
//##############################MOTEUR AJAX 2############################################
function verifierNom(event) {   
 //-----------Récup du caractère si besoin par la suite 
/* event = window.event||event;
 //récupération du code de la touche
 var codeTouche= event.keyCode;
 //test si saisie d'un chiffre
 if(codeTouche>=48&&codeTouche<=57) 
 {
	 //mettre ici action si chiffre 
	 return false;
 }
 //pour info, la caractère de la touche peut aussi 
 //être récupéré avec l'instruction suivante 
 var touche = String.fromCharCode(codeTouche);*/
 //------------Récup du nombre de caractère du nom si besoin
 /*var taille=document.getElementById("nom").value.length;
 if(taille<4) {
	document.getElementById("message").style.visibility="visible";
	remplacerContenu("message", "nombre de caractère insuffisant");
    document.getElementById("message").style.color="red"; 
	return;
 }*/
 //-------------------------------
 //création d'un objet XHR multi-navigateurs
 objetXHR2 = creationXHR();
 var temps = new Date().getTime();//création d'une variable temps pour l'anti-cache
 //construction de la chaine des parametres
 var parametres = "nom="+ codeContenu("nom") +
	                  "&anticache="+temps ;
 //Config. objet XHR
 objetXHR2.open("get","nomVerification.php?"+parametres, true); 
 objetXHR2.onreadystatechange = afficherReponse;//désignation de la fonction de rappel
 //gestion du bouton et du chargeur
 document.getElementById("button").disabled= true;
 objetXHR2.send(null);//envoi de la requete
 //setTimeout("verifierNom()",1000);//timer de 1 s
 }

function afficherReponse() {
	if (objetXHR2.readyState == 4) {//test si le résultat est disponible
	 if (objetXHR2.status == 200) {
	   var nouveauResultat = objetXHR2.responseText;//recup du résulat > tableau 
	   //test de la réponse
		   if(nouveauResultat!=0) {
			  //affiche la zone message
			  document.getElementById("message").style.visibility="visible";
			  //affichage du message "joueur identifié"
			  remplacerContenu("message", "Joueur identifié");
			  document.getElementById("message").style.color="green";
			  //gestion du bouton 
			  document.getElementById("button").disabled= false;
		   }else{
			  //affiche la zone message
			  document.getElementById("message").style.visibility="visible";
			  //affichage du message "joueur inconnu"
			  remplacerContenu("message", "Joueur inconnu");
			  document.getElementById("message").style.color="red";
			  //gestion du bouton 
			  document.getElementById("button").disabled= true;
		    }
	 }else{
	   //message d'erreur serveur
	   var erreurServeur="Erreur serveur : "+objetXHR2.status+" – "+ objetXHR2.statusText;
	   remplacerContenu("info", erreurServeur);
	   document.getElementById("info").style.visibility="visible";
	   //gestion du bouton et du chargeur
	   document.getElementById("button").disabled= false;
	   //annule la requete en cours
	   objetXHR2.abort();
	   objetXHR2=null;
	   }
	 }
  }