/*---------------------------------------------*/
/*  Fonction Afficher/Cacher les commentaires  */
/*---------------------------------------------*/
function affCacheRead(panel, id_news)
{
  var el = document.getElementById(panel+id_news);
  if (el.style.display == "none") {
    el.style.display = "block";
    document.getElementById("form_com_"+id_news).style.display = "none";
    document.getElementById("confirm_com_"+id_news).style.display = "none";
    document.getElementById("com_panel_write_"+id_news).style.display = "none";
  } 
  else {
    el.style.display = "none";
  }
}
/*------------------------------------------------------*/
/*  Fonction Afficher/Cacher écriture d'un commentaire  */
/*------------------------------------------------------*/
function affCacheWrite(panel, id_news)
{
  var el = document.getElementById(panel+id_news);
  if (el.style.display == "none") {
    el.style.display = "block";
    document.getElementById("form_com_"+id_news).style.display = "block";
    document.getElementById("auteur_com_"+id_news).value = "Auteur";
    document.getElementById("content_com_"+id_news).value = "Votre commentaire";
    document.getElementById("confirm_com_"+id_news).style.display = "none";
    document.getElementById("com_panel_read_"+id_news).style.display = "none";
    document.getElementById("bt_valider_"+id_news).disabled = true;
    document.getElementById("auteur_com_"+id_news).style.borderColor = "black";
    mess_auth(id_news, "");
  } 
  else {
    el.style.display = "none";
  }
}

/*---------------------------------------------*/
/*  Fonction Afficher le statut de la requête  */
/*---------------------------------------------*/
function update_status(id_news, text, img)
{
	document.getElementById("confirm_com_"+id_news).innerHTML = '<img id="status" src="admin/img/' + img + '.gif" border="0"> ' + text;
}

/*------------------------------------------*/
/*  Création d'une instance XMLHttpRequest  */
/*------------------------------------------*/
function xmlGetObject() 
{
  var xhr_object = null;
  if (window.XMLHttpRequest) //Firefox, Opéra
	{
		xhr_object = new XMLHttpRequest();
		if (xhr_object.overrideMimeType) 
		{
			xhr_object.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) //Internet Explorer
	{
		try {
			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)	{
			try {
				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			}
		}
  }
  return xhr_object;
}

/*------------------------------------------------------------*/
/*  Fonction File qui récupère le résultat d'une requête SQL  */
/*------------------------------------------------------------*/
function file(id_news, fichier)
{
  //Message d'attente
	update_status(id_news, "Votre requête est en cours de traitement ...", "handle");
  
  /*  Envoi le résultat de manière synchrone par méthode GET  */
  var xhr_object = xmlGetObject();
  xhr_object.open("GET", fichier, false); //méthode, URL, false=synchrone/true=asynchrone
  xhr_object.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
  xhr_object.send(null);  //Envoi la requête sans paramètres
  if( xhr_object.status == 200 ) //Si la réponse ne contient pas d'erreur
  {
    return (xhr_object.responseText); //Renvoi du résultat en format texte
  }
  else{
    return (update_status(id_news, "Erreur lors de l'envoi de la requ&#281;te !", "wrong"));
  }
}

/*-----------------------------------*/
/*  Fonction Ajouter un commentaire  */
/*-----------------------------------*/
function ajout_com(label, id_news)
{
  //On récupère les valeurs du formulaire
  var auteur = document.getElementById("auteur_com_"+id_news).value;
  var contenu = document.getElementById("content_com_"+id_news).value;
 
  //Envoi des infos à la requête
  var code = file(id_news, "admin/ajout_com.php?label="+label+"&auteur="+auteur+"&contenu="+contenu+"&id_news="+id_news);

  //Affichage du résultat de la requête
  if(code == "1") {
    document.getElementById("form_com_"+id_news).style.display = 'none';
    document.getElementById("confirm_com_"+id_news).style.display = 'block';
    update_status(id_news, "Votre commentaire a été ajouté. Merci de votre participation.", "good");
    refresh_total_com(label, id_news);
    refresh_com(label, id_news);
    setTimeout("cacher_panel(" + id_news + ")", "2000");
  }
  else if(code == "0") {
    update_status(id_news, "! Erreur ! Le commentaire na pas été ajouté.", "wrong");
  }
}

/*------------------------------------*/
/*  Cacher le panel des commentaires  */
/*------------------------------------*/
function cacher_panel(id_art)
{
  document.getElementById("com_panel_write_"+id_art).style.display = "none";
}

/*----------------------------------------------*/
/*  Fonctions Détecter le minimum de caractère  */
/*----------------------------------------------*/
function mess_auth(id_news, texte)
{
  document.getElementById("mess_auth_"+id_news).innerHTML = texte;
}
function min_char(auteur_com, id_news)
{
  if(auteur_com != '')
  {
    if(auteur_com.length < 2){
      mess_auth(id_news, "Votre pseudo est trop court (2 caractères minimum)");
      document.getElementById("auteur_com_"+id_news).style.borderColor = "red";
      document.getElementById("bt_valider_"+id_news).disabled = true;
    }
    else{ 
      mess_auth(id_news, "");
      document.getElementById("auteur_com_"+id_news).style.borderColor = "black";
      document.getElementById("bt_valider_"+id_news).disabled = false;
    }
  }
  else{ 
    mess_auth(id_news, "Veuillez entrer votre pseudo !"); 
    document.getElementById("auteur_com_"+id_news).style.borderColor = "red";
    document.getElementById("bt_valider_"+id_news).disabled = true;
  }
}

/*--------------------------------------------------------------*/
/*  Fonctions pour l'affichage des coms avec suivant/précédent  */
/*--------------------------------------------------------------*/
function a(string) {return document.getElementById(string);}

function xmlGet(eltid,script) 
{
  var xhro = xmlGetObject();
  if (xhro==null) return;
  xhro.open("GET", script, true);
  xhro.onreadystatechange = function() //Appel à chaque fois que la requête change d'état
  {  
    if(xhro.readyState == 4){           //4 = Requête terminée
      eltid.innerHTML=(xhro.responseText); //Envoi du résultat de la requête en format texte
    } 
    else{
      eltid.innerHTML='<img src="admin/img/handle_big.gif" border="0">'; //Tant que la requête n'est pas terminé
    }
  }
  xhro.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
  xhro.send(null);
}

function liste_com(limit, label, id_art) {
  xmlGet(document.getElementById('com_panel_read_'+id_art), 'liste_com.php?limite='+limit+'&label='+label+'&id_art='+id_art);
}

/*--------------------------------------------*/
/*  Réactualiser l'affichage après un new com */
/*--------------------------------------------*/
function refresh_total_com(label, id_art)
{
	var xhr_object = xmlGetObject();
	var filename = 'total_com.php?label='+label+'&id_art='+id_art;
	xhr_object.open('POST', filename, true);
	xhr_object.onreadystatechange = function()
	{
		if(xhr_object.readyState == 4){
			document.getElementById('total_com_'+id_art).innerHTML = xhr_object.responseText;
		}
		else{
      document.getElementById('total_com_'+id_art).innerHTML = '<img src="admin/img/handle.gif" border="0">';
    }
	}
	xhr_object.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
	xhr_object.send(null);
}
function refresh_com(label, id_art)
{
	var xhr_object = xmlGetObject();
	var filename = 'liste_com.php?label='+label+'&id_art='+id_art;
	xhr_object.open('POST', filename, true);
	xhr_object.onreadystatechange = function()
	{
		if(xhr_object.readyState == 4){
			document.getElementById('com_panel_read_'+id_art).innerHTML = xhr_object.responseText;
		}
	}
	xhr_object.setRequestHeader("Content-Type", "text/xml; charset=iso-8859-1");
	xhr_object.send(null);
}

