// ==UserScript==
// @name           Flickr: Comments Index
// @namespace      http://zoolcar9.lhukie.net/greasemonkey
// @include        http://www.flickr.com/*
// @include        http://flickr.com/*
// ==/UserScript==

var div = document.getElementById("DiscussPhoto") ||
          document.getElementById("DiscussTopic") ||
          document.getElementById("ViewSet");

if (!div) return;

var links, link;
links = document.evaluate(".//td[@class='Who' or @class='HeyBuddy']/a[@name]",
                          div, null, 6, null);

if (!links.snapshotLength) return;

var index, permLink;
for (var i = 0; i < links.snapshotLength; i++) {
  link = links.snapshotItem(i);
  index = "#" + link.name;
  permLink = document.evaluate("./parent::td/following-sibling::td" +
                               "//small/a[@class='Plain' and position()=1]",
                               link, null, 9, null).singleNodeValue;
  if (permLink) makeLink(permLink, index);
}

function makeLink(aNode, aIndex) {
  var separator = document.createTextNode(" | ");
  var link = document.createElement("a");
  link.className = "Plain";
  link.title = aIndex;
  link.setAttribute("href", aIndex);
  link.appendChild(document.createTextNode("index"));
  link.addEventListener("click", function(e) {
    e.preventDefault();
    prompt("", aIndex);
  }, false);
  aNode.parentNode.insertBefore(link, aNode.nextSibling);
  aNode.parentNode.insertBefore(separator, aNode.nextSibling);
}


