
//RSSを表示するテンプレート
var template = '<div class="gfc-resultsRoot"><div class="gfc-resultsHeader"><div class="gfc-title">#{supporter}</div></div><div class="gfc-results"><div class="gfc-result"><div class="gf-result"><div class="gf-title"><a href="#{link}" class="gf-title" target="_blank">#{title}</a></div></div></div></div></div>';

var container = new Template(template);

var queue = [
	{feed: "http://www2.epson.jp/rss/news.xml", title: "エプソン販売株式会社"},
	{feed: "http://rss.olympus.co.jp/jprss/index.xml", title: "オリンパスイメージング株式会社"},
	{feed: "http://rss.canon.jp/pnews/index.xml", title: "キヤノンマーケティングジャパン株式会社"},
	{feed: "http://www.sony.jp/xml/dslr.xml", title: "株式会社ソニー"},
	{feed: "http://www.toppan.co.jp/rss/news_rss.xml", title: "凸版印刷株式会社"},
	{feed: "http://www.nikon-image.com/jpn/news/rss/home.rdf", title: "株式会社ニコン"},
	{feed: "http://www.fujifilm.co.jp/corporate/news/rss/newsrelease.xml",  title: "富士フイルム株式会社"},
	{feed: "http://fujifilm.jp/information/pack/rss/support.xml", title: "富士フイルムイメージテック株式会社"},
	{feed: "http://www.pentax.jp/rss/index2.rdf",  title: "HOYA株式会社 PENTAX IS事業部"},
	{feed: "http://ricoh.co.jp/dc/index.xml",  title: "株式会社リコー"}
];

var feedItems = [];

function loadFeed(){
	//Queueに何も残っていない場合フィードのロードを終了する
	if(!queue.length) { 
		//Queueが空っぽになったら、HTMLを生成します。
		drawFeed()
		return;
	} 
		
	//Queueからひとつ値を取り出します。
	var popped = queue.pop();
	
	//ロードを開始します。
	var feed = new google.feeds.Feed(popped.feed);
	
	feed.load(function(result) {
		//エラーでなければフィードを登録する。
		if ( !result.error ) {
			var entries = result.feed.entries;
			for(var i = 0, l=entries.length; i< l; i++) {
				
				if(i > itemNum - 1) { break;}
				
				//エントリー
				var entry = entries[i];
				
				//エントリーデータを入れ込む。
				feedItems.push({supporter: popped.title, title: entry.title, link: entry.link, publishedDate: new Date(entry.publishedDate).getTime()});
			}
		}
		
		//次のキューからFeedをロードする。
		loadFeed();
	
	});
}

function drawFeed(){
	
	var tag = "";
	
	feedItems.sort(sortByDate)
	
	//tag open
	tag += '<div class="gfc-control"><div class="gfc-resultsbox-visible">';
	for(var i=0, l=feedItems.length; i<l; i++){
		
		if(i > displayNum - 1) { break;}
		
		var item = feedItems[i];
		
		if(!item) {
			break;
		}
		
		tag += container.evaluate(item);
	}
	//tag close
	tag += '</div></div>'
	
	//設定したfeedView変数の中身にHTMLを書き出す。
	feedView.innerHTML = tag;
	
	//最後のブロックにclass = "last-feed" を付与する。
	var feedBlocks = $$("#feedControl .gfc-resultsRoot");
	Element.addClassName(feedBlocks[feedBlocks.length-1], "last-feed");
	
}

function sortByDate(a, b) {
	return (b.publishedDate - a.publishedDate);
}

google.setOnLoadCallback(loadFeed);