$(function(){
    var days = 3; // 取得日数

    var dt = new Date();

    for (var i = 0; i < days; i++) {
        var date =  new DateFormat('yyyy年MM月dd日').format(dt);
        var feedurl = 'http://blog.sagafan.jp/calendar_' + new DateFormat('yyyyMMdd').format(dt) + '.rdf';

        $('#recent_event').append('<h3 class="title">'+date+'</h3><ul id="recent_event_'+i+'"></ul>');

        gfeed({
            feed_url: feedurl,
            target_id: 'recent_event_'+i,
            num: 10,
            template: function(entry){return '<li><a href="'+entry.link+'">'+entry.title+'</a></li>';},
            noResult: function(container){$(container).replaceWith('<p class="msg">イベントはありません</p>');}
        });

        dt.setTime(dt.getTime() + (86400 * 1000));
    }
});

google.load("feeds", "1");
 
function gfeed(config) {
    var feed      = config.feed     || new google.feeds.Feed(config.feed_url);
    var container = config.target   || document.getElementById(config.target_id);
    var num       = config.num      || 5;
    var offset    = config.offset   || 0;
    var template  = config.template || function(entry){return '<li><a href="'+entry.link+'">'+entry.title+'('+entry.date+')</a></li>';};
    var noResult  = config.noResult || function(container){container.innerHTML = '';};

    feed.setNumEntries(num+offset);
	
    feed.load(function(result) {
	
        if (!result.error) {
            container.innerHTML = '';
		
            if(result.feed.entries.length == 0) {
                noResult(container);
            }

            for (var i = offset, len = result.feed.entries.length+offset; i < len; i++) {
			
                var entry = result.feed.entries[i];
				
				var pubdate = new Date(entry.publishedDate);
				var year  = pubdate.getYear(); if (year < 1000) { year += 1900; }
				var month = pubdate.getMonth() + 1 < 10 ? '0' + (pubdate.getMonth() + 1) : pubdate.getMonth() + 1;
				var day   = pubdate.getDate()      < 10 ? '0' + pubdate.getDate()    : pubdate.getDate();
				var hour  = pubdate.getHours()     < 10 ? '0' + pubdate.getHours()   : pubdate.getHours();
				var min   = pubdate.getMinutes()   < 10 ? '0' + pubdate.getMinutes() : pubdate.getMinutes();
				
				entry.date = year + '/' + month + '/' + day;
                
			    container.innerHTML += template(entry);
            }
        } else {
            console.log(result.error.message);
        }
    });
}

