function ajaxSendMessageBNET (obj, message, req_id)
{
var req = getAjaxRequest();
obj.value = "";
if (message == "")
return;
req.onreadystatechange = function()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
BNET_loadChannel (req.responseText);
window.clearInterval (timer_bnet_channel);
timer_bnet_channel = window.setInterval ("ajaxReloadBnet ('" + req_id + "');", 10000);
}
}
};
req.open("POST", "../ajax/bnet-channel/" + req_id + "-send-" + (Math.floor (Math.random () * 100000)), true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.setRequestHeader("Cache-Control","no-cache");
req.send("message=" + escape(message));
}
function BNET_loadChannel (text)
{
var data = text.split (//);
var channel = data[0];
var users_list = data[1].split (//);
var users_list_irc = data[2].split (//);
var infos_list = data[3].split (//);
var talks_list = data[4].split (//);
var layer_users = "";
var layer_users_irc = "";
var layer_talks = "";
var users_irc_corr = new Array ();
layer_users = "
" + channel + " (" + users_list.length + ")
";
for (i = 0; i < users_list.length; ++i)
layer_users += "" + users_list[i] + "
";
document.getElementById("users").innerHTML = layer_users;
layer_users_irc = "#ifa.bnet (" + users_list_irc.length + ")
";
for (i = 0; i < users_list_irc.length; ++i)
{
users_irc_corr[users_list_irc[i].toUpperCase ()] = users_list_irc[i];
users_list_irc[i] = users_list_irc[i].toUpperCase ();
}
users_list_irc.sort ();
for (i = 0; i < users_list_irc.length; ++i)
layer_users_irc += "" + users_irc_corr[users_list_irc[i]] + "
";
document.getElementById("users_irc").innerHTML = layer_users_irc;
last_talk = infos_list[0];
ping = infos_list[1];
for (i = 0; i < talks_list.length; ++i)
{
if (talks_list[i] == " ")
continue;
var talks_data = talks_list[i].split (//);
var from_msg = talks_data[1];
if (talks_data[2] == "0")
layer_talks += "
" + talks_data[0] + ": " + talks_data[3] + "
";
else if (talks_data[2] == "1")
layer_talks += "
" + talks_data[0] + " " + talks_data[3] + "
";
else if (talks_data[2] == "2")
layer_talks += "
" + talks_data[0] + " " + talks_data[3] + "
";
}
document.getElementById("channel").innerHTML += layer_talks;
scrollToBottom ("channel");
}
function ajaxLoadBnetOnline (req_id, layer_name)
{
var req = getAjaxRequest();
document.getElementById(layer_name).innerHTML = "Connexion en cours...";
req.onreadystatechange = function()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
// Bot unavailable
if (req.responseText == "")
{
document.getElementById(layer_name).innerHTML = "Impossible de récupérer la liste des utilisateurs. Cliquez ici pour réessayer.";
return;
}
var bnet_users = "";
var data = req.responseText.split (//);
var channel = data[0];
var users_list = data[1].split (//);
for (i = 0; i < users_list.length; ++i)
bnet_users += "" + users_list[i] + "";
document.getElementById(layer_name).innerHTML = bnet_users;
}
}
};
req.open("GET", "../ajax/bnet-online/" + req_id + "-" + (Math.floor (Math.random () * 100000)), true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.setRequestHeader("Cache-Control","no-cache");
req.send(null);
}
function ajaxReloadBnet (req_id)
{
var req = getAjaxRequest();
req.onreadystatechange = function()
{
if(req.readyState == 4)
{
if(req.status == 200)
{
// Bot unavailable
if (req.responseText == "")
{
document.getElementById("bnet_error").innerHTML = "Connexion interrompue. Cliquez ici pour essayer à nouveau.
";
window.clearInterval (timer_bnet_channel);
return;
}
BNET_loadChannel (req.responseText);
document.getElementById("bnet_error").innerHTML = "Connexion établie. Ping : " + ping + " ms - Dernier message le " + last_talk + ".
";
}
}
};
req.open("GET", "../ajax/bnet-channel/" + req_id + "-load-" + (Math.floor (Math.random () * 100000)), true);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.setRequestHeader("Cache-Control","no-cache");
req.send(null);
}