// AJAX Scripts

function getXmlHttp() {
var xmlhttp=false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp=new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {xmlhttp.overrideMimeType('text/xml');}
} else if (window.ActiveXObject) { // IE
try {xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) {
try {xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch (e) {}
}
}
if (!xmlhttp) {
alert('Abandon : (Impossible de créer une instance XMLHTTP');
return false;
}
else {return (xmlhttp);}
}

function dev() {
alert("Cette fonctionnalité est en développement pour la prochaine version de Jus Luminum.");
}

function urate(n,d) {
document.getElementById("paragraph_report_"+n).style.display="block";
document.getElementById("paragraph_report_"+n).innerHTML="Un instant ...";
xmlhttpURate=getXmlHttp();
var xcall="files/handlers.ajax.php?action=1&urate="+n+"&doc="+d;
xmlhttpURate.open("GET",xcall,true);
xmlhttpURate.onreadystatechange=function() {
if (xmlhttpURate.readyState==4) {
if (xmlhttpURate.status==200) {
var bits=xmlhttpURate.responseText.substr(0,1);
if (bits==1) {
document.getElementById("paragraph_report_"+n).innerHTML="Merci de votre contribution. Ce paragraphe a été mis en valeur.";
document.getElementById("doc_main").innerHTML=xmlhttpURate.responseText.substr(2);
}
else {
document.getElementById("paragraph_report_"+n).innerHTML="Merci de votre contribution. Toutefois, une erreur est survenue, ce paragraphe n'a pas pu être mis en valeur.";
}
}
else {
alert("Error: Your request did not succeed.");
document.getElementById("paragraph_report_"+n).innerHTML="Erreur du serveur (mise en valeur du paragraphe).";
}
}
}
xmlhttpURate.send(null);
}

function anonym() {
if(document.getElementById("user_hide_last").value!=""){
var x0=cleanValue(document.getElementById("user_hide_first").value);
var x1=cleanValue(document.getElementById("user_hide_last").value);
document.getElementById("user_hide_status").innerHTML="<p class=\"first\">Un instant ...</p>";
xmlhttpAnon=getXmlHttp();
var xcall="files/handlers.ajax.php?action=5&first="+encodeURIComponent(x0)+"&last="+encodeURIComponent(x1);
xmlhttpAnon.open("GET",xcall,true);
xmlhttpAnon.onreadystatechange=function() {
if (xmlhttpAnon.readyState==4) {
if (xmlhttpAnon.status==200) {
var bits=xmlhttpAnon.responseText.substr(0,1);
if (bits==1) {
document.getElementById("user_hide_status").innerHTML="<p class=\"first\">Merci de votre contribution. Ce nom devrait bientôt disparaître du site.";
var rlbut=document.getElementById("rl_button_td");while(rlbut.firstChild){rlbut.removeChild(rlbut.firstChild);}
var rlf=document.createElement("form");
var rlfs=document.createElement("fieldset");
var rli1=document.createElement("input");
var rli2=document.createElement("input");
rlf.setAttribute("action","");
rlf.setAttribute("method","post");
rli1.setAttribute("type","hidden");
rli1.setAttribute("name","nocache");
rli1.setAttribute("value","1");
rli2.setAttribute("type","button");
rli2.onclick=function(){rlf.submit();};
rli2.setAttribute("value","Rafraîchir");
rlfs.appendChild(rli1);rlfs.appendChild(rli2);rlf.appendChild(rlfs);rlbut.appendChild(rlf);
}
else {
document.getElementById("user_hide_status").innerHTML="<p class=\"first\">Merci de votre contribution. Toutefois, une erreur est survenue, l'anonymisation a échoué.</p>";
}
}
else {
alert("Error: Your request did not succeed.");
document.getElementById("user_hide_status").innerHTML="<p class=\"first\">Erreur du serveur (suppression de mentions nominatives).</p>";
}
}
}
xmlhttpAnon.send(null);
}
else{document.getElementById("user_hide_status").innerHTML="<p class=\"first\">Vous devez spécifier au moins un nom de famille.</p>";}
}

function error_report() {
var ereport=document.getElementById("error_report_text").value;
xmlhttpEReport=getXmlHttp();
var xcall="files/handlers.ajax.php?action=2&ereport="+escape(ereport);
xmlhttpEReport.open("GET",xcall,true);
xmlhttpEReport.onreadystatechange=function() {
if (xmlhttpEReport.readyState==4) {
if (xmlhttpEReport.status==200) {
var bits=xmlhttpEReport.responseText;
if (bits==1) {
document.getElementById("error_report_status").innerHTML="Merci de votre contribution. Votre message a été envoyé.";
}
else if (bits==0) {
document.getElementById("error_report_status").innerHTML="Merci de votre contribution. Toutefois, une erreur est survenue, votre message n'a pas pu être envoyé.";
}
else if (bits==2) {
document.getElementById("error_report_status").innerHTML="Votre message est vide, et n'a pas pu être envoyé.";
}
}
else {alert("Error: Your request did not succeed.");}
}
}
xmlhttpEReport.send(null);
}

function jl_register() {
}

function jl_login() {
var login_id=document.getElementById("login_id").value;
var login_pass=document.getElementById("login_pass").value;
if (document.getElementById("login_sess_id")) {var sess_id=document.getElementById("login_sess_id").value;}
else {var sess_id="";}
if (login_id=="" || login_pass=="") {return false;}// register();}
xmlhttpLogin=getXmlHttp();
var xcall="files/handlers.ajax.php?action=3&login_id="+escape(login_id)+"&login_pass="+escape(login_pass)+"&sess_id="+sess_id;
xmlhttpLogin.open("GET",xcall,false);
xmlhttpLogin.onreadystatechange=function() {
if (xmlhttpLogin.readyState==4) {
if (xmlhttpLogin.status==200) {
var bits0=xmlhttpLogin.responseText.split(",");
//alert(xmlhttpLogin.responseText);
var bits=bits0[0];
if (bits==1) {
document.getElementById("login_status").innerHTML="Bienvenue, "+bits0[1]+"<br />Vous êtes maintenant connecté.";
document.getElementById("b_login_tree").innerHTML="<a onclick=\"jl_deco();\">Déconnexion</a>";
}
else if (bits==0) {
document.getElementById("login_status").innerHTML="Connexion impossible.";
}
else if (bits==2) {
document.getElementById("login_status").innerHTML="Vous êtes déjà connecté, "+bits0[1]+".";
document.getElementById("b_login_tree").innerHTML="<a onclick=\"jl_deco();\">Déconnexion</a>";
}
else if (bits==3) {
document.getElementById("login_status").innerHTML="Connexion impossible, "+bits0[1]+".";
}
else if (bits==4) {
document.getElementById("login_status").innerHTML="Votre IP est temporairement bannie suite à plusieurs tentatives de connexion infructueuses.";
}
else if (bits==5) {
document.getElementById("login_status").innerHTML="Le compte '"+login_id+"' est temporairement désactivé suite à plusieurs tentatives de connexion infructueuses.";
}
}
else {alert("Error: Your request did not succeed.");}
}
}
xmlhttpLogin.send(null);
}

function jl_deco() {
if (document.getElementById("login_sess_id")) {var sess_id=document.getElementById("login_sess_id").value;}
else {var sess_id="";}
xmlhttpDeco=getXmlHttp();
var xcall="files/handlers.ajax.php?action=4&sess_id="+sess_id;
xmlhttpDeco.open("GET",xcall,false);
xmlhttpDeco.onreadystatechange=function() {
if (xmlhttpDeco.readyState==4) {
if (xmlhttpDeco.status==200) {
var bits0=xmlhttpDeco.responseText.split(",");
var bits=bits0[0];
if (bits==1) {
document.getElementById("login_status").innerHTML="Vous êtes maintenant déconnecté, "+bits0[1]+".";
document.getElementById("b_login_tree").innerHTML="<a>Connexion</a>";
document.getElementById("login_pass").value="";
}
else if (bits==0) {
document.getElementById("login_status").innerHTML="Déconnexion impossible.";
}
else if (bits==4) {
document.getElementById("login_status").innerHTML="Votre IP est temporairement bannie suite à plusieurs tentatives de connexion infructueuses.";
}
else if (bits==5) {
document.getElementById("login_status").innerHTML="Le compte '"+login_id+"' est temporairement désactivé suite à plusieurs tentatives de connexion infructueuses.";
}
}
else {alert("Error: Your request did not succeed.");}
}
}
xmlhttpDeco.send(null);
}
