summaryrefslogtreecommitdiff
path: root/rt/share/html/NoAuth/js/ahah.js
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/NoAuth/js/ahah.js')
-rw-r--r--rt/share/html/NoAuth/js/ahah.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/rt/share/html/NoAuth/js/ahah.js b/rt/share/html/NoAuth/js/ahah.js
new file mode 100644
index 000000000..b10b27142
--- /dev/null
+++ b/rt/share/html/NoAuth/js/ahah.js
@@ -0,0 +1,48 @@
+/*
+% $r->content_type('application/x-javascript');
+*/
+// Fetched from http://www.opendarwin.org/~drernie/src/ahah.js - No Copyright - Public Domain
+function ahah(url, target, delay) {
+ // document.getElementById(target).innerHTML = 'Loading <a href="'+url+'">'+url +'</a>...';
+ if (window.XMLHttpRequest) {
+ req = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ req = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+
+ var use_get;
+ if ( /webkit|firefox\/2/i.test( navigator.userAgent ) ) {
+ // seems safari has weird problem with post:
+ // it does remove the old content of target
+ // while doesn't replace that with new content
+ // so is firefox 2
+ use_get = 1;
+ }
+
+ if (req != undefined) {
+ req.onreadystatechange = function() {ahahDone(url, target, delay);};
+ if ( use_get == 1 ) {
+ req.open("GET", url, true);
+ }
+ else{
+ req.open("POST", url, true);
+ }
+ req.send("");
+ }
+}
+
+function ahahDone(url, target, delay) {
+ if (req.readyState == 4) { // only if req is "loaded"
+ if (req.status == 200) { // only if "OK"
+ document.getElementById(target).innerHTML = req.responseText;
+ } else {
+ document.getElementById(target).innerHTML="Error loading '"+url+"':\n"+req.statusText;
+ }
+ if (delay != undefined) {
+ setTimeout("ahah(url,target,delay)", delay); // resubmit after delay
+ //server should ALSO delay before responding
+ }
+ }
+}
+
+% $m->abort();