var id_de_larticle ='';
var commentairesOuverts = new Array(); // permet de retenir si un volet de commentaires est deja ouvert

// cette fonction est utilisée pour la requete ajax
function ajax(nom_fichier_php, parametres, fonction)
{
	var xhr_object = null; 
	
	if(window.XMLHttpRequest) // Firefox 
	   xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   return; 
	} 
	 
	var method = 'POST';
	
	xhr_object.open(method, nom_fichier_php, true); 

	xhr_object.onreadystatechange = function() { 
		if(xhr_object.readyState == 4){
	  eval(xhr_object.responseText); // "eval" signifie que c'est du code javascript qui a été retourné et qu'on l'exécute
		if(fonction=='enregistrerCommentaire')
		afficherCommentaires(id_de_larticle,'oui');
		// else if(fonction=='afficherCommentaires')
			//Element.scrollTo ('commentaires'+id_de_larticle);
	   }
	}  
	
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
	
	xhr_object.send('action='+fonction+'&'+parametres); 
	
}

// cette fonction permet de créer un nouveau commentaire en ajax
function enregistrerCommentaire(pseudo_visiteur, url_visiteur, commentaire_visiteur, id_article, id_blog){
	id_de_larticle = id_article; // bidouille
	var fonction = 'enregistrerCommentaire';
	var chaine = new String(pseudo_visiteur); 
	
	//bidouille pour faire passer le caractère € et le signe \n
	var chaine = new String(pseudo_visiteur); 
	pseudo_visiteur = chaine.replace("€", "&euro;"); 
	chaine = new String(url_visiteur); 
	url_visiteur = chaine.replace("€", "&euro;"); 
	chaine = new String(commentaire_visiteur); 
	commentaire_visiteur = chaine.replace("€", "&euro;"); 
	commentaire_visiteur = chaine.replace('(\n)', '<br />'); 
	
	var parametres = 'pseudo_visiteur='+encodeURIComponent(pseudo_visiteur);
	parametres += '&url_visiteur='+encodeURIComponent(url_visiteur);
	parametres += '&commentaire_visiteur='+encodeURIComponent(commentaire_visiteur);
	parametres += '&id_article='+id_article;
	parametres += '&id_blog='+id_blog;
	
	ajax('http://'+window.location.host+'/ajax_commentaires.php',  parametres, fonction);
}

function ouvrircommentaires(id_article, pseudo){
	id_de_larticle = id_article;
	commentairesOuverts[id_de_larticle] = true;
	afficherCommentairesEtFormulaire(id_article, pseudo, 'oui', 'oui');
}

function fermercommentaires(id_article){
	commentairesOuverts[id_article] = false;
	new Effect.BlindUp("bloc_commentaires"+id_article, {duration:0.1});
	/*Element.hide('bloc_commentaires');*/
}
// cette fonction permet d'afficher les commentaires d'un article
// param slide : si à l'affichage il doit y avoir un effet de glissement ou pas
function afficherCommentaires(id_article, lienFermerComm){
	var fonction = 'afficherCommentaires';
	var parametres = 'id_article='+id_article+'&lienFermerComm='+lienFermerComm;
	ajax('http://'+window.location.host+'/ajax_commentaires.php', parametres, fonction);
}

// cette fonction permet d'afficher les commentaires d'un article et le formulaire pour en écrire de nouveaux
// param slide : si à l'affichage il doit y avoir un effet de glissement ou pas
function afficherCommentairesEtFormulaire(id_article, blog, lienFermerComm, slide){
	var fonction = 'afficherCommentairesEtFormulaire';
	var parametres = 'id_article='+id_article+'&blog='+blog+'&lienFermerComm='+lienFermerComm+'&slide='+slide;
	ajax('http://'+window.location.host+'/ajax_commentaires.php', parametres, fonction);
}
// changer texte du lien afficher/cacher commentaires
function switch_afficher_cacher(id_article)
{
	var chaine = new String(document.getElementById('lien-'+id_article).innerHTML); 
	if(chaine.indexOf('Cacher')==-1)
		document.getElementById('lien-'+id_article).innerHTML = chaine.replace("Afficher", "Cacher"); 
	else
		document.getElementById('lien-'+id_article).innerHTML = chaine.replace("Cacher", "Afficher"); 
}
