// * Merken von abgerarbeiteten Tagen auf der Beobachtungsliste
// * Diff-zu-mir-Links für die Beobachtungsliste
// * Diff-zu-mir-Links für den Werkzeugkasten im Artikel
// * Link um in "Eigene Beiträge" nur Artikel anzuzeigen, die nach dem eigenen Edit bearbeitet wurden
// * Zusätzliche Leerzeilen in Diff-Ansichten, damit mit STRG und Maus untereinanderliegende Blöcke ausgewählt und kopiert werden können
$(function() {
change_link_to_watchlist();
if(mw.config.get('wgCanonicalSpecialPageName')=="Watchlist")
{
AddCheckLinks();
AddDiffToMeLinksContribs();
}
if(mw.config.get('wgCanonicalSpecialPageName')=="Recentchangeslinked")
{
AddDiffToMeLinksContribs();
}
if(mw.config.get('wgCanonicalSpecialPageName')=="Contributions")
{
AddLinksRemovehiddenRevisions();
AddDiffToMeLinksContribs();
}
if((window.location+"").search('diff=') != -1)
{
InsertNewLinesInDiff();
}
});
function change_link_to_watchlist()
{
var beoLink = document.getElementById('pt-watchlist');
beoLink.firstChild.href="http://wikipedia.ramselehof.de/wherewasi.php?user=" + mw.config.get('wgUserName');
}
function AddCheckLinks()
{
var watchListDays = document.getElementsByTagName("h4");
for (i = 0; i < watchListDays.length; i++)
{
var dateString = watchListDays.firstChild.data;
var posOfDot = dateString.indexOf('.');
var dayString = dateString.substr(0, posOfDot);
var linkCode = '<a href="http://wikipedia.ramselehof.de/wherewasi.php?user=' + wgUserName +'&newday=' + dayString + '">X</a>';
if (watchListDays)
{
var dayLink = document.createElement("span");
dayLink.innerHTML=/* */linkCode;/* */
watchListDays.appendChild(dayLink);
}
}
}
function AddDiffToMeLinksContribs()
{
var watchlistItems = GetElementsByClassName('a', 'mw-changeslist-history');
var myDiffToolUrl = 'http://wikipedia.ramselehof.de/diff2me.php?project=wikipedia&lang=de&user=' + mw.config.get('wgUserName') + '&article=';
for (i = 0; i < watchlistItems.length; i++)
{
var diffLink = watchlistItems.nextSibling;
if (diffLink)
{
var ins_li = document.createElement('span');
ins_li.innerHTML=/* */' | <a href=\"' + myDiffToolUrl + encodeURIComponent(watchlistItems.title) + '\">diff2me</a>';/* */
diffLink.parentNode.insertBefore(ins_li, diffLink);
}
}
}
function AddLinksRemovehiddenRevisions()
{
var contentSub = document.getElementById('contentSub');
contentSub.innerHTML = contentSub.innerHTML.replace(')', ' | <a href="#" onclick="javascript:HideMyLatestRevisions()">Aktuelle Versionen ausblenden</a>)');
}
function HideMyLatestRevisions()
{
var listItem = document.getElementsByTagName('ul');
var hiddenRevisions = new Array();
var end = listItem.childNodes.length;
for(var i=1;i<end; i=i+2)
{
var titleArticle = listItem.childNodes.childNodes.title;
if(listItem.childNodes.className.startsWith('mw-contributions-current'))
{
hiddenRevisions.push(titleArticle);
listItem.childNodes.style.display='none';
}
else if(hiddenRevisions.indexOf(titleArticle)!=-1)
{
listItem.childNodes.style.display='none';
}
else
{
hiddenRevisions.push(titleArticle);
}
}
;void(0);
}
function InsertNewLinesInDiff()
{
var tds = document.getElementsByTagName("td");
for(var i=0;i<tds.length;i++)
{
if(tds.className+"" == "diff-addedline"
|| tds.className+"" == "diff-deletedline"
|| tds.className+"" == "diff-context")
{
if(tds.childNodes!=null)
{
var br = document.createElement('br');
var ok = tds.childNodes.innerHTML +='\n';
}
}
}
}
function GetElementsByClassName(tagname, classname)
{
/* ] */
var ret = new Array();
var tags = document.getElementsByTagName(tagname);
for (i = 0; i < tags.length; i++)
if (tags.className == classname)
ret.push(tags);
return ret;
}