/*----------------
*  Global JavaScript Functions
*  Version: 1.0
*  Last Modified: 2009-01-31
*  Author: Kusakabe
*  Author URL: http://duskfalls.org/
*  Author Email: info[at]duskfalls.org
----------------*/

/*-----------------------------------------------------------------------
	jQuery Cycle Plugin
------------------------------------------------------------------------*/

$(function() {
	$('#images-cycle').cycle({ 
		fx:            'fade',
		speed:         200,
		timeout:       4000,
		startingSlide: 0,
		pager:         '#nav'
	});
	$('#banners-cycle').cycle({ 
		fx:            'scrollDown',
		speed:         500,
		timeout:       4000,
		sync:          0
	});
});

/*-----------------------------------------------------------------------
	New Window
------------------------------------------------------------------------*/

$( document ).ready( function () {
	$('a[rel=external]').click(function(){
		this.target = "_blank";
	});
});


/*-----------------------------------------------------------------------
	Google Ajax Feed API
------------------------------------------------------------------------*/

google.load("feeds", "1");
var entryArray = new Array();
var entryNum = 0;

function initialize() {
	feedAdd("http://arofreex.net/feed/", 0);
	feedAdd("http://kusakabeworks.net/feed/", 1);
}

//取得するフィードの追加（rssUrl: フィードのURL , boolNum: 追加するフィードURLが最後の場合「1」を入れる）
function feedAdd(rssUrl, boolNum) {
	var feed = new google.feeds.Feed(rssUrl);//フィードの取得
	feed.setNumEntries(5);//ブログ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()*10000 ) + ( (date.getMonth() + 1)*100 ) + date.getDate() + date.getTime();//ソート用（日付）を連想配列に代入
				entryArray[entryNum].blogName = result.feed.title;//ブログ名を連想配列に代入
				entryArray[entryNum].blogLink = result.feed.link;
				entryNum+=1;
			}
		}
		if(boolNum==1){
			feedOutput("feeds", 5);//フィードの出力
		}
	});
}

//フィードの出力（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);//日付の表示変更
		var icon = entry.blogLink;
		var icon = icon.replace(/http:\/\// , "");
		var icon = icon.replace(/\.[a-z]*$/ , ".png");
		var icon = '<img src="img/icon/blog_' + icon + '" width="32" height="32" alt="" />'
		useFeed += "\t\t" + '<li><a href="' + entry.link + '" target="_blank">' + icon + ' <small>' + changeDate(entry.publishedDate) + '<\/small><br \/><span>' + entry.title + "<\/span><\/a><\/li>\n";//HTMLで書き出し
	}
	container.innerHTML = "\n\t<ul>\n" + useFeed + "\t<\/ul>\n";
}

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; } );//降順
}

function changeDate(str){
	var myDate=new Date(str);
	var YYYY=myDate.getFullYear();
	var MM=myDate.getMonth()+1;
	if(MM<10){MM="0"+MM;}
	var DD=myDate.getDate();
	if(DD<10){DD="0"+DD;}
	var date=YYYY+"-"+MM+"-"+DD;
	return date;
}

google.setOnLoadCallback(initialize);
