window.onload = function () {
  function Posts (posts) {
    return posts + ' post' + (posts == 1 ? '' : 's');
  }

  function Comments (comments) {
    return comments + ' comment' + (comments == 1 ? '' : 's');
  }

  var most = new Object();

  most.MostRecentBlogs = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      var a = document.createElement("a");
      dt.appendChild(a);
      a.setAttribute('href', obj.list[i].blogURL);
      a.appendChild(document.createTextNode(obj.list[i].blogName));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      font.appendChild(document.createTextNode(obj.list[i].user.join(', ') + ', ' + obj.list[i].registered));
    }
  };

  most.MostRecentPosts = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      var a = document.createElement("a");
      dt.appendChild(a);
      a.setAttribute('href', obj.list[i].postURL);
      a.appendChild(document.createTextNode(obj.list[i].postTitle));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      a = document.createElement("a");
      font.appendChild(a);
      a.setAttribute('href', obj.list[i].blogURL);
      a.appendChild(document.createTextNode(obj.list[i].blogName));

      font.appendChild(document.createTextNode(', ' + obj.list[i].author + ', ' + obj.list[i].modified));
    }
  };

  most.MostRecentComments = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      var a = document.createElement("a");
      dt.appendChild(a);
      a.setAttribute('href', obj.list[i].postURL);
      a.appendChild(document.createTextNode(obj.list[i].postTitle));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      a = document.createElement("a");
      font.appendChild(a);
      a.setAttribute('href', obj.list[i].blogURL);
      a.appendChild(document.createTextNode(obj.list[i].blogName));

      font.appendChild(document.createTextNode(', ' + obj.list[i].author + ', ' + obj.list[i].date));
    }
  };

  most.MostActiveBlogs = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      var a = document.createElement("a");
      dt.appendChild(a);
      a.setAttribute('href', obj.list[i].blogURL);
      a.appendChild(document.createTextNode(obj.list[i].blogName));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      font.appendChild(document.createTextNode(Posts(obj.list[i].posts) + ', ' +Comments(obj.list[i].comments)));
    }
  };

  most.MostActiveBloggers = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      dt.appendChild(document.createTextNode(obj.list[i].author + ' ' + Posts(obj.list[i].posts)));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      for (var j = 0; j < obj.list[i].blogs.length; j++) {
        font.appendChild(document.createElement("br"));

        var a = document.createElement("a");
        font.appendChild(a);
        a.setAttribute('href', obj.list[i].blogs[j].blogURL);
        a.appendChild(document.createTextNode(obj.list[i].blogs[j].blogName));

        font.appendChild(document.createTextNode(' ' + Posts(obj.list[i].blogs[j].posts)));
      }
    }
  };

  most.MostActiveCommentators = function (div, obj) {
    var dl = document.createElement("dl");
    div.appendChild(dl);

    for (var i = 0; i < obj.list.length; i++) {
      var dt = document.createElement("dt");
      dl.appendChild(dt);

      dt.appendChild(document.createTextNode(obj.list[i].author + ' ' + Comments(obj.list[i].comments)));

      var dd = document.createElement("dd");
      dt.appendChild(dd);

      var font = document.createElement("font");
      dd.appendChild(font);
      font.setAttribute('size', '-2');

      for (var j = 0; j < obj.list[i].posts.length; j++) {
        font.appendChild(document.createElement("br"));

        var a = document.createElement("a");
        font.appendChild(a);
        a.setAttribute('href', obj.list[i].posts[j].blogURL);
        a.appendChild(document.createTextNode(obj.list[i].posts[j].blogName));

        font.appendChild(document.createTextNode(' '));

        a = document.createElement("a");
        font.appendChild(a);
        a.setAttribute('href', obj.list[i].posts[j].postURL);
        a.appendChild(document.createTextNode(obj.list[i].posts[j].postTitle));

        font.appendChild(document.createTextNode(' ' + Comments(obj.list[i].posts[j].comments)));
      }
    }
  };

  var radios = document.getElementsByTagName("input");
  if (radios != null) {
    for (var radio = 0; radio < radios.length; radio++) {
      if (radios[radio].type == "radio" && radios[radio].name.toLowerCase() == "_most") {
        radios[radio].onclick = function () {
          if (this.checked) {
            var key = this.value;
            httpRequest(
              "GET",
              parent.location.protocol + "//" + key.split(":")[0] + "/cgi-bin/json.pl",

              function (request) {
                if ( typeof JSON == 'undefined' ) {
                  var obj = eval('(' + request.responseText + ')')[key.split(":")[0]][key.split(":")[1]];
                } else {
                  var obj = JSON.parse(request.responseText)[key.split(":")[0]][key.split(":")[1]];
                }
                var div = document.getElementById("metastatDisplay");

                while (div.hasChildNodes()) { div.removeChild(div.firstChild); }

                div.appendChild(document.createElement("hr"));

                var h3 = document.createElement("h3");
                div.appendChild(h3);
                h3.appendChild(document.createTextNode(obj.title));
                div.appendChild(document.createElement("hr"));

                if ( typeof obj.list != 'undefined' ) most[key.split(":")[1]](div, obj);
              }

            )
          }
        }
        radios[radio].onclick();
      }
    }
  }
}

