/**
 * Lister les dpartements d'une rgion avec un objet
 * XMLHTTPRequest.
 */
/* Cration de la variable globale qui contiendra l'objet XHR */
var requete = null;
/**
 * Fonction prive qui va crer un objet XHR.
 * Cette fonction initialisera la valeur dans la variable globale dfinie
 * ci-dessus.
 */
function creerRequete()
{
    try
    {
        /* On tente de crer un objet XmlHTTPRequest */
        requete = new XMLHttpRequest();
    }
    catch (microsoft)
    {
        /* Microsoft utilisant une autre technique, on essays de crer un objet ActiveX */
        try
        {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft)
        {
            /* La premire mthode a chou, on en teste une seconde */
            try
            {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(echec)
            {
                /*  ce stade, aucune mthode ne fonctionne... mettez donc votre navigateur  jour ;) */
                requete = null;
            }
        }
    }
    if(requete == null)
    {
        alert('Impossible de crer l\'objet requte,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}
/**
 * Fonction prive qui va mettre  jour l'affichage de la page.
 */
function actualiserAgencesa(idaga)
{
    var listeDept = requete.responseText;
    var blocListe = document.getElementById('blocAgencesa');
    blocListe.innerHTML = listeDept;
}

/**
 * Fonction publique appele par la page affiche.
 * Cette fonction va initialiser la cration de l'objet XHR puis appeler
 * le code serveur afin de rcuprer les donnes  modifier dans la page.
 */
function getAgencea(idaga)
{
    /* Si il n'y a pas d'identifiant de rgion, on fait disparatre la seconde liste au cas o elle serait affiche */
    if(idaga == 'vide')
    {
        document.getElementById('blocAgencesa').innerHTML = '';
    }
    else
    {
        /*  cet endroit prcis, on peut faire apparatre un message d'attente */
        var blocListe = document.getElementById('blocAgencesa');
        blocListe.innerHTML = "Traitement en cours, veuillez patienter...";
        /* On cre l'objet XHR */
        creerRequete();
        /* Dfinition du fichier de traitement */
        var url = 'agencea.php?idaga='+ idaga;
        /* Envoi de la requte  la page de traitement */
        requete.open('GET', url, true);
        /* On surveille le changement d'tat de la requte qui va passer successivement de 1  4 */
        requete.onreadystatechange = function()
        {
            /* Lorsque l'tat est  4 */
            if(requete.readyState == 4)
            {
                /* Si on a un statut  200 */
                if(requete.status == 200)
                {
                    /* Mise  jour de l'affichage, on appelle la fonction aproprie */
                    actualiserAgencesa(idaga);
                }
            }
        };
        requete.send(null);
    }
}