/***************************************************************************
- * Copyright (C) 2003-2006 Polytechnique.org *
+ * Copyright (C) 2003-2007 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
}
}
if (Ajax.xml_client == null) {
- alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page");
+ alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page");
}
}
Ajax.init = true;
},
- update_html: function(obj, src)
+ update_html: function(obj, src, func)
{
Ajax.prepare_client();
if (Ajax.xml_client == null) {
return true;
}
- Ajax.xml_client.onreadystatechange =
- function()
+ Ajax.xml_client.abort();
+ Ajax.xml_client.onreadystatechange = function()
{
if(Ajax.xml_client.readyState == 4) {
- document.getElementById(obj).innerHTML = Ajax.xml_client.responseText;
+ if (Ajax.xml_client.status == 200) {
+ if (obj != null) {
+ document.getElementById(obj).innerHTML = Ajax.xml_client.responseText;
+ }
+ if (func != null) {
+ func(Ajax.xml_client.responseText);
+ }
+ } else if (Ajax.xml_client.status == 403) {
+ window.location.reload();
+ }
}
};
Ajax.xml_client.open ('GET', src, true);
}
}
+var currentTempMessage = 0;
+function setOpacity(obj, opacity)
+{
+ opacity = (opacity == 100)?99:opacity;
+ // IE
+ obj.style.filter = "alpha(opacity:"+opacity+")";
+ // Safari < 1.2, Konqueror
+ obj.style.KHTMLOpacity = opacity/100;
+ // Old Mozilla
+ obj.style.MozOpacity = opacity/100;
+ // Safari >= 1.2, Firefox and Mozilla, CSS3
+ obj.style.opacity = opacity/100
+}
+
+function _showTempMessage(id, state, back)
+{
+ var obj = document.getElementById(id);
+ if (currentTempMessage != state) {
+ return;
+ }
+ setOpacity(obj, back * 5);
+ if (back > 0) {
+ setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + "," + (back-1) + ")", 100);
+ } else {
+ obj.innerHTML = "";
+ }
+}
+
+function showTempMessage(id, message, success)
+{
+ var obj = document.getElementById(id);
+ obj.innerHTML = (success ? "<img src='images/icons/wand.gif' alt='' /> "
+ : "<img src='images/icons/error.gif' alt='' /> ") + message;
+ obj.style.fontWeight = "bold";
+ obj.style.color = (success ? "green" : "red");;
+ currentTempMessage++;
+ setOpacity(obj, 100);
+ setTimeout("_showTempMessage('" + id + "', " + currentTempMessage + ", 20)", 700);
+}
+
+function previewWiki(idFrom, idTo, withTitle, idShow)
+{
+ var text = encodeURIComponent(document.getElementById(idFrom).value);
+ if (text == "") {
+ return false;
+ }
+ var url = "wiki_preview";
+ if (!withTitle) {
+ url += "/notitle";
+ }
+ Ajax.update_html(idTo, url + "?text=" + text);
+ if (idShow != null) {
+ document.getElementById(idShow).style.display = "";
+ }
+}
+
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: