google.load("feeds", "1");
 
function initialize(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>';};

    feed.setNumEntries(num+offset);
	
    feed.load(function(result) {
	
        if (!result.error) {
            container.innerHTML = '';
		
            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 {
            container.innerHTML = '';
            container.appendChild(document.createTextNode(result.error.message));
        }
    });
}

