< User:Lupin
Browse history interactively ← Previous edit Next edit → Content deleted Content addedInline
Revision as of 22:05, 2 August 2005
////////////////////////////////////////////////////////////////////
// Popup stuff
////////////////////////////////////////////////////////////////////
document.write('<script type="text/javascript" src="/search/?title=User:Lupin/overlib.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
document.write('<script type="text/javascript" src="/search/?title=User:Lupin/md5.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');
// we're not set up for interwiki stuff yet - only affect en links
var re=/*:\/\/en\.wikipedia\.org\/w(iki\/|\/index\.php\?title=)(*)/
var exceptions=/(title=|\/)Special:/
var contributions=/(title=|\/)Special:Contributions&target=(.*)/
var talk=/Talk:/i
var titlebase='http://en.wikipedia.org/search/?title=';
function wikiLink(article, action, text) {
hint = myDecodeURI(article + '&action=' + action);
return titledWikiLink(article, action, text, hint);
}
function titledWikiLink(article, action, text, title) {
base = titlebase + article;
url = base + '&action=' + action;
if (title == null || title == '')
hint = ''
else
hint = 'title="' + title + '"';
return '<a href="' + url + '"' + hint + '>' + text + '</a>';
}
function specialLink(article, specialpage, text) {
base = titlebase + 'Special:'+specialpage;
url = base + '&target=' + article;
hint = myDecodeURI(specialpage+':'+article) ;
return '<a href="' + url + '" title="' + hint + '">' + text + '</a>';
}
function talkPage(article) {
if (article.indexOf('Talk:') > -1 || article.indexOf('talk:') > -1 )
return null;
i=article.indexOf(':');
if (i == -1) return 'Talk:'+article;
else return article.substring(0,i)+'_talk:' + article.substring(i+1);
}
function userName(article) {
i=article.indexOf('User');
j=article.indexOf(':');
if (i != 0 || j < -1) return null;
k=article.indexOf('/');
if (k==-1) return article.substring(j+1);
else return article.substring(j+1,k);
}
function isInNamespace(article, namespace) {
i=article.indexOf(namespace+':');
j=article.indexOf(namespace+'_talk:');
if (i == -1 && j == -1) return false;
return true;
}
function stripNamespace(article) {
// this isn't very sophisticated
// it just removes everything up to the final :
ret = article;
i=null;
while ( i != -1 ) {
i=ret.indexOf(':');
ret=ret.substring(i+1);
}
return ret;
}
function imageHTML(article) {
if (isInNamespace(article, 'Image')) {
stripped=stripNamespace(article);
forhash=myDecodeURI(stripped).split(' ').join('_');
hash=hex_md5(forhash);
pathcpt=hash.substring(0,1) + '/' + hash.substring(0,2) + '/';
imgurl="http://upload.wikimedia.org/wikipedia/en/" + pathcpt + stripped;
}
else imgurl=null;
ret='';
if (imgurl != null) {
ret += '<img src="' + imgurl
+ '" width=60 align="right" valign="top"></img>';
}
return ret;
}
function contribsLink(article, text) {
return specialLink(userName(article), 'Contributions', text);
}
kateBase='http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?dbname=enwiki&user='
function kateLink(article, text) {
return '<a href="' + kateBase + userName(article) + '" title="'
+ text + '">' + text + '</a>';
}
var decodeExtras = new Array ();
decodeExtras = {from: '%2C', to: ',' };
decodeExtras = {from: '_', to: ' ' };
decodeExtras = {from: '%26', to: '&' };
function myDecodeURI (str) {
ret=decodeURI(str);
for ( i=0; i<decodeExtras.length; ++i) {
from=decodeExtras.from;
to=decodeExtras.to;
ret=ret.split(from).join(to);
}
return ret;
}
// defaults
var dpopupDelay=2;
var dpopupFgColor='#CCCCFF';
var dpopupBgColor='#333399';
var popupDelay;
var popupFgColor;
var popupBgColor;
var dremoveTitles=true;
var removeTitles;
function mouseOverWikiLink() {
a=this;
h=a.href;
var contribs=contributions.exec(h);
if (contribs != null) {
article='User:'+contribs;
} else {
var m=re.exec(h);
article=m;
}
hint=a.originalTitle;
if (hint == '' || hint == null)
hint = myDecodeURI(article);
html='';
html +=imageHTML(article);
html +='<b>';
html += titledWikiLink(article, 'view', myDecodeURI(article),hint);
html +='</b>';
if (userName(article) != null) {
html += ' ' + contribsLink(article, 'contribs');
html += ' ' + kateLink(article, 'count');
}
html += '<br>' + wikiLink(article, 'edit', 'edit');
html += ' ' + wikiLink(article, 'history', 'history');
html += ' (' + wikiLink(article, 'unwatch', 'un') + ')';
html += '' + wikiLink(article, 'watch', 'watch');
t=talkPage(article);
if (t != null) html += ' ' + wikiLink(t, 'view', 'talk') +
' ' + wikiLink(t, 'edit', 'editTalk') +
' ' + wikiLink(t, 'edit§ion=new', 'newTopic'); html += '<br>' + specialLink(article, 'Whatlinkshere', 'whatLinksHere');
html += ' ' + specialLink(article, 'Recentchangeslinked', 'relatedChanges');
if (popupDelay==null) popupDelay=dpopupDelay;
if (popupFgColor==null) popupFgColor=dpopupFgColor;
if (popupBgColor==null) popupBgColor=dpopupBgColor;
overlib(html, STICKY, MOUSEOFF, WRAP, CELLPAD, 5,
OFFSETX, 2, OFFSETY, 2, DELAY, popupDelay*1000,
FGCOLOR, popupFgColor, BGCOLOR, popupBgColor);
}
function setupTooltips() {
var anchors=document.getElementsByTagName('A');
var s='';
if (removeTitles==null) removeTitles=dremoveTitles;
for (i=0; i<anchors.length; ++i)
{
a=anchors;
h=a.href;
var contribs=contributions.exec(h);
var exc=exceptions.exec(h);
var m=re.exec(h);
if (contribs != null || (exc == null && m != null) ) {
a.onmouseover=mouseOverWikiLink;
a.onmouseout=function () { if ( o3_showingsticky == 0 ) cClick(); }
if (removeTitles) {
a.originalTitle=a.title;
a.title='';
}
}
}
}
////////////////////////////////////////////////////////////////////
// Run things
////////////////////////////////////////////////////////////////////
if (window.addEventListener)
window.addEventListener("load",setupTooltips,false);
else if (window.attachEvent)
window.attachEvent("onload",setupTooltips);
else {
window._old_ABCD_onload = window.onload;
window.onload = function() {
window._old_ABCD_onload();
setupTooltips();
}
}