/**
 * siteUpdateFeed
 * 2010.08.10
 */
 
 
var siteUpdateFeed = (function(){
	
	/*------------------------------------------------------------------------*/
	var siteURL = "http://www.fml.ne.jp/";
	
	var DATA = [{
				name : "コラム",
				feed : "column/feed.js",
				icon : "common/img/ica_type1_001.gif"
				},{
				name : "ピックアップ",
				feed : "pickup/feed.js",
				icon : "common/img/ica_type1_002.gif"
				},{
				name : "学会活動",
				feed : "society/feed.js",
				icon : "common/img/ica_type1_003.gif"
				},{
				name : "リサーチ",
				feed : "research/feed.js",
				icon : "common/img/ica_type1_004.gif"
				}];
	
	var containerID = "siteUpdateFeed";
	var titleTrimLength = 15;
	/*------------------------------------------------------------------------*/
	var DATALength = DATA.length;
	var allFeedData = [];
	var showNum;
	var omittedCategory = false;
	/*------------------------------------------------------------------------*/
	
	
	function load(num, _titleTrimLength, _omittedCategory){
		showNum = num;
		if(_titleTrimLength) titleTrimLength = _titleTrimLength;
		if(_omittedCategory) omittedCategory = _omittedCategory;
		document.write("<div id=" + containerID + "></div>");
		for(var i=0; i < DATALength; i++){
			var xDATA = DATA[i];
			xDATA.feed = siteURL + xDATA.feed;
			xDATA.icon = siteURL + xDATA.icon;
			$.getScript(xDATA.feed);
		}
	}
	
	/*------------------------------------------------------------------------*/
	
	var loadedCount = 0;
	function callback(feedData){
		var blogName = feedData.title;
		$.each(feedData.entry, function(){
			
			var xFeedData = {
				title    : this.title,
				link     : this.link,
				blogName : blogName,
				category : this.category,
				pubDate  : new Date(this.published),
				icon     : (function(){
										for(var i=0; i < DATALength; i++){
											if(DATA[i].name == blogName) return DATA[i].icon;
										}
									 })()
			}
			
			allFeedData.push(xFeedData);
		});
		///////allLoadComplete
		if(++loadedCount == DATALength) {
			allFeedData.sort( function(a, b){ return a.pubDate < b.pubDate ? 1 : -1; });
			showFeed();
		}
	
	}
	
	/*------------------------------------------------------------------------*/
	
	function showFeed(){
		var container = $("#" + containerID);
		
		for(var i=0; i < showNum; i++){
			var xFeedData = allFeedData[i];
			var p = 
			$(document.createElement("p"))
			.append(
					$(document.createElement("img"))
					.attr({
						  src    : xFeedData.icon,
						  alt    : xFeedData.blogName,
						  width  : 56,
						  height : 13
						  })
					)
			.append(
					$(document.createElement("a"))
					.attr({
						  href : xFeedData.link
						  })
					.append(
							datex(xFeedData.pubDate) + "<br />"
							+ (function (){ 
									   if(!omittedCategory){ return "「" + xFeedData.category + "」に"} ;
									   return ""; 
									   })()
							+"「" + texttrim(xFeedData.title, titleTrimLength) + "」を追加しました。"
							)
					)
			container.append(p).append("\n");
		}
	}
	
	/* util
	------------------------------------------------------------------------*/
	function texttrim(content, num){
		if(content.length <= num) return content;
		return content.substring(0, num) + "...";
	}
	function datex(date){
		var year = date.getYear();
		if(year < 2000) year += 1900;
		return year + "." + (date.getMonth() + 1)  + "." + date.getDate();
	}
	
	/* api
	------------------------------------------------------------------------*/
	return {
		load : load,
		callback : callback
		}
	
})();

var TypePadJsonCallback = siteUpdateFeed.callback



/* using tag
<script type="text/javascript">
siteUpdateFeed.load(3);
</script>
*/



