X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fxorg.js;h=4b386d5cbcf94db04dabb2623220c727732ce632;hb=b277fbe5c6af033f413bc8e664277c94825a30dd;hp=b7bcd523c79fbf13cbf33575ae091613af38ae64;hpb=d6610b77e8703db6d11d24d5eff033dd37107e03;p=platal.git
diff --git a/htdocs/javascript/xorg.js b/htdocs/javascript/xorg.js
index b7bcd52..4b386d5 100644
--- a/htdocs/javascript/xorg.js
+++ b/htdocs/javascript/xorg.js
@@ -1,5 +1,5 @@
/***************************************************************************
- * 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 *
@@ -35,13 +35,43 @@ function getNow() {
time = (mi < 10) ? hr +':0'+mi : hr+':'+mi;
days = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'];
- months = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet',
- 'août', 'septembre', 'octobre', 'novembre', 'décembre']
+ months = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet',
+ 'août', 'septembre', 'octobre', 'novembre', 'décembre']
return days[dy]+' '+wd+' '+months[mh]+' '+yr+'
'+time;
}
// }}}
+// {{{ Search Engine
+
+function canAddSearchEngine()
+{
+ if (((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function"))
+ || ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function"))) {
+ return true;
+ }
+ return false;
+}
+
+function addSearchEngine()
+{
+ var searchURI = "http://www.polytechnique.org/xorg.opensearch.xml";
+ if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function")) {
+ window.sidebar.addSearchEngine(
+ searchURI,
+ "http://www.polytechnique.org/images/xorg.png",
+ "Annuaire Polytechnique.org",
+ "Academic");
+ } else {
+ try {
+ window.external.AddSearchProvider(searchURI);
+ } catch(e) {
+ alert("Impossible d'installer la barre de recherche");
+ }
+ }
+}
+
+// }}}
// {{{ Events
function eventClosure(obj, methodName) {
@@ -59,7 +89,8 @@ function attachEvent(obj, evt, f, useCapture) {
return true;
} else if (obj.attachEvent) {
return obj.attachEvent("on"+evt, f);
- }
+ }
+ return false;
}
// }}}
@@ -88,7 +119,26 @@ function dynpost(action, values)
function dynpostkv(action, k, v)
{
- dynpost(action, {k: v});
+ var dict = {};
+ dict[k] = v;
+ dynpost(action, dict);
+}
+
+// }}}
+// {{{ function RegExp.escape()
+
+RegExp.escape = function(text) {
+ if (!arguments.callee.sRE) {
+ var specials = [
+ '/', '.', '*', '+', '?', '|',
+ '(', ')', '[', ']', '{', '}',
+ '\\', '^' , '$'
+ ];
+ arguments.callee.sRE = new RegExp(
+ '(\\' + specials.join('|\\') + ')', 'g'
+ );
+ }
+ return text.replace(arguments.callee.sRE, '\\$1');
}
// }}}
@@ -109,17 +159,28 @@ function popWin(theNode,w,h) {
function auto_links() {
nodes = document.getElementsByTagName('a');
- fqdn = document.URL;
- fqdn = fqdn.replace(/^https?:\/\/([^\/]*)\/.*$/,'$1');
+ url = document.URL;
+ fqdn = url.replace(/^https?:\/\/([^\/]*)\/.*$/,'$1');
+ light = (url.indexOf('display=light') > url.indexOf('?'));
for(var i=0; i -1 || node.href.indexOf('javascript:')>-1) continue;
- if(node.href.indexOf(fqdn)<0 || node.className == 'popup') {
+ if (node.href.indexOf(fqdn)<0 || node.className == 'popup') {
node.onclick = function () { window.open(this.href); return false; };
}
+ if (node.href.indexOf(fqdn) > -1 && light) {
+ if (node.href.indexOf('?') > -1) {
+ node.href = node.href + '&display=light';
+ } else {
+ node.href = node.href + '?display=light';
+ }
+ }
if(node.className == 'popup2') {
- node.onclick = function () { popWin(this,840,600); return false; };
+ node.onclick = function () { popWin(this,840,600); return false; };
}
+ if(node.className == 'popup3') {
+ node.onclick = function () { popWin(this, 640, 800); return false; };
+ }
if(matches = (/^popup_([0-9]*)x([0-9]*)$/).exec(node.className)) {
var w = matches[1], h = matches[2];
node.onclick = function () { popWin(this,w,h); return false; };
@@ -135,7 +196,10 @@ function auto_links() {
// {{{ function pa_onload
-attachEvent(window, 'load', auto_links);
+if (!attachEvent(window, 'load', auto_links)) {
+ window.onload = auto_links;
+}
// }}}
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: