	// Mise à jour du message destiné à l'utilisateur sans recharger la page
   function update_status( text )
   {
      document.getElementById("message").innerHTML =  text;
   }
   
   function trim (myString)
	{
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
	} 
   
   // Manipulation de la requête d'identification de manière asynchrone
   function handle_login()
   {
      var loginRequest = null;
      update_status( "Votre requ&ecirc;te est en cours de traitement ...", "handle");
      
      // Définition du connecteur en fonction du navigateur :
      if (window.XMLHttpRequest)
      {
          loginRequest = new XMLHttpRequest();
         if (loginRequest.overrideMimeType)
         {
            loginRequest.overrideMimeType('text/xml');
         }
      }
      else if (window.ActiveXObject)
      {
         try {
            loginRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e)   {
            try {
              loginRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
               update_status( "Impossible de communiquer avec le serveur");
            }
         }
        }
      
      // le secret d'AJAX réside en partie dans la réception et le traitement des résultats en background :
      loginRequest.onreadystatechange = function()
      {
         update_status( "Veuillez patienter pendant le processus d'authentification ...", "busy");
         if( loginRequest.readyState == 4 )
         { 
            // Ici le code 200 signifie que la requête a renvoyé une valeur valide. On pourrait aussi gérer les erreurs 500, 404 ...
                                if( loginRequest.status == 200 )
            {
				var rep=trim(loginRequest.responseText);
               if ( rep.substring(0,4) == 'good' )
               {
				  date=new Date;
				  date.setMonth(date.getMonth()+12);
				  EcrireCookie("connexion_auto", "oui", date);
				  EcrireCookie("idusr", document.getElementById('username').value, date);
				  if(getCookieVal("idusr")== "" ) update_status('Votre navigateur doit accepter les cookies !!');
				  else {
					  	update_status( "Identification r&eacute;ussie !"  );
				  		window.location = "index.php"; 
				  		}
               } else if ( rep.substring(0,5) == "wrong" )  {
                  update_status( "Le mot de passe est erron&eacute;    !"  );
				
               } else if ( rep.substring(0,4) == 'visi')				{						update_status( "Identification r&eacute;ussie !"  );				  		window.location = "enregistrement.php"; 									} else {
                  update_status( "Il y a un probl&egrave;me d'identification, veuillez v&eacute;rifier les informations saisies" );	
               }
			  
		   
            }
            else   
            {
               update_status( "Une erreur est survenue : " + loginRequest.status + " " + loginRequest.statusText);
            }   
         }
      };
      
      username = document.getElementById('username').value;
      password = document.getElementById('password').value;
      
      // le secret d'AJAX réside également dans l'envoi de la requête en background ( sans recharger la page ) :
      loginRequest.open("GET", "login.php?username=" + username + "&password=" + password, true);
      loginRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      loginRequest.send("");//$_session['id']=1 
   }
//--------------------------------------------------Cookies--------------------------------------------------------

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);
}


