if (window.XMLHttpRequest) {
read_request = new XMLHttpRequest();
write_request= new XMLHttpRequest();
ping_request = new XMLHttpRequest();
calendar_request = new XMLHttpRequest();
coms_request = new XMLHttpRequest();
}

else if (window.ActiveXObject){
read_request = new ActiveXObject("Microsoft.XMLHTTP");
write_request= new ActiveXObject("Microsoft.XMLHTTP");
ping_request = new ActiveXObject("Microsoft.XMLHTTP");
calendar_request = new ActiveXObject("Microsoft.XMLHTTP");
coms_request = new ActiveXObject("Microsoft.XMLHTTP");
}


titre_original = document.title;
var dernier = "0"; // le time() du dernier message reçu. qu'on envoit au serveur pour qu'il sache s'il y a du neuf.
var smilies = 1;
var refresh = 1;
var i = 1;
var focus = 1;
var forcerefresh = 0; //si =1, on refresh même s'il n'y a rien de neuf (en envoyant "dernier=forcerefresh" au serveur)
var timestamps = 0;

function ajax_write(url){
		date = new Date(); ms = (date.getHours() * 24 * 60 * 1000) + (date.getMinutes() * 60 * 1000) + (date.getSeconds() * 1000) + date.getMilliseconds();
		write_request.open('GET',url+"&x="+ms,true);
		write_request.onreadystatechange=function(){
			if (write_request.readyState==4) {
				document.getElementById("status").src = write_request.responseText;
			}
		}
		write_request.send(null);
}
	

function ajax_ping(){
		date = new Date(); ms = (date.getHours() * 24 * 60 * 1000) + (date.getMinutes() * 60 * 1000) + (date.getSeconds() * 1000) + date.getMilliseconds();
		pseudo = document.getElementById("chat_pseudo").value;
		ping_request.open('GET',"chat/write.php?ping=1&x="+ms+"&pseudo="+pseudo,true);
		ping_request.onreadystatechange=function()
		{
			if (ping_request.readyState==4) {
				document.getElementById("clist").innerHTML = ping_request.responseText;
				setTimeout("ajax_ping()",10000)
			}
		}
		ping_request.send(null);
}

function ajax_read() {
 date = new Date(); ms = (date.getHours() * 24 * 60 * 1000) + (date.getMinutes() * 60 * 1000) + (date.getSeconds() * 1000) + date.getMilliseconds();
 if (forcerefresh ==1) 	read_request.open("GET", "chat/read.php?x="+ms+"&dernier=forcerefresh", true);
 else 					read_request.open("GET", "chat/read.php?x="+ms+"&dernier="+dernier, true);
 read_request.onreadystatechange=function() {
  if (read_request.readyState==4) {
	if (read_request.responseText != "riendeneuf"){
		dernier = read_request.responseText.substring(0,10);
		document.getElementById("chat_contenu").innerHTML = moulinette(read_request.responseText.substring(10));
		var elm = document.getElementById("chat_contenu");
		elm.scrollTop = elm.scrollHeight;
	  setTimeout("document.getElementById('chat_contenu').scrollTop = document.getElementById('chat_contenu').scrollHeight",400);
		if (focus == 0){document.title = "*** " + titre_original;
		forcerefresh = 0;}
	}
	setTimeout("ajax_read()",200);
	}
  }
 read_request.send(null)
}


function moulinette(string){
	if (smilies == 1){
		string = string.replace(/=\\/g,"<img src=\"img/emoticon_hmm.png\"/>");
		string = string.replace(/=\)/g,"<img src=\"img/emoticon_smile.png\"/>");
		string = string.replace(/=D/g,"<img src=\"img/emoticon_grin.png\"/>");
		string = string.replace(/=o/g,"<img src=\"img/emoticon_surprised.png\"/>");
		string = string.replace(/=\(/g,"<img src=\"img/emoticon_unhappy.png\"/>");
	}
	if (timestamps == 0){
	string = string.replace(/\[..:..\] /g," ");
	}
	return (string);
}


function envoyer(){
	var pseudo = document.getElementById("chat_pseudo").value;
	var message = document.getElementById("chat_message").value;
	document.getElementById("chat_message").value = "";
	document.getElementById("status").src = "smilies/pencil_go.png";
	ajax_write("chat/write.php?message=" + escape(message) + "&pseudo=" + escape(pseudo)); }


function keyup(touche){
	if (touche == 13) {
		if (document.getElementById("chat_message").value == "/emoticons 1"){
			setsmilies(1);
			document.getElementById("chat_message").value = "";
			forcerefresh = 1;
		}
		if (document.getElementById("chat_message").value == "/emoticons 0"){
			setsmilies(0);
			document.getElementById("chat_message").value = "";
			forcerefresh = 1;
		}
		
		envoyer();
	}
}

function setnick(){
	if (document.getElementById("chat_pseudo").value == ""){
		number = Math.floor ( Math.random ( ) * 100 );
		document.getElementById("chat_pseudo").value = "anonyme"+number;
	}
}

function setsmilies(x){
	smilies = x;
}

function settimestamps(ts){
timestamps = ts;
}

function setfocus(foc){
	focus = foc;
	if (focus == 1){	
		document.title = titre_original;
	}
}

function popup(){
window.open('chat.php','chat','width=800,height=480,resizable=1')
}



 /*  Resizer  */
/* ********* */


var y_origine = 0;
var height_origine = 0;

function resize(e) {
try {
y = e.clientY;
document.getElementById("chat_contenu").style.height = height_origine + y - y_origine + "px";
document.getElementById("chat_contenu").scrollTop = document.getElementById("chat_contenu").scrollHeight;
}
catch(msiesucks){}
}

function drop(){
	document.onmousemove = null;
	document.onmouseup= null;
}

function drag(e){
try{
	if (e.target.className == "chat_resize"){
		y_origine = e.clientY;
		height_origine = document.getElementById("chat_contenu").style.height;
		if (height_origine == "") {height_origine = 400 }
		else {height_origine = parseInt(height_origine)};
		document.onmousemove = resize;
		document.onmouseup= drop;
		return false;
	}
}
catch(msiesucks){}
}


document.onmousedown = drag;



 /*  Calendrier  */
/* ************ */
var mois = 0 //mois à  afficher, relatif au mois en cours.

function mois_suivant(){
mois ++;
if (mois == 0){calendar_request.open('GET','include/calendrier.php?x=zero',true);}
else {calendar_request.open('GET','include/calendrier.php?x='+mois,true);}
calendar_request.onreadystatechange=function(){
	if (calendar_request.readyState==4) {
		document.getElementById("calendrier").innerHTML = calendar_request.responseText;
	}
}
calendar_request.send(null);
}

function mois_precedent(){
mois --;
if (mois == 0){calendar_request.open('GET','include/calendrier.php?x=zero',true);}
else {calendar_request.open('GET','include/calendrier.php?x='+mois,true);}
calendar_request.onreadystatechange=function(){
	if (calendar_request.readyState==4) {
		document.getElementById("calendrier").innerHTML = calendar_request.responseText;
	}
}
calendar_request.send(null);
}




function tooltip(e){
/*  if (evenement == 0){
    document.getElementById("tooltip").innerHTML = "";
  }
  else {*/
    y = e.clientY;
    document.getElementById("tooltip").innerHTML = y;
  //}
}




 /*  Commentaires */
/* ************* */


function affiche_coms(id){
comid = "com" + id;
toggle_comsid = "toggle_coms" + id
document.getElementById(comid).style.opacity = 0;
document.getElementById(comid).style.maxHeight = '16px'
coms_request.open('GET','include/coms.php?id='+id,true);
coms_request.onreadystatechange=function(){
	if (coms_request.readyState==4) {
		document.getElementById(comid).innerHTML = coms_request.responseText;
		document.getElementById(toggle_comsid).innerHTML = "<a href=\"actu-"+id+".html\">permalien</a> - <a href=\"javascript:masque_coms('"+id+"')\">masquer les commentaires</a>"
    setTimeout("document.getElementById(comid).style.maxHeight = '10000px'",310);
    for(i=1; i< 101; i++){
    setTimeout("document.getElementById(comid).style.maxHeight = '"+i*3+"px'",i*3);
    setTimeout("document.getElementById(comid).style.opacity = "+i/100,(i*10)+300);
    setTimeout("document.getElementById(comid).style.maxHeight = '10000px'",(i*10)+315);
    }
    
	}
}
coms_request.send(null);
}


function masque_coms(id){
comid = "com" + id;
toggle_comsid = "toggle_coms" + id
document.getElementById(toggle_comsid).innerHTML = "<div class=\"toggle_coms\"><a href=\"actu-"+id+".html\">permalien</a> - <a href=\"javascript:affiche_coms('"+id+"')\">afficher les commentaires</a></div>";
document.getElementById(comid).innerHTML = "";
}

function poster(){
message = document.getElementById('message').value
message = message.replace(/\n/g,"<br />");
pseudo = document.getElementById('pseudo').value
mail = "pouet"
id_billet = document.getElementById('id_billet').value;
id = "1";
comid = "com" + id_billet;
coms_request.open('GET','include/coms.php?message='+message+'&mail='+mail+'&pseudo='+pseudo+'&id_billet='+id_billet,true);
coms_request.onreadystatechange=function(){
	if (coms_request.readyState==4) {
		document.getElementById(comid).innerHTML = coms_request.responseText;
	}
}
coms_request.send(null);
}
