// Dieses JS sucht für Artikel mit Personendaten aber ohne PND nach dieser.
// Wird etwas vielversprechendes gefunden, wird es in den Personendaten angezeigt,
//kann gecheckt werden und sollte dann natürlich ergänzt werden.
function searchForPND()
{
// only in articles
if (wgNamespaceNumber == 0)
{
// search for GND-Link
sitetext = document.getElementById('bodyContent').innerHTML;
if ((sitetext.indexOf("dispatch.opac.d-nb.de") == -1) && (sitetext.indexOf("dispatch.opac.ddb.de") == -1) && (sitetext.indexOf("d-nb.info") == -1))
{
// now search for GND: name is needed
RegExpForName = />NAME<\/td>[^<]*<td[^>]*>([^<]+)<\/td>/i;
if(RegExpForName.exec(sitetext))
{
// there are persondata...
name = RegExp.$1;
// now search for a pnd! (as long as there is no way for cross-site ajax...)
var pndJS = document.createElement('script');
pndJS.type = 'text/javascript';
pndJS.src = '//tools.wmflabs.org/persondata/service/gndsearch.php?callback=addPNDoffer&name=' + encodeURIComponent(name) + '&rand=' + Math.floor(Math.random()*1000000);
document.getElementsByTagName('head')[0].appendChild(pndJS);
}
}
}
}
function addPNDoffer(offer)
{
links = document.getElementsByTagName("a");
for(i=0;i<links.length;i++)
{
if (links[i].href.indexOf("/wiki/Hilfe:Personendaten") > -1)
{
var output = [];
for (var s in offer) output.push("<a href='http://d-nb.info/gnd/" + s + "/'>" + offer[s] + "</a>");
output = output.join("
");
row = document.createElement("TR");
cell1 = document.createElement("TD");
cell1.innerHTML = "GND?";
cell1.className = "metadata-label";
cell2 = document.createElement("TD");
cell2.innerHTML = output;
row.appendChild(cell1);
row.appendChild(cell2);
links[i].parentNode.parentNode.parentNode.insertBefore(row, links[i].parentNode.parentNode.nextSibling);
}
}
}
addOnloadHook( searchForPND );