X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=htdocs%2Fjavascript%2Fxorg.js;h=0ce316941a1dd2f855cde78f1b74caf1ba7ee7f5;hb=e173ee9b7e29b11c13c3bc5124d200cba6675cce;hp=c89dd729519e0a9789bfbe2519b3e6aabcafdb0b;hpb=b09e5deab3aa408478c251c2d8975863c6d109b2;p=platal.git diff --git a/htdocs/javascript/xorg.js b/htdocs/javascript/xorg.js index c89dd72..0ce3169 100644 --- a/htdocs/javascript/xorg.js +++ b/htdocs/javascript/xorg.js @@ -42,7 +42,16 @@ function getNow() { } // }}} -// {{{ Firefox +// {{{ 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() { @@ -116,6 +125,23 @@ function dynpostkv(action, k, v) } // }}} +// {{{ 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'); +} + +// }}} /*************************************************************************** * POPUP THINGS @@ -133,17 +159,25 @@ 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) { + node.href = node.href.replace(/([^\#\?]*)\??([^\#]*)(\#.*)?/, + "$1?display=light&$2$3"); + } if(node.className == 'popup2') { 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; };