Problem w tym, że id.innerHTML też nie istnieje...
'details' to wartość atrybutu name w każdym rzędzie tr w tabeli, który domyślnie jest ukryty. Takich tabelek jest kilkanaście, i wyglądają tak:
$content = '<tr>
<td class="header_cell" style="width: 90px; text-align: right;">Data<br />rejestracji</td>
<td style="text-align: center;">'.implode ('<br />', explode (' ', $row['reg_timestamp'])).'</td> </tr>
<tr>
<td class="header_cell" style="text-align: right;">Ostatnia<br />wizyta</td>
<td style="text-align: center;">'.implode ('<br />', explode (' ', $row['last_visit_timestamp'])).'</td> </tr>
<tr>
<td class="header_cell" style="text-align: right;">Ranga</td>
<td style="text-align: center;">'
.($row['rank'] ? '<span style="font-weight: bold; color: red;">Head Admin</span>' : '<span style="color: grey;">Użytkownik</span>').
'</td>
</tr>
<tr>
<td class="header_cell" style="text-align: right;">Respekt<br />na forum</td>
<td style="text-align: center;">
<span style="color: '.($row['forum_respect'] > 0 ? "#ADFF2F" : "red").'">'.$row['forum_respect'].'</span>
</td>
</tr>
<tr>
<td class="header_cell" style="text-align: right;">Respekt<br />na serwerze</td>
<td style="text-align: center;">
<span style="color: '.($row['server_respect'] > 0 ? "#ADFF2F" : "red").'">'.$row['server_respect'].'</span>
</td>
</tr>
<tr name="details">
<td class="header_cell" style="text-align: right;">Dodane<br />piosenki</td>
<td style="text-align: center; padding: 0px;">
<table>
<tr class="header">
<td><img src="images/tick.png" style="width: 16px; height: 16px;" /></td>
<td><img src="images/cross.png" style="width: 16px; height: 16px;" /></td>
<td><img src="images/sandglass.png" style="width: 12px; height: 16px;" /></td>
</tr>
<tr>
<td>'.(int) $row['accsongs'].'</td>
<td>'.(int) $row['rejsongs'].'</td>
<td>'.(int) $row['waitsongs'].'</td>
</tr>
<tr>
<td colspan="3"><strong>Razem '.(int)($row['accsongs'] + $row['rejsongs'] + $row['waitsongs']).'</strong></td>
</tr>
</table>
</td>
</tr>';
echo '<div style="display: inline-block; vertical-align: top;">' .CreateTable
($row['login'], $content, "", '<tr><td colspan="2"><a href="java script: userdetails(this);" - znowu forum mi spację wstawia
>Więcej szczegółów</a></td><tr>', "width: 280px; margin: 15px;", "", "", !($userLogged && $_SESSION['uid'] == $row['uid']), 2).' </div>';
CreateTable tworzy tabelkę. Parametry to po kolej: tytuł, zawartość, nagłówek, stopka, styl tabeli, styl nagłówka, styl stopki, true/false czy używać alternatywnej kolorystyki dla belki tytułu, wartość colspan dla tytułu.
Zatem w drzewie DOM powinno to być tak: table > tfoot > tr > td > a. Dając to parent cofam się do table i szukam wszystkich rzędów z atrybutem name="details". Jednak id w ogóle nie wskazuje na a...
//edit:
Problem rozwiązany. Okazuje się, że getElementsByName działą tylko bezpośrednio dla document. Zamiast tego użyłem klas i wszystko śmiga

DO ZAMKNIĘCIA