//-----------------------------------------------------------------------------------
//		Fichier de fonctions javascripts
//-----------------------------------------------------------------------------------

//Fonction affichant ou non le champ pour l'ajout d'image
function show()
{
	if(document.getElementById("imageLeft").style.display == "none")
	{
		document.getElementById("imageLeft").style.display = "block";
		document.getElementById("imageRight").style.display = "block";
	}
	else
	{
		document.getElementById("imageLeft").style.display = "none";
		document.getElementById("imageRight").style.display = "none";
	}
}

// Fonction de controle de l'inscription
function checkInscription()
{
	var formOk = 1;
	var mdpOk = 1;
	var mdp = document.inscription.elements[4].value;
	var mdpconf = document.inscription.elements[5].value;
	var i = 1;
	for(i = 1; i <= 5; i++)
	{
		if(document.inscription.elements[i].value == "")
		{
			formOk = 0;
		}
	}
	
	if(mdp != mdpconf)
	{
		mdpOk = 0;
	}
	
	if((formOk == 1) && (mdpOk == 1))
	{	
		return true;
	}
	else
	{
		if(mdpOk == 0) {alert('Erreur de confirmation du mot de passe.');}
		else {alert('Tous les champs doivent être remplis.');}
		return false;
	}
}

// Fonction empechant les robots
function checkForm()
{
	var champ = document.getElementById("robots").value;
	if(champ != "")
	{
		return false;
	}
	else
	{
		return true;
	}
}

// Fonction de génération de liste déroulante (en fonction d'une première liste)
/* Création de la variable globale qui contiendra l'objet XHR */
var requete = null;
/**
 * Fonction privée qui va créer un objet XHR.
 * Cette fonction initialisera la valeur dans la variable globale définie
 * ci-dessus.
 */
function creerRequete()
{
    try
    {
        /* On tente de créer un objet XmlHTTPRequest */
        requete = new XMLHttpRequest();
    }
    catch (microsoft)
    {
        /* Microsoft utilisant une autre technique, on essays de créer un objet ActiveX */
        try
        {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft)
        {
            /* La première méthode a échoué, on en teste une seconde */
            try
            {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(echec)
            {
                /* À ce stade, aucune méthode ne fonctionne... mettez donc votre navigateur à jour ;) */
                requete = null;
            }
        }
    }
    if(requete == null)
    {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}
/**
 * Fonction privée qui va mettre à jour l'affichage de la page.
 */
function actualiserSmenu()
{
    var listSmenu = requete.responseText;
    var blocListe = document.getElementById('listSmenu');
    blocListe.innerHTML = listSmenu;
	blocListe.style.display = "inline";
}

/**
 * Fonction publique appelée par la page affichée.
 * Cette fonction va initialiser la création de l'objet XHR puis appeler
 * le code serveur afin de récupérer les données à modifier dans la page.
 */
function getSmenu(id)
{
    /* Si il n'y a pas d'identifiant de région, on fait disparaître la seconde liste au cas où elle serait affichée */
    if(id == 'vide')
    {
        document.getElementById('listSmenu').innerHTML = '';
    }
    else
    {
        /* À cet endroit précis, on peut faire apparaître un message d'attente */
        var blocListe = document.getElementById('listSmenu');
        blocListe.innerHTML = "Traitement en cours, veuillez patienter...";
        /* On crée l'objet XHR */
        creerRequete();
        /* Définition du fichier de traitement */
        var url = 'pages-ajax.php?menuSmenu='+ id;
        /* Envoi de la requête à la page de traitement */
        requete.open('GET', url, true);
		requete.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        /* On surveille le changement d'état de la requête 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 apropriée */
                    actualiserSmenu();
                }
            }
        };
        requete.send(null);
    }
} 