var commitsSection, commitsDefList;

function appendCommitMessage(asyncRes) {
  if (!commitsSection) {
    commitsSection = document.getElementById("commits");
    commitsSection.style.display = "block";
  }
  if (!commitsDefList) {
    commitsDefList = commitsSection.getElementsByTagName("dl").item(0);
  }

  var res = asyncRes.data;
  var msg = res.commit.message.split("\n", 1)[0];
  var commitId = "<code>" + res.commit.id.substring(0, 8) + "</code>";
  var linkText = asyncRes.linkText + ": " + commitId;
  var commitRef = '<a href="' + res.url + '">' + linkText + '</a>';
  var newDef = "<dt>" + commitRef + "</dt><dd>" + msg + "</dd>\n";
  commitsDefList.innerHTML += newDef;
}

function _startGitHubFetch(repos) {
  var asyncRes = fetchGitHubRepository("lericson", repos);
  asyncRes.onComplete = appendCommitMessage;
  asyncRes.linkText = asyncRes.repository;
  asyncRes.start();
}

function beginLoadGitHub() {
  _startGitHubFetch("pylibmc");
  _startGitHubFetch("simples3");
  _startGitHubFetch("gaes3");
}

if (window.addEventListener) {
  window.addEventListener("load", beginLoadGitHub, false);
} else if (window.attachEvent) {
  window.attachEvent("onload", beginLoadGitHub);
} else {
  window.onload = beginLoadGitHub;
}
