fbef75243552e9b75e1b648219c112c56bdc34e5
1 /***************************************************************************
2 * Copyright (C) 2003-2007 Polytechnique.org *
3 * http://opensource.polytechnique.org/ *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software *
18 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
19 ***************************************************************************/
23 this.xml_client
= null;
28 this.prepare_client
= function()
31 if (window
.XMLHttpRequest
) {
32 this.xml_client
= new XMLHttpRequest();
33 } else if (window
.ActiveXObject
) {
35 this.xml_client
= new ActiveXObject("Msxml2.XMLHTTP");
37 this.xml_client
= new ActiveXObject("Microsoft.XMLHTTP");
40 if (this.xml_client
== null) {
41 alert("Ton client ne supporte pas Ajax, nécessaire pour certaines fonctionalités de cette page");
47 this.update_html
= function(obj
, src
, func
)
49 this.prepare_client();
50 if (this.xml_client
== null) {
55 this.xml_client
.abort();
56 this.xml_client
.onreadystatechange
= this.apply_update_html(this);
57 this.xml_client
.open ('GET', src
, true);
58 this.xml_client
.send (null);
62 this.apply_update_html
= function(ajax
)
66 if(ajax
.xml_client
.readyState
== 4) {
67 if (ajax
.xml_client
.status
== 200) {
68 if (ajax
.obj
!= null) {
69 document
.getElementById(ajax
.obj
).innerHTML
= ajax
.xml_client
.responseText
;
71 if (ajax
.func
!= null) {
72 ajax
.func(ajax
.xml_client
.responseText
);
74 } else if (ajax
.xml_client
.status
== 403) {
75 window
.location
.reload();
82 var Ajax
= new AjaxEngine();
84 var currentTempMessage
= 0;
85 function setOpacity(obj
, opacity
)
87 opacity
= (opacity
== 100)?99:opacity
;
89 obj
.style
.filter
= "alpha(opacity:"+opacity
+")";
90 // Safari < 1.2, Konqueror
91 obj
.style
.KHTMLOpacity
= opacity
/100;
93 obj
.style
.MozOpacity
= opacity
/100;
94 // Safari >= 1.2, Firefox and Mozilla, CSS3
95 obj
.style
.opacity
= opacity
/100
98 function _showTempMessage(id
, state
, back
)
100 var obj
= document
.getElementById(id
);
101 if (currentTempMessage
!= state
) {
104 setOpacity(obj
, back
* 5);
106 setTimeout("_showTempMessage('" + id
+ "', " + currentTempMessage
+ "," + (back
-1) + ")", 100);
112 function showTempMessage(id
, message
, success
)
114 var obj
= document
.getElementById(id
);
115 obj
.innerHTML
= (success
? "<img src='images/icons/wand.gif' alt='' /> "
116 : "<img src='images/icons/error.gif' alt='' /> ") + message
;
117 obj
.style
.fontWeight
= "bold";
118 obj
.style
.color
= (success
? "green" : "red");;
119 currentTempMessage
++;
120 setOpacity(obj
, 100);
121 setTimeout("_showTempMessage('" + id
+ "', " + currentTempMessage
+ ", 20)", 700);
124 function previewWiki(idFrom
, idTo
, withTitle
, idShow
)
126 var text
= encodeURIComponent(document
.getElementById(idFrom
).value
);
130 var url
= "wiki_preview";
134 Ajax
.update_html(idTo
, url
+ "?text=" + text
);
135 if (idShow
!= null) {
136 document
.getElementById(idShow
).style
.display
= "";
140 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: