/* $Id$ */

// ニュースのタブ表示
// YAHOO.util.Event.addListener(window, "load" , function() {new YAHOO.widget.TabView("rss_news")} );

// xml -> json proxy
var proxy = 'http://www.sagafan.jp/json/xml2json.php';

// 天気情報の取得先 
var lwws_feed_saga  = 'http://weather.livedoor.com/forecast/webservice/rest/v1?city=122&day=today';
var lwws_feed_imari = 'http://weather.livedoor.com/forecast/webservice/rest/v1?city=123&day=today';

/* コールバック：天気予報を整形表示 */
/**
 * 佐賀
 * @param {Object} data
 */
function make_weather_html_saga( data ) {
	make_weather_html(data, 'weather_saga');
}
/**
 * 伊万里
 * @param {Object} data
 */
function make_weather_html_imari( data ) {
	make_weather_html(data, 'weather_imari');
}
/**
 * 
 * @param {Object} data
 * @param {Object} element_id 書き出し先ID
 */
function make_weather_html( data, element_id ) {
	
	if (data == null) { return; } 
	
	var city = data['location']['city'];
	var telop = data['telop'];
	var image_url = data['image']['url'];
	var link = data['link'];
	var element = document.getElementById(element_id);
	
	var a  = document.createElement("a");
	var img  = document.createElement("img");
	var span  = document.createElement("span");
	
	span.setAttribute('class', 'cityn_ame');
	span.appendChild(document.createTextNode(city));
	
	img.setAttribute('src', image_url);
	img.setAttribute('alt', telop);
	
	a.setAttribute('href', link);
	a.setAttribute('target', '_blank');
	a.appendChild(img);
	
	element.innerHTML = '';
	element.appendChild(span);
	element.appendChild(a);
	
}
/**
 * 天気情報を取得
 */
function loadWeather() {
	var script = document.createElement('script');
    script.charset = 'utf-8';
    script.src = proxy + '?cachetime=600&callback=make_weather_html_saga&url=' + escape(lwws_feed_saga);
    document.body.appendChild(script);
	
	var script = document.createElement('script');
    script.charset = 'utf-8';
    script.src = proxy + '?cachetime=600&callback=make_weather_html_imari&url=' + escape(lwws_feed_imari);
    document.body.appendChild(script);
}

YAHOO.util.Event.addListener(window, "load" , loadWeather);


// --- ニュース ---
/* Google Feed API を使う */
var news_feed = {
	"area" : {"feed" : "http://www.nishinippon.co.jp/delivery/rss/saga.xml", 
			"element_id" : "rss_news_area"},
	"all" : {"feed" :"http://www3.asahi.com/rss/index.rdf",
			"element_id" : "rss_news_all"}
};
var news_feed_limit = 5; // 5件取得
var news_feed_show_blank = true; // _blankでリンク
// var google_jsapi = 'http://www.google.com/jsapi?key=';
// var google_api_key = 'ABQIAAAA2jHWa4y5iHs5S-10kyM2BRRnKAzRJ6q5HAhFDmmIjwYQTrPi2RTcWJ7KjEbC_FyP0VsLTEVeDcIOmw'; // blog.sagafan.jp
// var google_api_key = 'ABQIAAAA2jHWa4y5iHs5S-10kyM2BRT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTK9YKDM7TGTRVPCRPVWSriDPjmFw'; // localhost

// google feed api 呼び出し
google.load("feeds", "1");
 
// RSS読み込み時のコールバック
function write_feed(result, element_id) {
	if (!result.error) {

		var container = document.getElementById( element_id );
		var ul = document.createElement("ul");
		
		for (var i = 0; i < result.feed.entries.length; i++) {
			var entry = result.feed.entries[i];
			var li = document.createElement("li");
			var a  = document.createElement("a");
			
			a.setAttribute("href", entry.link);
			if (news_feed_show_blank) {
				a.setAttribute("target", "_blank");
			}
			
			var title = entry.title;
			if ( title.length > 28) {
				title = title.substr(0, 24) + '...';
			}
			a.appendChild(document.createTextNode(title));
			
			var pubdate = new Date(entry.publishedDate);
			var hour = pubdate.getHours()<10 ? '0' + pubdate.getHours() : pubdate.getHours();
			var min = pubdate.getMinutes()<10 ? '0' + pubdate.getMinutes() : pubdate.getMinutes();
			li.appendChild(document.createTextNode(hour + ':' + min + ' '));
			
			li.appendChild(a);
			ul.appendChild(li);
		}
		container.innerHTML = '';
		container.appendChild(ul);
	}
}
function loadNews() {
	// 地域ニュース
	var area_feed = new google.feeds.Feed( news_feed["area"]["feed"] );
	area_feed.setNumEntries(news_feed_limit);
	area_feed.load(function (result) {
		write_feed(result, news_feed["area"]["element_id"])
	});
	// 全国ニュース
	var all_feed = new google.feeds.Feed( news_feed["all"]["feed"] );
	all_feed.setNumEntries(news_feed_limit);
	all_feed.load(function (result) {
		write_feed(result, news_feed["all"]["element_id"])
	});
}
// YAHOO.util.Event.addListener(window, "load" , loadNews);

/* カレンダーの読み込み */
function loadCalendar() {
	// 新着イベント
	var area_feed = new google.feeds.Feed( 'http://blog.sagafan.jp/calendar_new.rdf' );
	area_feed.setNumEntries(3);
	area_feed.load(function (result) {
		if (!result.error) {

			var container = document.getElementById( 'rss_calender_recent' );
			var ul = document.createElement("ul");
			
			for (var i = 0; i < result.feed.entries.length; i++) {
				var entry = result.feed.entries[i];
				var li = document.createElement("li");
				var a  = document.createElement("a");
				
				a.setAttribute("href", entry.link);
				if (news_feed_show_blank) {
					a.setAttribute("target", "_blank");
				}
				
				var title = entry.title;
				if ( title.length > 13) {
					title = title.substr(0, 10) + '...';
				}
				a.appendChild(document.createTextNode(title));
				li.appendChild(a);
				ul.appendChild(li);
			}
			container.innerHTML = '';
			container.appendChild(ul);
		}
	});
}
YAHOO.util.Event.addListener(window, "load" , loadCalendar);

/* お勧め商品の読み込み */
function loadSagafanRecomend() {
	// 新着イベント
	var area_feed = new google.feeds.Feed( 'http://www.sagafan.com/shop/rss/cmdty_recommend.rdf' );
	area_feed.setNumEntries(5);
	area_feed.load(function (result) {
		if (!result.error) {

			var container = document.getElementById( 'sagafan_items_list' );
			var ul = document.createElement("ul");
			
			for (var i = 0; i < result.feed.entries.length; i++) {
				var entry = result.feed.entries[i];
				var li = document.createElement("li");
				var a  = document.createElement("a");
				
				a.setAttribute("href", entry.link);
				if (news_feed_show_blank) {
					a.setAttribute("target", "_blank");
				}
				
				var title = entry.title;
				if ( title.length > 43) {
					title = title.substr(0, 40) + '...';
				}
				a.appendChild(document.createTextNode(title));
				li.appendChild(a);
				ul.appendChild(li);
			}
			container.innerHTML = '';
			container.appendChild(ul);
		}
	});
}
// YAHOO.util.Event.addListener(window, "load" , loadSagafanRecomend);
