function opml_blogroll_addEvent(obj, event, listener) {
  if (obj.addEventListener) {
      obj.addEventListener(event, listener, false);
  } else if (obj.attachEvent) {
      obj.attachEvent("on" + event, listener);
  }
}

function opml_blogroll_getTooltip(target) {
  if (target.opmlBlogrollTooltip) {
      return target.opmlBlogrollTooltip;
  }

  // IE doesn't retain the same object from the DOM
  while (target.nodeName != "TR") {
      target = target.parentNode;
      if (!target) {
          return null;
      }
  }

  var spans = target.getElementsByTagName("span");
  for (var j = 0; j < spans.length; j++) {
      if (spans[j].className.search(/(^|\s)opml-blogroll-tooltip($|\s)/) >= 0)
          return spans[j];
  }
  return null;
}

function opml_blogroll_showHelp(e) {
  e = (e) ? e : window.event;
  var posX = e.clientX;
  var posY = e.clientY;
  var target = e.currentTarget ? e.currentTarget : e.srcElement.parentNode;
  var help = opml_blogroll_getTooltip(target);
  help.className = 'opml-blogroll-visible opml-blogroll-tooltip';
  help.style.left = posX;
  help.style.top = posY+1;
}

function opml_blogroll_hideHelp(e) {
  e = (e) ? e : window.event;
  var target = e.currentTarget ? e.currentTarget : e.srcElement.parentNode;
  opml_blogroll_getTooltip(target).className = 'opml-blogroll-invisible opml-blogroll-tooltip';
}

opml_blogroll_addEvent(window, "load", function() {
  var items = document.getElementsByTagName('tr');
  for (var i = 0; i < items.length; i++) 
  {
      var spans = items[i].getElementsByTagName("span");
      for (var j = 0; j < spans.length; j++) {
          if (spans[j].className.search(/(^|\s)opml-blogroll-tooltip($|\s)/) >= 0) {
              opml_blogroll_addEvent(items[i], "mouseover", opml_blogroll_showHelp);
              opml_blogroll_addEvent(items[i], "mouseout", opml_blogroll_hideHelp);
              items[i].opmlBlogrollTooltip = spans[j];
              break;
          }
      }
  }
});

