google.load("feeds", "1");
var entryArray = new Array();
var entryNum = 0;

function initialize() {
  feedAdd("http://kyotoyaoyoshi.blog29.fc2.com/?xml", 2);
  feedAdd("http://kyotoyaoyoshi01.blog.fc2.com/?xml", 1);
}

function feedAdd(rssUrl, boolNum) {
  var feed = new google.feeds.Feed(rssUrl);
  feed.setNumEntries(5);
  feed.load(function(result) {
    if (!result.error) {
      for (var i = 0; i < result.feed.entries.length; i++) {
        entryArray.push(result.feed.entries[i]);
        var date = new Date(result.feed.entries[i].publishedDate);
        entryArray[entryNum].sortDate = ( date.getFullYear()*10000 ) + ( (date.getMonth() + 1)*100 ) + date.getDate();
        entryArray[entryNum].blogName = result.feed.title;
        entryNum+=1;
      }
    }else{
       alert(result.error.code + ":" + result.error.message);
    }
    if(boolNum==1){
      feedOutput("news", 10);
    }
  });
}

function feedOutput(feedId, listNum){
  var container = document.getElementById(feedId);
  entryArray = asort(entryArray, "sortDate");
  if(listNum > entryNum){ //修正箇所
    listNum = entryNum;
  }
  for (var i = 0; i < listNum; i++) {
    var entry = entryArray[i];
    var date = new Date(entry.publishedDate);
    var eTitle = entry.title;
    var eCont = entry.contentSnippet.substring(0, 50);
    var eLink = entry.link;
    var eimg = "";
    var wrap = document.createElement("dl");
    var imgCheck = entry.content.match(/(src="http:){1}[\S_-]+((\.jpg)|(\.JPG))/);
      if(imgCheck){
         eimg += '<dt><img ' + imgCheck[0] + '" width="110" \/><\/dt>';
      }
    wrap.innerHTML ='<dt style="border-bottom:dashed 1px #ccc;"><span>' + date.getFullYear() + '年' + (date.getMonth() + 1 ) + '月' + date.getDate() + '日<\/span>（' + entry.blogName + '）<br \/>' + '<a href="' + eLink + '" target="_blank" style="font-size:12pt;color:#660000;">' + eTitle + '<\/a><\/dt>';
    container.appendChild(wrap);
  }
}
function asort(myArray, key){
  return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? -1 : 1; } );
}

google.setOnLoadCallback(initialize);
