/*					Fontions Java Script pour la zone d'identification
** Auteur					: Nicolas JULAN
** Fonction					: Agent Informaticien
** Encoding du fichier		: UTF-8
** Date de création			: 2007-12-13
** Dernière revision		: curent date
** EDI						: Macromedia Dream Weaver 8
*/

//AJAX
var requete;

function identifier() {
  requete = getRequete();
  if (requete != null) {
    // Constituer le corps de la requete (la chaine de requete)
    var login = document.getElementById("login").value;
    var motPasse = document.getElementById("motPasse").value;
    var corps = "login=" + encodeURIComponent(login)
      + "&motPasse=" + encodeURIComponent(motPasse);
    try {
      // Ouvrir une connexion asynchrone
      requete.open("POST", "core_ssl/.php/connexion.php", true);
      // Positionner une en-tete indispensable 
      // quand les parametres sont passes par POST
      requete.setRequestHeader("Content-type", 
        "application/x-www-form-urlencoded");
      // Traitement a effectuer quand l'etat de la requete changera
      requete.onreadystatechange = onIdentifier;
      // Lancer la requete
      requete.send(corps);
      // Montrer que la requete est en cours
      montrerActivite();
    }
    catch (exc) {
      montrerInactivite();
    }
  }
  else {
    setMessage("Impossible de se connecter au serveur");
  }
}//fin function identifier()*/

// Ce qui s'executera lorsque la reponse arrivera
function onIdentifier() {
  if (requete.readyState == 4 && requete.status == 200) {
    // Montrer que la requete est terminee
    montrerInactivite();
    // Afficher le message de reponse recu
    setMessage(requete.responseText);
  }
}

// Abandonner la requete
function abandonnerIdentifier() {
  if (requete != null) {
    requete.abort();
  }
  montrerInactivite();
  setMessage("Requ&ecirc;te abandonn&eacute;e");
}

// Recuperer la requete existante ou une nouvelle si elle vaut null
function getRequete() {
  var result = requete;
  if (result == null) {
    if (window.XMLHttpRequest) {
      // Navigateur compatible Mozilla
      result = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
      // Internet Explorer sous Windows
      result = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return result;
}

// Mettre les boutons dans l'etat initial
function montrerInactivite() {
  document.getElementById("identifierOff").style.display = "inline";
  document.getElementById("identifierOn").style.display = "none";
  document.getElementById("boutonAbandonnerIdentifier").disabled = true;
}

// Montrer que la requete est en cours
function montrerActivite() {
  document.getElementById("identifierOff").style.display = "none";
  document.getElementById("identifierOn").style.display = "inline";
  document.getElementById("boutonAbandonnerIdentifier").disabled = false;
  setMessage("");
}

// Afficher un message
function setMessage(msg) {
  document.getElementById("message").innerHTML = msg;
}
