// ----------------------------------------
// SHOW RECENT COMMENTS
// ----------------------------------------
// This functions takes a blogger-feed in JSON
// format and displays it.
//
// Version: 2.1
// Date:    2007-01-03
// Author:  Hans Oosting
// URL:     beautifulbeta.blogspot.com
// ----------------------------------------

var postURL = new Array();
var postTitle = new Array();
var titleCount = 0;
function getposttitles(json) {
  for (var i = 0; i<numcomments; i++) {
   if (i == json.feed.entry.length) break;
   var entry = json.feed.entry[i];
   var alturl;
   for (var k = 0; k < entry.link.length; k++) {
    if (entry.link[k].rel == 'alternate') {
     alturl = entry.link[k].href;
     break;
    }
   }
   var title = entry.title.$t;
   postURL[titleCount] = alturl;
   postTitle[titleCount] = title;
   titleCount++;
  }
}

var maxPosts = 5;
var maxCmtPerPost = 5;
var incDays = 1;
var expireDays = 15;
var numcomments = 100;
var nicknames = "";
var optSkipAnon = 0;
var oldBlogger = 0;
function showrecentcomments(json) {
  var realname = new Array();
  var nickname = nicknames.split("|")
  var nnCount = nickname.length;
  for (var i = 0; i < nnCount; i++) {
   var nntemp = nickname[i].split("=");
   if (nntemp.length != 2) {
    nickname[i] = "";
    realname[i] = "";
   } else {
   	nickname[i] = nntemp[0];
   	realname[i] = nntemp[1];
   }
  }
  var recentPosts = new Array();
  var postComments = new Array();
  var postCount = 0;
  for (var i = 0; i < numcomments; i++) {
   var entry = json.feed.entry[i];
   var alturl;
   if (i == json.feed.entry.length) break;
   for (var k = 0; k < entry.link.length; k++) {
    if (entry.link[k].rel == 'alternate') {
     alturl = entry.link[k].href;
     break;
    }
   }
   if (oldBlogger == 1) {
    alturl = alturl.replace("#","#c");
   } else {
//    alturl = alturl.replace("#", "#comment-");
   }
   var postlink = alturl.split("?");
   postlink = postlink[0];
   var linktext = postlink.split("/");
   linktext = linktext[5];
   linktext = linktext.split(".html");
   linktext = linktext[0];
   var posttitle = linktext.replace(/-/g," ");
   for (var j = 0; j < titleCount; j++) {
    if (postlink == postURL[j]) {
     posttitle = postTitle[j];
     break;
    }
   }
   posttitle = posttitle.link(postlink);
   var commentdate = entry.published.$t;
   var cdyear = commentdate.substring(0,4);
   var cdmonth = commentdate.substring(5,7);
   var cdday = commentdate.substring(8,10);
   if (cdday.substring(0,1) == "0") cdday = cdday.substring(1,2);
   if (cdmonth.substring(0,1) == "0") cdmonth = cdmonth.substring(1,2);
   commentdate = cdmonth + "/" + cdday;
   var d1 = new Date();
   var d2 = new Date();
   d2.setFullYear(parseInt(cdyear,10),parseInt(cdmonth,10)-1,parseInt(cdday,10));
   var commentage = parseInt((d1-d2+10000)/86400000,10);
   if (commentage<0) commentage=0;
   var author = entry.author[0].name.$t;
   for (var j = 0; j < nnCount; j++) {
    if (author == realname[j]) {
     author = nickname[j];
     break;
    }
   }
   for (var j = 0; j < postCount; j++) {
    if (posttitle == recentPosts[j]) break;
   }
   if (j < postCount || postCount < maxPosts || commentage <= incDays) {
   if (optSkipAnon != 1 || author != "Anonymous") {
   if (j < postCount || commentage < expireDays) {
    if (j == postCount) {
     postCount++;
     recentPosts[postCount-1] = posttitle;
     postComments[postCount-1] = "";
    }
    var cmtCount = (postComments[j].split("||").length)-1;
    if (cmtCount < maxCmtPerPost || commentage <= incDays) {
     postComments[j] = postComments[j]+author+"|"+commentdate+"|"+alturl+"||";
    }
   } } }
  }
  document.write ("<ul id=\"recently\">");
  for (var i = 0; i < postCount; i++) {
   var pline = recentPosts[i] + " by ";
   var lastdate = "";
   var pitems = postComments[i].split("||");
   var tline = "";
   for (var j = 0; j < pitems.length-1; j++) {
    var itemdtl = pitems[j].split("|");
    if (lastdate!="" && lastdate!=itemdtl[1]) {
     pline = pline + tline + " " + lastdate + "; ";
     tline = "";
    } else {
     if (tline != "") tline = tline + ", ";
    }
    tline = tline + "<span id=\"recentcmt\">"+itemdtl[0].link(itemdtl[2])+"</span>";
    lastdate = itemdtl[1];
   }
   pline = pline + tline + " " + lastdate;
   document.write ("<li>"+pline+"</li>");
  }
  document.write ("</ul>");
}
