Benutzer:Ce2/JavaScript/showusers.js

In der heutigen Welt ist Benutzer:Ce2/JavaScript/showusers.js ein relevantes Thema, das die Aufmerksamkeit von Millionen Menschen auf der ganzen Welt erregt hat. Ob aufgrund seiner Auswirkungen auf die Gesellschaft, seines Einflusses auf die Populärkultur oder seiner Bedeutung in der Wissenschaft: Benutzer:Ce2/JavaScript/showusers.js ist zu einem Thema von allgemeinem Interesse geworden, das hitzige Diskussionen und leidenschaftliche Debatten ausgelöst hat. Von seiner Entstehung bis zu seiner heutigen Entwicklung hat Benutzer:Ce2/JavaScript/showusers.js einen unauslöschlichen Eindruck in der Geschichte hinterlassen und es zu einem Thema gemacht, das es wert ist, eingehend untersucht zu werden, um seinen wahren Umfang und seine Bedeutung in der heutigen Welt zu verstehen.
/********************************/
/* Wahre Benutzernamen anzeigen */
/********************************/

// Fügt Benutzernamen in Links auf Benutzerseiten ein
//
// Einbinden mit includeJS aus meiner standard.js:
// includeJS(']');
//
// Beim Einbinden mittels anderer Methoden bitte obigen Wikilink
// explizit angeben (z.B. in einem Kommentar)

/* Hilfsfunktion: Dekodieren von UTF8 */

function decode_utf8(text)
{
  decoded = '';
  var tail = 0;
  var codepoint;
  for (var i = 0; i < text.length; ++i)
  {
    var charcode = text.charCodeAt(i);
    if (tail != 0)
    {
      codepoint = (codepoint << 6) + (charcode & 0x3f);
      --tail;
      if (tail == 0)
        decoded += String.fromCharCode(codepoint);
    }
    else
    {
      if (charcode < 0x80)
        decoded += String.fromCharCode(charcode);
      else
      {
        var tail = 1; // number of following 10xxxxxx values
        while ((charcode & (0x40 >> tail)) != 0)
          ++tail;
        codepoint = charcode & ((0x80 >> tail) - 1)
      }
    }
  }
  return decoded
}

function showusers()
{
  /* Benutzernamen aus Hyperlink extrahieren */
  function getusername(a)
  {
    if (!a.href)
      return null;

    if (a.host != "de.wikipedia.org")
      return null;

    var parts = /\/Benutzer:(*)(#.*)?$/.exec(a.href)
    if (!parts)
      return null;

    return decode_utf8(unescape(parts)).replace(/_/g,' ');
  }

  var links = document.links
  for (i = 0; i < links.length; ++i)
  {
    var username =getusername(links);
    var text = links.text
    text = text.substr(0,1).toUpperCase()+text.substr(1)
      
    if (username && username != text && "Benutzer:"+username != text)
    {
      var newtext = document.createTextNode(" (" + username + ")")
      var span = document.createElement("span")
      span.setAttribute("class", "loginname")
      span.appendChild(newtext)
      links.appendChild(span)
    }
  }
}

$(showusers)