//
//Création de l'objet HTTPrequest
//
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..."); 

//
//Effacer un post
//
function delete_post(id_post)
{
  var post = document.getElementById('onliner_'+id_post);
  var choice = confirm("Voulez-vous vraiment effacé cet article:\n\t"+post.firstChild.innerHTML+"\n")
  if(choice)
  {	
    xhr_object.open("GET", "onliner.php?action=del&id="+id_post, true); 
	xhr_object.onreadystatechange = function() 
	{
		if(xhr_object.readyState == 4)
		{
		  //alert(xhr_object.responseText)
		  var cell = document.getElementById("onliner_cell_"+id_post);
		  cell.innerHTML = "";
		}
	}
    xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xhr_object.send(null); 
  }
}

//
//Modifier un post
//
var svg_footer = '';
function edit_post(id_post)
{
  var post = document.getElementById('onliner_'+id_post);
  var old_text = post.firstChild.innerHTML;
  svg_footer = post.lastChild.innerHTML; //Sauvergarde du bas de l'article (liens,date)
  post.innerHTML = "<textarea id='edit_"+id_post+"'>"+old_text+"</textarea><br />";
  post.innerHTML+= "<input type='button' onClick='update_post("+id_post+")' value='Ok' />";
}

function update_post(id_post)
{
  var new_post=document.getElementById("edit_"+id_post).value;
  var data = 'texte='+new_post;
  xhr_object.open("POST", "onliner.php?action=update&id="+id_post, true); 
  xhr_object.onreadystatechange = function()
	{
	  	var post = document.getElementById('onliner_'+id_post);
	  	
		if(xhr_object.readyState == 4)
		{
		  if(xhr_object.responseText != "")
		  	alert(xhr_object.responseText);
		  else
		  { 		    
		  	post.innerHTML = '<p>'+new_post+'</p>'+'<table>'+svg_footer+'</table>';
		  }	  
		}
		
		if(xhr_object.readyState < 4)
		{
		  post.innerHTML="<p align='center' width='100%'><i><b>Sauvegarde en cours</b></i></p>";
		}
	}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
	xhr_object.send(data);
}

//
//Ajouter un post
//
function insertAfter(parent, node, referenceNode) 
{
  parent.insertBefore(node, referenceNode.nextSibling);
}

function add_post(evt)
{
  //evt.preventDefault(); //Stop le submit
  if ('stopPropagation' in evt) {
			evt.stopPropagation();
			evt.preventDefault();
  }else{
		evt.keyCode = 0;
		evt.cancelBubble = true;
		evt.returnValue = false;
  } 
  var id_user  = document.forms['add_onliner'].user_id.value
  var new_post = document.forms['add_onliner'].texte.value;
  if(id_user==0)
  	var post_confirm=confirm("Ajout d'un message\n\nEn cliquant sur le lien ci-desous, j'affirme que mon message ne contient aucune obscénité, aucune idée se rapprochant de l'homophobie, la pédophilie ou de tout ce qui pourrait choquer les bonnes moeurs.\n Je suis concient que mon adresse IP a été; relevée et que des poursuites pourront etre engagées contre moi si je ne respecte pas ces regles.\nAinsi, je suis responsable du contenu de ce message:\n\t"+new_post);
	else
		post_confirm=true;
  if(post_confirm && new_post != "")
  {
	 var data = 'texte='+new_post;
	 xhr_object.open("POST", "onliner.php?action=add", true); 
	 xhr_object.onreadystatechange = function() 
		{
			if(xhr_object.readyState == 4)
			{		      
				var retour = xhr_object.responseText.split('|');
				if(retour == "")
					alert("Post non enregistré");
				else
				{
				  	var new_id = retour[0];
					var login  = retour[1];
					var footer = retour[2];
					var onliner 	= document.getElementById("onliner").firstChild; //Tableau du onliner (le tbody)
					var onliner_top = document.getElementById("onliner_header"); //Première ligne du tableau
					var new_line = document.createElement("tr");
					var new_cell = document.createElement("td");
					new_cell.setAttribute("class","onliner2");
					new_cell.setAttribute("className","onliner2");
					new_cell.id="onliner_cell_"+new_id;
					var new_div = document.createElement("div"); //IE ne prend innerHTML que sur les div
					new_div.innerHTML="<b><u>"+login+": </u></b><div id='onliner_"+new_id+"'><p>"+new_post+"</p>"+footer;
/*					if(id_user > 0) //Footer uniquement pour les membres
					{
						new_div.innerHTML+=footer;
					}*/
					new_cell.appendChild(new_div);
					new_line.appendChild(new_cell);
					insertAfter(onliner,new_line,onliner_top);
					
					//Ajout de <tr height=1><td class="onliner1"></td></tr>
					//sauf pour les guest
					var new_line2 = document.createElement("tr");
					new_line2.setAttribute("height",1);
					var new_cell2 = document.createElement("td");
					new_cell2.setAttribute("class","onliner1");
					new_cell2.setAttribute("className","onliner1");
					new_line2.appendChild(new_cell2);
					insertAfter(onliner,new_line2,new_line);
					document.forms['add_onliner'].texte.value = ""; //RAZ du champ texte
					alert("Votre message a été enregistré"); //Confirmation
					//document.location="#";
				}
			}
		}
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
	xhr_object.send(data);
  }
}

//Fonction pour universaliser les listener
function universalListener(obj,event,fct)
{
	if (obj.addEventListener)
		obj.addEventListener (event.substr(2),fct,false);
	else if (obj.attachEvent)
		obj.attachEvent (event,fct);
	else
		obj.event=fct;
}
//
//Fonction de chargement
//
function load()
{
	var form=document.getElementById("add_onliner");
	universalListener(form,"onsubmit",add_post);
}

//Au chargement de la page
universalListener(window,"onload",load);