/*
 * news.js - 日テレecoニュース表示用スクリプト
 *
 * ○概要
 * News24CMSより配信された情報をもとにニュース表示枠に対して、
 * 記事情報、サムネイル、記事リンクへの設定を行う
 *
 * ○変更履歴
 * 2010.05.25 h.adachi : 新規作成
 */

if ( typeof(EcoNews) == 'undefined' ) EcoNews = function() {};

// オブジェクト生成
var news = new EcoNews();

EcoNews.prototype.XML_DIR   = '/eco/news/';
EcoNews.prototype.XML_NAME  = 'econews.xml';
EcoNews.prototype.IMAGE_DIR = '/eco/news/';
EcoNews.prototype.NO_IMAGE  = 'noimage_88x66.jpg';

EcoNews.prototype.HEADER_HTML = '<h2>ニュース</h2>\n';
EcoNews.prototype.FOOTER_TEXT = '詳細';
EcoNews.prototype.OUTSIDE_LINK = {
	'url'    : 'http://www.news24.jp/feature/feature51.html',
	'target' : '_blank'
};
EcoNews.prototype.HEADER_IMG = {
	'src'    : './images/photo_news2.jpg',
	'alt'    : 'eco番組情報',
	'height' : 80,
	'width'  : 280
};

/**
 * 実行関数(onloadイベント)
 */
onload = function(){
	news.write();
}

/**
 * ニュース表示用関数
 */
EcoNews.prototype.write = function(){
	var url = news.XML_DIR + news.XML_NAME;
	var http = new JKL.ParseXML(url);
	// 出力データの全配列化
	http.setOutputArrayAll();
	var func = function (data) {
		var str = '';
		
		// ヘッダ
		str += news.HEADER_HTML
			+  '<div class="wakuHeight">\n'
			+  '<a href="' + news.OUTSIDE_LINK['url'] + '" target="' + news.OUTSIDE_LINK['target'] + '">'
			+  '<img '
			+  'src="'    + news.HEADER_IMG['src']    + '" '
			+  'alt="'    + news.HEADER_IMG['alt']    + '" '
			+  'height="' + news.HEADER_IMG['height'] + '" '
			+  'width="'  + news.HEADER_IMG['width']  + '" '
			+  '></a>\n';
		
		// リスト
		str += news.makeList(data);

		// フッタ
		str += '</div>\n'
			+  '<div class="list">'
			+  '<a href="' + news.OUTSIDE_LINK['url'] + '" target="' + news.OUTSIDE_LINK['target'] + '">'
			+   news.FOOTER_TEXT + '</a></div>\n';
		
		// HTML書き出し
		var element = document.getElementById('tv');
		if(element){ element.innerHTML = str };
		
	}
	http.async(func);
	http.parse();
}

/**
 * リスト用HTML生成用関数
 * 引数(data)
 * 1. data : XML解析データ
 */
EcoNews.prototype.makeList = function(data){
	var str = '';
	// ヘッダ
	str += '<ul>\n';
	var len = data.itemList[0].item.length;
	for(var i=0;i<len;i++){
		var item = data.itemList[0].item[i];
		str += '<li>\n';
		
		// 画像
		if(item.picture != this.NO_IMAGE){
			str += '<a href="' + item.fileName + '" target="_blank">'
				+  '<img src="' + this.IMAGE_DIR + item.picture + '">'
				+  '</a>';
		}
		// タイトル＋日付
		str += '<p><a href="' + item.fileName + '" target="_blank">' + item.HeadLine + '\n\n'
			+  '('
			+  item.date[0].substring(0,4) + '/'
			+  parseInt(item.date[0].substring(4,6),10)  + '/'
			+  parseInt(item.date[0].substring(6,8),10)  + ' '
			+  parseInt(item.date[0].substring(8,10),10) + ':'
			+  item.date[0].substring(10,12)
			+  ')　</a></p>\n'
			+  '<div class="clearboth"></div>\n'
			+  '</li>\n';
	}
	// リスト内フッタ
	str += '</ul>\n';
	return str;
}

