
function insertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling);
}

function aff_formulaire_close_id(id) {
	var div = document.getElementById(id);
	if (div) div.parentNode.removeChild(div);
}



/*************************
 * Affiche un formulaire pour ajouter/modifier les infos d'une photo
 *************************/ 
function aff_formulaire_galerie_info(numPhoto, idInfo, infoActuelle)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_temp")) return false;
	
	// On créer le formulaire à la volé
	var div       = document.createElement("div");
	var form      = document.createElement("form");
	var textarea  = document.createElement("textarea");
	var submit    = document.createElement("input");
	var close     = document.createElement("input");


	// Gestion des zindex avec IE : à faire en premier
	div.style.cssText      = "z-index:100000000000000000;"; 
	
	// On donne les attributs des balises, en commencant par la haute
	div.id                 = "bloc_formulaire_temp";
	div.className          = "bloc_formulaire_temp";
	div.style.position     = "absolute";
	div.style.top          = sourisY + "px";		
	div.style.left         = sourisX + "px";		

	textarea.id            = "bloc_formulaire_textarea";
	textarea.cols          = 20;
	textarea.rows          = 5;
	textarea.style.display = "block";
	if (infoActuelle) textarea.value = infoActuelle;

	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_galerie_info_submit(numPhoto, idInfo);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_galerie_info_submit(numPhoto, idInfo);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_galerie_info_close(div.id);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_galerie_info_close(div.id)}, false);

	// On inclue les bloc les uns dans les autres, les enfants en premier
	         form.appendChild(textarea);
	         form.appendChild(submit);
	         form.appendChild(close);
	          div.appendChild(form);
	document.body.appendChild(div);
	
	textarea.focus();
}

function aff_formulaire_galerie_info_close(divId)
{
	var div = document.getElementById(divId);
	document.body.removeChild(div);
}

function aff_formulaire_galerie_info_submit(numPhoto, idInfo)
{
	// Appeler un script php pour mettre à jour
	var err;
	var info = document.getElementById('bloc_formulaire_textarea').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
//		if (xhr.readyState == 3) alert(xhr.getAllResponseHeaders());

		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);

			// Afficher le message dans sa zone et sa zone caché
			document.getElementById(idInfo).innerHTML = info;
			document.getElementById(idInfo + "_hidden").innerHTML = info;
			document.getElementById(idInfo).style.display = "block";
			
			aff_formulaire_galerie_info_close("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=galerie_info"
	       + "&numPhoto="  + numPhoto
				 + "&info=" + info + "";

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);

}

function aff_formulaire_galerie_commentaire_submit(bloc, numPhoto)
{
	// Appeler un script php pour mettre à jour
	var err;
	var pseudo = document.getElementById('bloc_formulaire_galerie_commentaire_pseudo').value;
	var txt    = document.getElementById('bloc_formulaire_galerie_commentaire_textarea').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{

		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);

			aff_formulaire_galerie_info_close("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=galerie_commentaire&numPhoto=" + numPhoto
				+ "&pseudo=" + pseudo
				+ "&message=" + txt
				+ "";

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);

}











/*************************
 * Affiche un formulaire pour modifier le titre d'une section
 *************************/ 
function aff_formulaire_section_titre(idSection, titreSection)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_temp")) return false;
	
	// On créer le formulaire à la volé
	var div       = document.createElement("div");
	var input_url = document.createElement("input");
	var input_t   = document.createElement("input");
	var submit    = document.createElement("input");
	var close     = document.createElement("input");


	// Gestion des zindex avec IE : à faire en premier
	div.style.cssText      = "z-index:100000000000000000;"; 
	
	// On donne les attributs des balises, en commencant par la haute
	div.id                 = "bloc_formulaire_temp";
	div.className          = "bloc_formulaire_temp";
	div.style.position     = "absolute";
	div.style.top          = sourisY + "px";
	div.style.left         = sourisX + "px";

	input_url.id             = "bloc_formulaire_url";
	input_url.size           = 60;
	input_url.maxlenght      = 255;
	input_url.style.display  = "block";
	if (idSection) input_url.value = idSection;

	input_t.id             = "bloc_formulaire_titre";
	input_t.size           = 60;
	input_t.maxlenght      = 100;
	input_t.style.display  = "block";
	if (titreSection) input_t.value = titreSection;

	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_section_titre_submit(idSection);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_section_titre_submit(idSection);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_close_id(div.id);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_close_id(div.id)}, false);

	// On inclue les bloc les uns dans les autres, les enfants en premier
	         div.appendChild(document.createTextNode("URL (vide = similaire au titre sans les caractères spéciaux)"));
	         div.appendChild(input_url);
	         div.appendChild(document.createTextNode("Titre affiché"));
	         div.appendChild(input_t);
	         div.appendChild(submit);
	         div.appendChild(close);
	document.body.appendChild(div);
	
	input_t.focus();
}
function aff_formulaire_section_titre_submit(idSection)
{
	// Appeler un script php pour mettre à jour
	var err;
	var titre   = document.getElementById('bloc_formulaire_titre').value;
	var new_url = document.getElementById('bloc_formulaire_url').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);
			document.getElementById("titre_section").innerHTML = titre;
			aff_formulaire_close_id("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=section_titre"
				+ "&idSection="    + idSection
				+ "&new_url="      + new_url
				+ "&titre="        + titre

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	xhr.send(params);
}








/*************************
 * Affiche un formulaire pour modifier le titre d'un dossier
 *************************/ 
function aff_formulaire_changer_titre_dossier(idDossier, titre)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_temp")) return false;
	
	// On créer le formulaire à la volé
	var div       = document.createElement("div");
	var input_t   = document.createElement("input");
	var submit    = document.createElement("input");
	var close     = document.createElement("input");


	// Gestion des zindex avec IE : à faire en premier
	div.style.cssText      = "z-index:100000000000000000;"; 
	
	// On donne les attributs des balises, en commencant par la haute
	div.id                 = "bloc_formulaire_temp";
	div.className          = "bloc_formulaire_temp";
	div.style.position     = "absolute";
	div.style.top          = sourisY + "px";
	div.style.left         = sourisX + "px";

	input_t.id             = "bloc_formulaire_titre";
	input_t.size           = 60;
	input_t.maxlenght      = 100;
	input_t.style.display  = "block";
	if (titre) input_t.value = titre;

	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_changer_titre_dossier_submit(idDossier);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_changer_titre_dossier_submit(idDossier);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_close_id(div.id);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_close_id(div.id)}, false);

	// On inclue les bloc les uns dans les autres, les enfants en premier
	         div.appendChild(input_t);
	         div.appendChild(submit);
	         div.appendChild(close);
	document.body.appendChild(div);
	
	input_t.focus();
}
function aff_formulaire_changer_titre_dossier_submit(idDossier)
{
	// Appeler un script php pour mettre à jour
	var err;
	var titre = document.getElementById('bloc_formulaire_titre').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);
//			document.getElementById("titre_section").innerHTML = titre;
			aff_formulaire_close_id("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=changer_titre_dossier"
				+ "&idDossier=" + idDossier
				+ "&titre="     + titre

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	xhr.send(params);
}







/*************************
 * Affiche un formulaire pour modifier les autoriations d'un dossier
 *************************/ 
function aff_formulaire_modifier_autorisations_dossier(idDossier)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_temp")) return false;
	
	// On créer le formulaire à la volé
	var div        = document.createElement("div");
	var page_xhtml = document.createElement("div");
	var submit     = document.createElement("input");
	var close      = document.createElement("input");


	// Gestion des zindex avec IE : à faire en premier
	div.style.cssText      = "z-index:100000000000000000;"; 
	
	// On donne les attributs des balises, en commencant par la haute
	div.id                 = "bloc_formulaire_temp";
	div.className          = "bloc_formulaire_temp";
	div.style.position     = "absolute";
	div.style.top          = sourisY + "px";
	div.style.left         = sourisX + "px";
	
	page_xhtml.innerHTML   = "<p>Chargement de la liste en cours...</p>";
	page_xhtml.style.textAlign = "left";
	
	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_modifier_autorisations_dossier_submit(idDossier);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_modifier_autorisations_dossier_submit(idDossier);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_close_id(div.id);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_close_id(div.id)}, false);

	// On inclue les bloc les uns dans les autres, les enfants en premier
	         div.appendChild(page_xhtml);
	         div.appendChild(submit);
	         div.appendChild(close);
	document.body.appendChild(div);
	
	div.focus();
	
	// Chargement de la page
	

	// Création d'un élément ajax
	xhr = getXhr(); if (!xhr) return false;
	
	// On définit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
  {
		if (xhr.readyState == 4 && xhr.status == 200)
			page_xhtml.innerHTML = xhr.responseText;
	}
	
	// on execute la requete
	xhr.open("post", "./page-liste_membre.xhtml", true);

	params = ""
				+ "&ID_dossier=" + idDossier

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	xhr.send(params);
}
function aff_formulaire_modifier_autorisations_dossier_submit(idDossier)
{
	// Appeler un script php pour mettre à jour
	var err;
	var checkboxs = document.getElementsByName('membres[]');
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On définit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);
			aff_formulaire_close_id("bloc_formulaire_temp");
		}
	}

	// On execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=modifier_autorisations_dossier"
				+ "&idDossier=" + idDossier;
	
	for (var i = 0 ; i < checkboxs.length ; i++)
		if (checkboxs[i].checked == true) 
			params+= "&membres[]=" + checkboxs[i].value;
			
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	xhr.send(params);
}









/******************************************************************************
 * Affiche un formulaire pour ajouter/modifier une ligne de compte
 ******************************************************************************/ 
function aff_formulaire_compte_ajouter(idMoi, idLui)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_date"))
	{
		alert ("Avant d'ouvrir ce formulaire, veillez à fermer tous les autres !");
		return false;
	}
	
	var table = document.getElementById('table_comptes');
	var tbody = table.tBodies[table.tBodies.length -1];
	
	var new_line = document.createElement("tr");
	new_line.appendChild(document.createElement("td"));
	new_line.appendChild(document.createElement("td"));
	new_line.appendChild(document.createElement("td"));
	new_line.appendChild(document.createElement("td"));
	
	var date = new Date();
	
	new_line.childNodes[0].id            = "date_0";
	new_line.childNodes[0].className     = "date";
	new_line.childNodes[0].innerHTML     = date.getDate() + "/" + (date.getMonth() +1) + "/" + date.getFullYear()
																			 + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();

	new_line.childNodes[1].className     = "somme";
	new_line.childNodes[1].innerHTML     = "<span id=\"somme_0\"></span> €";

	new_line.childNodes[2].id            = "comm_0";
	new_line.childNodes[2].className     = "comm";
	new_line.childNodes[2].innerHTML     = "";

	new_line.childNodes[3].id            = "action_0";
	new_line.childNodes[3].className     = "";
	new_line.childNodes[3].innerHTML     = '<div id="boutons_0">Rechargez la page</div>'
/*
				+ '<div id="boutons_0">'
					+ '<a href="#" onclick="aff_formulaire_compte_modifier(0, ' + idMoi + ', ' + idMoi + ');return false;"><img src="images/icones/modifier-1.gif"     alt="Modifier"  title="Modifier cet enregistrement" /></a>'
					+ '<a href="#"><img src="images/icones/poubelle-rouge.gif" alt="Supprimer" title="Supprimer cet enregistrement" /></a>'
				+ '</div>'
*/
	tbody.appendChild(new_line);
	
	aff_formulaire_compte_modifier(0, idMoi, idLui);
}
function aff_formulaire_compte_modifier(idCompte, idMoi, idLui)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_date"))
	{
		alert ("Avant d'ouvrir ce formulaire, veillez à fermer tous les autres !");
		return false;
	}
		
	// Recup un handle sur le contenu actuel
	var bloc_date     = document.getElementById('date_'     + idCompte + '');
	var bloc_somme    = document.getElementById('somme_'    + idCompte + '');
	var bloc_comm     = document.getElementById('comm_'     + idCompte + '');
	var bloc_action   = document.getElementById('action_'   + idCompte + '');
	var bloc_boutons  = document.getElementById('boutons_'  + idCompte + '');
	
	// On créer le formulaire à la volé
	var f_date        = document.createElement("input");
	var f_somme       = document.createElement("input");
	var f_comm        = document.createElement("input");

	var submit        = document.createElement("input");
	var close         = document.createElement("input");


	// On donne les attributs des balises, en commencant par la haute

	f_date.id                              = "bloc_formulaire_date";
	if (bloc_date) f_date.value            = bloc_date.innerHTML;
	f_date.size                            = 20;
	
	f_somme.id                             = "bloc_formulaire_somme";
	if (bloc_somme) f_somme.value          = bloc_somme.innerHTML;
	f_somme.size                           = 5;

	f_comm.id                              = "bloc_formulaire_comm";
	if (bloc_comm) f_comm.value            = bloc_comm.innerHTML;
	f_comm.size                            = 70;
	
	if (bloc_boutons) bloc_boutons.style.display = "none";
	
	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_compte_modifier_submit(idCompte, idMoi, idLui);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_compte_modifier_submit(idCompte, idMoi, idLui);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_compte_modifier_close(idCompte);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_compte_modifier_close(idCompte);}, false);
	
	bloc_date.innerHTML  = ""; bloc_date.appendChild(f_date);
	bloc_somme.innerHTML = ""; bloc_somme.appendChild(f_somme);
	bloc_comm.innerHTML  = ""; bloc_comm.appendChild(f_comm);
	
	bloc_action.appendChild(submit);
	bloc_action.appendChild(close);

	f_comm.focus();
}
function aff_formulaire_compte_modifier_close(idCompte)
{
	document.getElementById('date_'  + idCompte + '').innerHTML = document.getElementById('bloc_formulaire_date').value;
	document.getElementById('somme_' + idCompte + '').innerHTML = document.getElementById('bloc_formulaire_somme').value;
	document.getElementById('comm_'  + idCompte + '').innerHTML = document.getElementById('bloc_formulaire_comm').value;
	
	document.getElementById('boutons_'  + idCompte).style.display = "block"
	var tmp = document.getElementById('action_'  + idCompte)
	tmp.removeChild(tmp.lastChild);
	tmp.removeChild(tmp.lastChild);
}
function aff_formulaire_compte_modifier_submit(idCompte, idMoi, idLui)
{
	// Appeler un script php pour mettre à jour
	var err;

	var date  = document.getElementById('bloc_formulaire_date').value;
	var somme = document.getElementById('bloc_formulaire_somme').value;
	var comm  = document.getElementById('bloc_formulaire_comm').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			var txt = xhr.responseText;
			
			// on met de la couleur si la somme est nagative
			var bloc_somme_parent = document.getElementById('somme_' + idCompte + '').parentNode
			if (somme < 0) bloc_somme_parent.className+= " negatif";
			else           bloc_somme_parent.className = bloc_somme_parent.className.replace("negatif", "");
			
			// Si dans le message il y a un identifiant last, alors il faut changer le numéro des ID des champs
			tab = preg("<last>([0-9]+)</last>", txt, "i");
			if (tab)
			{
				idCompte = tab[1];
				document.getElementById('date_0').id     = 'date_'     + idCompte + '';
				document.getElementById('somme_0').id    = 'somme_'    + idCompte + '';
				document.getElementById('comm_0').id     = 'comm_'     + idCompte + '';
				document.getElementById('action_0').id   = 'action_'   + idCompte + '';
				document.getElementById('boutons_0').id  = 'boutons_'  + idCompte + '';
			}
			
			// Afficher les modif sur la page
			aff_formulaire_compte_modifier_close(idCompte);
		}
	}
	

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=compte_modifier"
				+ "&idCompte=" + idCompte
				+ "&idMoi="    + idMoi
				+ "&idLui="    + idLui
				+ "&date="     + date
				+ "&somme="    + somme
				+ "&comm="     + comm
				+ "";
	
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);
}
function aff_formulaire_compte_supprimer_submit(idCompte, idMoi, idLui)
{
	// Appeler un script php pour mettre à jour
	var err;

	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			var txt = xhr.responseText;
			document.getElementById('date_' + idCompte).parentNode.parentNode.removeChild(document.getElementById('date_' + idCompte).parentNode);
		}
	}
	
	
	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);
	
	params = "action=compte_supprimer"
				+ "&idCompte=" + idCompte
				+ "&idMoi="    + idMoi
				+ "&idLui="    + idLui
				+ "";
	
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);
}











/*************************
 * Affiche un formulaire pour ajouter/modifier les infos d'une news
 *************************/ 
function aff_formulaire_news_ajouter_close(numNews)
{
	if (numNews > 0)
	{
		document.getElementById('message_' + numNews + '').innerHTML = document.getElementById('bloc_formulaire_textarea').value;
		document.getElementById('titre_'   + numNews + '').innerHTML = document.getElementById('bloc_formulaire_titre').value;

		aff_formulaire_close_id("bloc_formulaire_temp");
	}
	else
	{
		aff_formulaire_close_id("bloc_formulaire_temp");
	}
}








function aff_formulaire_news_ajouter(numNews, num_id_editeur)
{
	// Si un formulaire déja ouvert, on stop
	if (document.getElementById("bloc_formulaire_temp"))
	{
		alert ("Avant d'ouvrir ce formulaire, veillez à fermer tous les autres !");
		return false;
	}
	
	// Recup un handle sur le contenu actuel
	if (numNews > 0)
	{
		var news          = document.getElementById('bloc_message_' + numNews + '');
		var message       = document.getElementById('message_' + numNews + '');
		var bloc_actions  = document.getElementById('actions_' + numNews + '');
		var titre         = document.getElementById('titre_' + numNews + '');
		

		var msg           = "Chargement des données depuis la Base de données !";
		
		// Création d'un élément ajax
		xhr = getXhr();
		if (!xhr) return false;
		
		// On défnit la fonction de callback pour les changements d'état
	  xhr.onreadystatechange = function()
		{
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if (xhr.readyState == 4 && xhr.status == 200)
			{
				msg = xhr.responseText;
				if (textarea) textarea.value = msg;
			}
		}
		
		// on execute la requete
		xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);
	
		params = "action=news_voir"
					+ "&numNews=" + numNews
		
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.setRequestHeader("Content-length", params.length);
		xhr.setRequestHeader("Connection", "close");
		
		xhr.send(params);
	}
	else
	{
		var message       = document.createElement("div");
		var bloc_actions  = document.createElement("div");
		var titre         = document.createElement("div"); titre.innerHTML = "Nouvelle news"
	}
	
	// On créer le formulaire à la volé
	var div           = document.createElement("div");
	var id_editeur    = document.createElement("input");
	var input_titre   = document.createElement("input");
	var textarea      = document.createElement("textarea");
	var submit        = document.createElement("input");
	var close         = document.createElement("input");


	// Gestion des zindex avec IE : à faire en premier
	if (!(numNews > 0))
		div.style.cssText    = "z-index:100000000000000000;"; 
	
	// On donne les attributs des balises, en commencant par la haute
	div.id                 = "bloc_formulaire_temp";
	div.className          = "bloc_formulaire_temp";
	if (!(numNews > 0))
	{
		div.style.position     = "absolute";
		div.style.top          = sourisY + "px";		
		div.style.left         = "100px";		
	}
	
	textarea.id            = "bloc_formulaire_textarea";
	textarea.cols          = 30;
	textarea.rows          = 30;
	textarea.style.display = "block";
	textarea.style.width   = "100%";
	if (msg) textarea.value = msg;
	
	input_titre.id         = "bloc_formulaire_titre";
	if (titre) input_titre.value      = titre.innerHTML;
	input_titre.size       = 80;
	input_titre.style.width= "100%";
	
	id_editeur.id          = "bloc_formulaire_id_editeur";
	id_editeur.type        = "hidden";
	id_editeur.value       = num_id_editeur;
	
	submit.type            = "button";
	submit.value           = "Valider"
	if (submit.attachEvent)
		submit.attachEvent            ("onclick", function () {aff_formulaire_news_ajouter_submit(numNews);});
	else if (submit.addEventListener)
		submit.addEventListener       (  "click", function () {aff_formulaire_news_ajouter_submit(numNews);}, false);

	close.type             = "button";
	close.value            = "Annuler"
	if (close.attachEvent)
		close.attachEvent            ("onclick", function () {aff_formulaire_news_ajouter_close(numNews);});
	else if (close.addEventListener)
		close.addEventListener       (  "click", function () {aff_formulaire_news_ajouter_close(numNews);}, false);
	
	if (numNews > 0)
	{
		// On inclue les bloc les uns dans les autres, les enfants en premier
		message.innerHTML = "";message.appendChild(textarea);
	
	  div.appendChild(submit);
	  div.appendChild(close);
		bloc_actions.insertBefore(div, bloc_actions.firstChild);
		titre.innerHTML = "";titre.appendChild(input_titre);

		textarea.focus();
	}
	else
	{
		if (id_editeur) div.appendChild(id_editeur);
    div.appendChild(input_titre);
    div.appendChild(textarea);
    div.appendChild(submit);
    div.appendChild(close);
    document.body.appendChild(div);

		input_titre.focus();
	}
}





function aff_formulaire_news_ajouter_submit(numNews)
{
	// Appeler un script php pour mettre à jour
	var err;
	if (document.getElementById('bloc_formulaire_id_editeur'))
		var id_editeur = document.getElementById('bloc_formulaire_id_editeur').value;
	var message = document.getElementById('bloc_formulaire_textarea').value;
	var titre   = document.getElementById('bloc_formulaire_titre').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			if (err) alert(err);

			// Afficher les modif sur la page
			aff_formulaire_news_ajouter_close(numNews);
		}
	}
	

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=news_ajouter"
				+ "&numNews=" + numNews
				+ "&titre="   + titre
				+ "&message=" + message
				+ "";
	if (id_editeur)
	  params+= "&idEditeur=" + id_editeur;
	
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);
}


function aff_formulaire_news_commentaire_submit(numNews)
{
	// Appeler un script php pour mettre à jour
	var err;
	if (document.getElementById('bloc_formulaire_news_commentaire_id')) 
		var id     = document.getElementById('bloc_formulaire_news_commentaire_id').value;
	else
		var id = null;
	var pseudo = document.getElementById('bloc_formulaire_news_commentaire_pseudo').value;
	var txt    = document.getElementById('bloc_formulaire_news_commentaire_textarea').value;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{

		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);

			aff_formulaire_close_id("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=news_commentaire&numNews=" + numNews
				+ "&pseudo="  + pseudo
				+ "&message=" + txt
				+ "";
	if (id > 0) params += "&id=" + id;
	
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);
}

function aff_formulaire_news_commentaire_delete_ok(bloc, id)
{
	// Appeler un script php pour delete
	var err;
	
	// Création d'un élément ajax
	xhr = getXhr();
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			err = xhr.responseText; // Si vide alors pas d'erreur de traitement.
			
			if (err) alert(err);
			aff_formulaire_close_id("bloc_formulaire_temp");
		}
	}

	// on execute la requete
	xhr.open("post", "./scripts/gestion_bdd.php?id=" + document.getElementById("idSession").value, true);

	params = "action=delete_news_commentaire&id=" + id
				+ "";
	
	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	
	xhr.send(params);
}
