

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

function initialize() {
	feedAdd("http://www.pheedo.jp/f/JapaneseTechCrunch", 0);//Techchrunch
	feedAdd("http://rss.itmedia.co.jp/rss/2.0/makoto.xml", 0);//誠
	feedAdd("http://jp.wsj.com/rss/feed/jwsj_Finance-Markets_summaries", 0);//wsj
	feedAdd("http://lifehacking.jp/feed/atom/", 0);//ライフハック
	feedAdd("http://feeds.reuters.com/reuters/JPWorldNews", 1);//ロイター
	//feedAdd("http://nanapi.jp/search/feed.rss", 1);//nanapi
}

//取得するフィードの追加（rssUrl：フィードのURL , boolNum：追加するフィードURLが最後の場合「1」を入れる）
function feedAdd(rssUrl, boolNum) {
	var feed = new google.feeds.Feed(rssUrl);//フィードの取得
	feed.setNumEntries(1);//サイト1つあたりの取得するフィード数
	feed.load(function(result) {
		if (!result.error) {
			for (var i = 0; i < result.feed.entries.length; i++) {
				entryArray[entryNum] = result.feed.entries[i];
				var date = new Date(result.feed.entries[i].publishedDate);
				entryArray[entryNum].sortDate = ( date.getFullYear()*1000000 ) + ( (date.getMonth() + 1)*10000 ) + (date.getDate()*100) + date.getHours();//ソート用（日付）を連想配列に代入
				entryArray[entryNum].blogName = result.feed.title;//サイト名を連想配列に代入
				entryNum+=1;
			}
		}
		if(boolNum==1){
			feedOutput("gf_news_bd", 3);//フィードの出力
		}
	});
}

//フィードの出力（feedId：出力するオブジェクトのID , listNum：出力するリスト数。「0」の場合全て）
function feedOutput(feedId, listNum){
	var useFeed = "";
	var container = document.getElementById(feedId);//表示部分を選択
	entryArray = asort(entryArray, "sortDate");//日付でソート
	if(listNum==0){
		listNum = entryNum;
	}
	for (var i = 0; i < listNum; i++) {
		var entry = entryArray[i];
		var date = new Date(entry.publishedDate);//日付の表示変更
		useFeed += '<li id="gf_news_' + (i+1) +'">' + '<a href="' + 'http://www.goodfind.jp/2012/proxy.html?URL=' + entry.link + '" target="_blank">' + entry.title + '</a><span class="gf_news_source">' + '（' + entry.blogName +' ' + date.getFullYear() + '年' + (date.getMonth() + 1 ) + '月' + date.getDate() + '日付' + '）</li>';//HTMLで書き出し
	}
	container.innerHTML = '<ul id="gf_news_list">' + useFeed + '</ul>';
}
function asort(myArray, key){
	//return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? 1 : -1; } );//昇順
	return myArray.sort ( function (b1, b2) { return b1[key] > b2[key] ? -1 : 1; } );//降順
}

google.setOnLoadCallback(initialize);
