/*
 * function.js - 2007/09/29 FBSトップページ用共通関数一覧
 */

/* 検索結果表示処理用共通関数 */
// 詳細ページから検索ページトップ遷移時のFlash表示切替用関数
DistributeFlash = function(category_id, genre_id, item_id){
	var str = '';
	str += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
	str += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ';
	str += 'height="235" width="850">';
	str += '<param name="movie" value="search.swf">';
	str += '<param name="quality" value="high">';
	if(category_id != 0){
		str += '<param name="flashVars" value="id=' + category_id;
		if(genre_id != 0){  str += '&cat=' + genre_id  };
		if(item_id != 0){ str += '&item=' + item_id };
		str += '">';
	}else{
		str += '<param name="flashVars" value="id=\'\'">';
	}
	str += '<embed pluginspage="http://www.macromedia.com/go/getflashplayer" ';
	str += 'type="application/x-shockwave-flash" ';
	str += 'src="search.swf" quality="high" height="235" width="850"';
	if(category_id != 0){
		str += 'FlashVars="id=' + category_id;
		if(genre_id != 0){ str += '&cat=' + genre_id };
		if(item_id != 0){ str += '&item=' + item_id };
		str += '">';
	}else{
		str += 'FlashVars="id=\'\'">';
	}
	str += '</object>';

	str += '<noscript>';
	str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
	str += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" ';
	str += 'width="850" height="235">';
	str += '<param name="movie" value="search.swf" />';
	str += '<param name="quality" value="high" />';
	str += '<embed src="search.swf" quality="high" ';
	str += 'pluginspage="http://www.macromedia.com/go/getflashplayer" ';
	str += 'type="application/x-shockwave-flash" ';
	str += 'width="850" height="235">';
	str += '</embed>';
	str += '</object>';
	str += '</noscript>';

	// HTML書き込み(div id='mainFlash')
	document.write(str);
}

// 共通設定（HTML書き込み用div生成）
InitialOfInitialProcess = function(category){
	str = '';

	// 上部バナー5件
	str += '<div id="banner01">';
	for(i=0;i<5;i++){
		str += '<img src="./xml/category-banners/no_banner.gif" border="0" height="60" width="160">';
	}
	str += '</div>';
	// 検索結果表示部
	str += '<div id="result"></div>';
	if(category>0 && category<8){  str += '<div id="searchContents"></div>'  };

	// 更新等諸情報表示部
	str += '<div id="topContents">';
	str += '<div id="mainContents">';
	str += '<div class="leftArea">';
	
	// ホームページ更新情報
	str += '<div id="update">';
	str += '<h2><span class="alt">ホームページ更新情報</span></h2>';
	str += '<dl>';
	for(j=0;j<5;j++){ str += '<dt></dt><dd></dd>' };
	str += '</dl>';
	str += '</div>';
	
	// FBSからのお知らせ
	str += '<div id="fbsinfo">';
	str += '<h2><span class="alt">FBSからのお知らせ</span></h2>';
	str += '<dl>';
	for(k=0;k<5;k++){
		str += '<dt></dt><dd></dd>';
	}
	str += '</dl>';
	str += '</div>';
	
	// Flash部分（ニュース）
	str += setNewsFlash();
	str += '</div>';

	// Flash部分（番組表）
	str += setProgramFlash();
	// 下部バナー5件
	str += '<div id="banner02">';
	for(l=0;l<5;l++){
		str += '<img src="./xml/category-banners/no_banner2.gif" border="0" height="60" width="160">';
	}
	str += '</div>';

	// アナウンサー更新情報
	str += '<div class="leftAna">';
	str += '<div id="announcer">';
	str += '<a href="http://www.fbs.co.jp/cast/cast_top.html" target="_blank">';
	str += '<h2><span class="alt">アナウンサー</span></h2>';
	str += '</a>';
	str += '<ul>';
	for(m=0;m<4;m++){
		str += '<li></li>';
	}
	str += '</ul>';
	str += '</div>';
	
	str += '<div id="nogenre">';
	for(n=0;n<4;n++){
		str += '<img src="banner/nogenre.gif" width="70" height="70" border="0" />';
	}
	str += '</div>';
	str += '</div>';
	
	// お知らせバナー
	str += '<div class="rightReco">';
	str += '<div id="recommend">';
	for(o=0;o<3;o++){
		str += '<div class="reco_01">';
		str += '<img src="./xml/pictures_info/no_right_rec.gif" width="100" style="border:2px solid #FFFFFF;"></div>';
	}
	str += '</div>';
	
	str += '<div id="freePR">';
	for(p=0;p<2;p++){
		str += '<img src="banner/free_pr.gif" width="200" height="125" border="0" />';
	}
	str += '</div>';
	str += '</div>';

	str += '</div>';
	str += '<div class="topBottom"/></div>';

	// end of topContents
	str += '</div>';

	// HTML書き込み(div id='main')
	document.getElementById('main').innerHTML = str;
}

// 共通設定（HTML書き込み用div生成）
InitialProcess = function(category){
	var str = '';
	var div_name;
	var bannerXML_name;
	var contents_name;

	if(category>0 && category<10){
		switch (parseInt(category)) {
			case 1:
				div_name = 'bangumiResult';
				bannerXML_name = 'program';
				break;
			case 2:
				div_name = 'newsResult';
				bannerXML_name = 'news';
				break;
			case 3:
				div_name = 'sportsResult';
				bannerXML_name = 'sports';
				break;
			case 4:
				div_name = 'infoResult';
				bannerXML_name = 'info';
				break;
			case 5:
				div_name = 'recipeResult';
				bannerXML_name = 'recipe';
				break;
			case 6:
				div_name = 'eventResult';
				bannerXML_name = 'event';
				break;
			case 7:
				div_name = '';
				bannerXML_name = 'shopping';
				break;
			case 8:
				div_name = '';
				bannerXML_name = 'search';
				break;
			case 9:
				div_name = '';
				bannerXML_name = 'top';
				break;
			default:
		}
		str += '<div id="' + div_name + '">';
		str += '<div class="left">';
		str += '<div id="left_data"></div>';
		str += '</div>';

		str += '<div class="main">';
		str += '<div id="set_data"></div>';
		str += '</div>';

		str += '</div>';

		if(category != 9){
		// HTML書き込み(div id='result')
		document.getElementById('result').innerHTML = str;
		}
	}
	CommonProcess(category,bannerXML_name);
}

// 検索「トップページ」データ表示用関数
CommonProcess = function (category, xml_name) {
	// XML URL Path
	var i;
	var url = new Array(
	'./xml/top_update_info.xml',
	'./xml/top_fbs_info.xml',
	'./xml/top_announcer.xml',
	'./xml/info_banner.xml',
	'./xml/free_banner.xml',
	'./xml/bottom_ana_banner.xml'
	);
	// トップページ以外の場合、バナー表示用XMLも読み込ませる
	if(category != '9'){ url.push('./xml/category-banners.xml?cat=' + xml_name) };
	
	for (i=0; i<url.length; i++){
		var http = new JKL.ParseXML(url[i]);
		var func = "";
		// ホームページ更新情報用HTML出力関数
		if (i == 0){
			func = function(data){
				var data_length = data.itemList.item.length;
				var disp_update_list  = 5;
				var up_title_length   = 16;
				var up_comment_length = 22;
				setUpdateInfo(data.itemList, disp_update_list, 'update', up_title_length, up_comment_length);
			}
		}
		// FBSからのお知らせ
		if (i == 1){
			func = function(data){
				var disp_update_list  = 5;
				var up_title_length   = 20;
				var up_comment_length = 21;
				if(!isEmpty(data.itemList.item)){
					setUpdateInfo(data.itemList, disp_update_list, 'fbsinfo', up_title_length, up_comment_length);
				}
			}
		}
		// アナウンサー更新情報用HTML出力関数
		if (i == 2){
			func = function(data){
				var disp_ana_list = 4;
				var ana_title_length = 15;
				var ana_comment_length = 22;
				setUpdateAnnouncer(data.itemList, disp_ana_list, 'announcer', ana_title_length, ana_comment_length);
			}
		}
		// お知らせバナーHTML出力関数
		if (i == 3){
			func = function(data){
				var title_length = 15;
				var body_length  = 55;
				setInformation(data.itemList.item, title_length, body_length);
			}
		}
		// フリーバナー
		if (i == 4){
			func = function(data){
				if(!isEmpty(data.banners)){ setFreeBanner(data.banners, 'freePR', 200, 125) };
			}
		}
		// トップページアナウンサー下バナー
		if (i == 5){
			func = function(data){
				if(!isEmpty(data.banners)){ setFreeBanner(data.banners, 'nogenre', 70, 70) };
			}
		}
		// バナー用HTML出力関数（トップページでは使用しない）
		if (i == 6){
			func = function(data){
				var data_length = data.itemList.item.length;
				//<item>が1件のみの場合
				if(isEmpty(data_length) && category != '9'){
					setBanner(category,data.itemList.item);
				//<item>が2件以上ある場合
				}else if(category != '9'){
					for (j=0; j<data_length; j++){
						setBanner(category,data.itemList.item[j]);
					}
				}
			}
		}
		http.async(func);
		http.parse();
	}
}

// 共通設定（HTML書き込み用div生成）
SettingProcess = function(category){
	var str = '';
	var div_name;
	var contents_name;
	var bannerXML_name;
	
	switch (parseInt(category)) {
		case 1:
			contents_name = 'bangumiContents';
			div_name	  = 'bangumiResult';
			bannerXML_name = './xml/category-banners.xml?cat=program';
			break;
		case 2:
			contents_name = 'newsContents';
			div_name	  = 'newsResult';
			bannerXML_name = './xml/category-banners.xml?cat=news';
			break;
		case 3:
			contents_name = 'sportsContents';
			div_name	  = 'sportsResult';
			bannerXML_name = './xml/category-banners.xml?cat=sports';
			break;
		case 4:
			contents_name = 'infoContents';
			div_name	  = 'infoResult';
			bannerXML_name = './xml/category-banners.xml?cat=info';
			break;
		case 5:
			contents_name = 'recipeContents';
			div_name	  = 'recipeResult';
			bannerXML_name = './xml/category-banners.xml?cat=recipe';
			break;
		case 6:
			contents_name = 'eventContents';
			div_name	  = 'eventResult';
			bannerXML_name = './xml/category-banners.xml?cat=event';
			break;
		case 7:
			contents_name = '';
			div_name	  = '';
			bannerXML_name = './xml/category-banners.xml';
			break;
		case 8:
			contents_name = '';
			div_name	  = '';
			bannerXML_name = './xml/category-banners.xml';
			break;
		case 9:
			contents_name = '';
			div_name	  = '';
			bannerXML_name = './xml/category-banners.xml';
			break;
		default:
	}
	str += '<div id="banner01">';
	for(i=0;i<5;i++){
		str += '<img src="./xml/category-banners/no_banner.gif" border="0" height="60" width="160">';
	}
	str += '</div>';

	str += '<div id="result">';
	str += '<div id="' + div_name + '">';

	str += '<div class="left">';
	str += '<div id="left_data"></div>';
	str += '</div>';

	str += '<div class="main">';
	str += '<div id="set_data"></div>';
	str += '</div>';

	str += '</div>';
	str += '</div>';

	str += '<div id="searchContents">';
	str += '<div id="' + contents_name + '"></div>';
	str += '</div>';

	str += '<div id="banner02">';
	for(j=0;j<5;j++){
		str += '<img src="./xml/category-banners/no_banner.gif" border="0" height="60" width="160">';
	}
	str += '</div>';

	// 番組詳細情報書き込み
	// HTML書き込み(div id='main')
	document.getElementById('main').innerHTML = str;
	setDetailBanner(category,bannerXML_name);
}

// 検索「トップページ」データ表示用関数
setDetailBanner = function (category,xml_name) {
	// XML URL Path
	var url = xml_name;

	var http = new JKL.ParseXML(url);
	var func = "";

	// バナー用HTML出力関数
	func = function(data){
		var data_length = data.itemList.item.length;

		//<item>が1件のみの場合
		if(isEmpty(data_length)){
			setBanner(category,data.itemList.item);
		//<item>が2件以上ある場合
		}else{
			for (j=0; j<data_length; j++){
				setBanner(category,data.itemList.item[j]);
			}
		}
	}
	http.async(func);
	http.parse();
}

// バナー設定用関数	（10/13	表示方法：ランダム→固定に変更）
setBanner = function (category,data_node) {
	var banner_list	  = new Array();
	var url_list	  = new Array();
	var alt_list	  = new Array();
	var size		  = new Array();
	var r_banner_list = new Array();
	var r_url_list	  = new Array();
	var r_alt_list	  = new Array();
	var large_banner  = new Array();
	var no   = 0;
	var r_no = 0;
	var large_no = 0;
	var position;
	var str = '';
	var pre_str = '';

	if(data_node.category.id==category){
		
		// 上下バナー のサイズ
		var widthSize   = 0;
		// 上が書き出されている場合true
		var isUpWrite   = false;
		
		// バナー設定位置格納用変数
		var comp_id;
		for (banner_cnt=0;banner_cnt<data_node.banner.length;banner_cnt++) {
			var banner = data_node.banner[banner_cnt];

			if(parseInt(banner.id)<=5){
				comp_id = parseInt(banner.id)-1;
			}else if(parseInt(banner.id)<=10){
				comp_id = parseInt(banner.id)-6;
			}
			
			// バナーIDの位置と設定バナーの開始位置が一致した場合のみ書き出す
			if(comp_id == widthSize){
/*
				// 「番組について知りたい」の上部右から２つ分に固定バナーを設定。（Flashバナー）
				if (category ==1 && !isUpWrite && widthSize == 3) {
					str += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
					str += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" ';
					str += 'height="60" width="325">';
					str += '<param name="movie" value="bnr_daiwa_60_325.swf">';
					str += '<param name="quality" value="high">';
					str += '<embed pluginspage="http://www.macromedia.com/go/getflashplayer" ';
					str += 'type="application/x-shockwave-flash" src="bnr_daiwa_60_325.swf" quality="high" height="60" width="325">';
					str += '</object>';
					widthSize += 2;
				}else{
*/
					// バナーサイズごとに処理を振り分ける
					switch(banner.size){
						case '0': // 通常サイズ
							// 画像がない場合、表示はせずにバナー数だけ加算する。
							if(!isEmpty(banner.banner)){
								if (!isEmpty(banner.pc_url)) {
									str += '<a href="' + banner.pc_url + '" target="_blank">';
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="160" height="60" border="0" /></a>';
								} else {
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="160" height="60" border="0" /></a>';
								}
							}
							widthSize += 1;
							break;
						case '1': // 通常*2サイズ
							// すでにサイズが上の幅を越してしまう場合は設定をしない。
							// 下段の各位置にあわせたバナーが設定される。
							if(!isUpWrite && widthSize==4){
								document.getElementById('banner01').innerHTML = str;
								isUpWrite = true;
								widthSize = 0;
								str = '';
							}else if(isUpWrite && widthSize==4){
								document.getElementById('banner02').innerHTML = str;
								break;
							// 画像がない場合、表示はせずにバナー数だけ加算する。
							}else if(!isEmpty(banner.banner)){
								if (!isEmpty(banner.pc_url)) {
									str += '<a href="' + banner.pc_url + '" target="_blank">';
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="325" height="60" border="0" /></a>';
								} else {
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="325" height="60" border="0" /></a>';
								}
								widthSize += 2;
							}
							break;
						case '2': // 通常*3サイズ
							if (!isUpWrite && widthSize >= 3) {
								document.getElementById('banner01').innerHTML = str;
								isUpWrite = true;
								widthSize = 0;
								str = '';
							} else if(isUpWrite && widthSize >= 3){
								document.getElementById('banner02').innerHTML = str;
								break;
							} else if(!isEmpty(banner.banner)){
								if(!isEmpty(banner.pc_url)) {
									str += '<a href="' + banner.pc_url + '" target="_blank">';
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="490" height="60" border="0" /></a>';
								} else {
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="490" height="60" border="0" /></a>';
								}
								widthSize += 3;
							}
							break;
						case '3': // 通常*4サイズ
							if (!isUpWrite && widthSize >= 2) {
								document.getElementById('banner01').innerHTML = str;
								isUpWrite = true;
								widthSize = 0;
								str = '';
							} else if(isUpWrite && widthSize >= 2){
								document.getElementById('banner02').innerHTML = str;
								break;
							} else if(!isEmpty(banner.banner)){
								if(!isEmpty(banner.pc_url)) {
									str += '<a href="' + banner.pc_url + '" target="_blank">';
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="655" height="60" border="0" /></a>';
								} else {
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="655" height="60" border="0" /></a>';
								}
								widthSize += 4;
							}
							break;
						case '4': // 通常*5サイズ
							if (!isUpWrite && widthSize >= 1) {
								document.getElementById('banner01').innerHTML = str;
								isUpWrite = true;
								widthSize = 0;
								str = '';
							} else if(isUpWrite && widthSize >= 1){
								document.getElementById('banner02').innerHTML = str;
								break;
							} else if(!isEmpty(banner.banner)){
								if(!isEmpty(banner.pc_url)) {
									str += '<a href="' + banner.pc_url + '" target="_blank">';
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="820" height="60" border="0" /></a>';
								} else {
									str += '<img src="./xml/category-banners/' + banner.banner;
									if (!isEmpty(banner.alt)) str += '" alt="' + banner.alt;
									if (!isEmpty(banner.alt)) str += '" title="' + banner.alt;
									str += '" width="820" height="60" border="0" /></a>';
								}
								widthSize += 5;
							}
							break;
						default:
							// サイズが空の場合、1個バナーとして処理をする
							widthSize += 1;
							break;
					}
/*				}		2007/12/26 Flashバナー 終了	*/
			}

			// 通常サイズが5つ分になると書き出し
			if (!isUpWrite && widthSize == 5) {
				document.getElementById('banner01').innerHTML = str;
				isUpWrite = true;
				widthSize = 0;
				str = '';
			} else if (isUpWrite && widthSize == 5) {
				document.getElementById('banner02').innerHTML = str;
				break;
			}
		}
		
		// 右側バナー
		for(k=0;k<data_node.r_banner.length;k++){
			if(!isEmpty(data_node.r_banner[k].r_banner)){ r_banner_list[r_no] = data_node.r_banner[k].r_banner };
			if(!isEmpty(data_node.r_banner[k].r_pc_url)){ r_url_list[r_no] = data_node.r_banner[k].r_pc_url };
			if(!isEmpty(data_node.r_banner[k].r_alt)){ r_alt_list[r_no] = data_node.r_banner[k].r_alt };
			r_no++;
		}
		// 画像表示HTML設定(10/12更新)
		str = '';
		for(m=0;m<r_banner_list.length;m++){
			if(!isEmpty(r_url_list[m])){
				str += '<a href="' + r_url_list[m] + '" target="_blank">';
				str += '<img src="./xml/category-banners/' + r_banner_list[m] + '" ';
				if(!isEmpty(r_alt_list[m])){
					str += 'alt="' + r_alt_list[m] + '" title="' + r_alt_list[m] + ' "width="130" border="0" /></a>';
				}else{
					str += 'alt="" width="130" border="0" /></a>';
				}
			}else{
				str += '<img src="./xml/category-banners/' + r_banner_list[m] + '" ';
				if(!isEmpty(r_alt_list[m])){
					str += 'alt="' + r_alt_list[m] + '" title="' + r_alt_list[m] + ' "width="130" border="0" />';
				}else{
					str += 'alt="" width="130" border="0" />';
				}
			}
		}

		// Flashバナー設定用関数（11/06追加）
		setRightBanner(category, str);
	}
}

// 番組詳細ページバナー設定用関数
setBannerDetails = function (category,data_node) {
	var r_banner_list = new Array();
	var r_url_list	  = new Array();
	var r_alt_list	  = new Array();
	var r_no = 0;
	var position;
	var str = '';
	var filepath = location.hostname;

	if(data_node.category.id==category){
		// データ類をリストに設定
		for(k=0;k<data_node.r_banner.length;k++){
			if(!isEmpty(data_node.r_banner[k].r_banner)){
				r_banner_list[r_no] = data_node.r_banner[k].r_banner;
				r_url_list[r_no] = data_node.r_banner[k].r_pc_url;
				r_alt_list[r_no] = data_node.r_banner[k].r_alt;
				r_no++;
			}
		}

		// 画像表示HTML設定
		str = '';
		for(m=0;m<r_banner_list.length;m++){
			if(!isEmpty(r_url_list[m])){
				str += '<a href="' + r_url_list[m] + '" target="_blank">';
				str += '<img src="http://' + filepath + '/xml/category-banners/' + r_banner_list[m];
				str += '" alt="' + r_alt_list[m] + '" width="130" border="0" /></a>';
			}else{
				str += '<img src="http://' + filepath + '/xml/category-banners/' + r_banner_list[m];
				str += '" alt="' + r_alt_list[l] + '" width="130" border="0" /></a>';
			}
		}

		var element = document.getElementById('bannerRight');
		if(element){
			document.getElementById('bannerRight').innerHTML = str;
		}
	}
}

// ページ番号設定用関数
setPageHtml = function (count_data,page_list_no,page, param_list) {
	if(count_data >= page_list_no){
		str = '';

		str += '<div class="pageCng">';
		str += '<p>';
		var page_no = Math.ceil(count_data / page_list_no);

		if(page!=1){
			str += '<a href="#" onclick="dispData(';
			for(k=0;k<param_list.length;k++){
				if(k==param_list.length-2){
					str += '1' + ',';
				}else if(k==param_list.length-1){
					if(!isEmpty(param_list[k])){
						str += parseInt(param_list[k])-1;
					}
				}else{
					if(!isEmpty(param_list[k])){
						str += '\'' + param_list[k] + '\',';
					}else{
						str += '\'\',';
					}
				}
			}
			str += ');return false;">前へ</a>/';
		}
		for(l=0;l<page_no;l++){
			if(page_no>12){
				if(l==0 || l==page_no-1 || ((l+1)>=page && (l+1)-10<=page)){
					str += '<a href="#" onclick="dispData(';
					for(k=0;k<param_list.length;k++){
						if(k==param_list.length-2){
							str += '1' + ',';
						}else if(k==param_list.length-1){
							if(!isEmpty(param_list[k])){
								str += l+1;
							}
						}else{
							if(!isEmpty(param_list[k])){
								str += '\'' + param_list[k] + '\',';
							}else{
								str += '\'\',';
							}
						}
					}
					// ページ番号と現在のページが一致した場合
					if((l+1)==page){
						str += ');return false;"><b><font color="#FFFF00">' + (l+1) + '</font></b></a>/';
					}else{
						str += ');return false;">' + (l+1) + '</a>/';
					}
				}else if(page_no-page<=10 && (l+1)>=page_no-10){
					str += '<a href="#" onclick="dispData(';
					for(k=0;k<param_list.length;k++){
						if(k==param_list.length-2){
							str += '1' + ',';
						}else if(k==param_list.length-1){
							if(!isEmpty(param_list[k])){
								str += l+1;
							}
						}else{
							if(!isEmpty(param_list[k])){
								str += '\'' + param_list[k] + '\',';
							}else{
								str += '\'\',';
							}
						}
					}
					// ページ番号と現在のページが一致した場合
					if((l+1)==page){
						str += ');return false;"><b><font color="#FFFF00">' + (l+1) + '</font></b></a>/';
					}else{
						str += ');return false;">' + (l+1) + '</a>/';
					}
				}
			}else{
				str += '<a href="#" onclick="dispData(';
				for(k=0;k<param_list.length;k++){
					if(k==param_list.length-2){
						str += '1' + ',';
					}else if(k==param_list.length-1){
						if(!isEmpty(param_list[k])){
							str += l+1;
						}
					}else{
						if(!isEmpty(param_list[k])){
							str += '\'' + param_list[k] + '\',';
						}else{
							str += '\'\',';
						}
					}
				}
				// ページ番号と現在のページが一致した場合
				if((l+1)==page){
					str += ');return false;"><b><font color="#FFFF00">' + (l+1) + '</font></b></a>/';
				}else{
					str += ');return false;">' + (l+1) + '</a>/';
				}
			}
		}
		if(page!=page_no){
			str += '<a href="#" onclick="dispData(';
			for(k=0;k<param_list.length;k++){
				if(k==param_list.length-2){
					str += '1' + ',';
				}else if(k==param_list.length-1){
					if(!isEmpty(param_list[k])){
						str += parseInt(param_list[k])+1;
					}
				}else{
					if(!isEmpty(param_list[k])){
						str += '\'' + param_list[k] + '\',';
					}else{
						str += '\'\',';
					}
				}
			}
			str += ');return false;">次へ</a>';
		}
		str += '</div>';
	}
	return str;
}

// 番組表FLASH用HTML設定用関数
setProgramFlash = function(){
	str = '';
	str += '<div id="programList">';
	str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="200" height="262">';
	str += '<param name="movie" value="p_list.swf" />';
	str += '<param name="quality" value="high" />';
	str += '<embed src="p_list.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="262"></embed>';
	str += '</object>';
	str += '</div>';
	return str;
}

// ティッカーFLASH用HTML設定用関数
setNewsFlash = function(){
	str = '';
	str += '<div id="fbsNews" class="clearboth">';
	str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="635" height="30">';
	str += '<param name="movie" value="news.swf" />';
	str += '<param name="quality" value="high" />';
	str += '<embed src="news.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="635" height="30"></embed>';
	str += '</object>';
	str += '</div>';
	return str;
}

/* トップページ */
// トップページ更新情報設定用関数
function setUpdateInfo(data_node, disp_no, div_name, title_length, comment_length){
	var str = '';
	var data_length = data_node.item.length;

	//<item>が1件のみの場合
	if(isEmpty(data_length)){
		data_length = 1;
		var out_data = new Array();
		out_data['item'] = new Array(data_node.item);
		str += setUpdateInfoHTML(out_data , disp_no, data_length, div_name, title_length, comment_length);
	//<item>が2件以上ある場合
	}else{
		if(data_length > disp_no){ data_length = disp_no };
		str += setUpdateInfoHTML(data_node, disp_no, data_length, div_name, title_length, comment_length);
	}
	// HTML書き込み(div id=div_name)
	var element = document.getElementById(div_name);
	if (element) { document.getElementById(div_name).innerHTML = str };
}

// トップページ更新情報用HTML設定用関数
function setUpdateInfoHTML(data_node, disp_no, data_length, div_name, title_length, comment_length){
	var i;
	var j;
	var str = '';
	var set_data = new Array();
	
	for (i=0; i<=data_length; i++){
		// データの格納されているタグ名を設定
		set_data['date']    = data_node.item[i].yyyymmdd;
		set_data['title']   = data_node.item[i].title;
		set_data['comment'] = data_node.item[i].comment;
		set_data['url']     = data_node.item[i].pc_url;

		// ヘッダ設定
		if(i==0){
			if(div_name == 'update'){
				str += '<h2><span class="alt">ホームページ更新情報</span></h2>';
			}else if(div_name == 'fbsinfo'){
				str += '<h2><span class="alt">FBSからのお知らせ</span></h2>';
			}
			str += '<dl>';
		}
		// リスト内テキスト用HTML設定
		str += setUpdateTextHTML(data_node, set_data, div_name, title_length, comment_length);
		
		if(i==data_length-1){
			// 残りの件数分のスペースを埋める
			for (j=0; j<disp_no-data_length; j++){ str += '<dt></dt><dd></dd>' };
			str += '</dl>';
			break;
		}
	}
	return str;
}

// 更新情報リスト内テキスト用HTML設定用関数
function setUpdateTextHTML(data_node, set_data, div_name, title_length, comment_length){
	var str = '';
	
	// タイトル
	if(!isEmpty(set_data['url'])){
		str += '<dt>';
		if(div_name == 'announcer'){
			str += '<a href="' + set_data['url'] + '" target="_blank">';
		}else if(div_name == 'update' || div_name == 'fbsinfo'){
			str += '<a href="' + set_data['url'] + '">';
		}
		
		if(div_name != 'fbsinfo'){
			str += '[' + set_data['date'].substring(2,4) + '.' + set_data['date'].substring(4,6) + '] ';
		}
		str += cutLength(set_data['title'], title_length) + '</a>';
	}else{
		str += '<dt style="color:#C82218;">';		
		if(div_name != 'fbsinfo'){
			str += '[' + set_data['date'].substring(2,4) + '.' + set_data['date'].substring(4,6) + '] ';
		}
		str += cutLength(set_data['title'], title_length);
	}
	str += '</dt>';

	// コメント
	str += '<dd>';
	if(!isEmpty(set_data['comment'])){ str += cutLength(set_data['comment'], comment_length) };
	str += '</dd>';
	return str;
}

// お知らせバナーHTML出力用関数
function setInformation(data_node, title_length, body_length){

	var str = '';
	var data_length = data_node.banner.length;

	// バナーが1件のみの場合
	if(isEmpty(data_length)){
		data_length = 1;
		var out_data = new Array();
		out_data['banner'] = new Array(data_node.banner);
		str += setInformationHTML(out_data , data_length, title_length, body_length);
	// バナーが2件以上の場合
	}else{
		str += setInformationHTML(data_node, data_length, title_length, body_length);
	}
	// HTML書き込み(div id='recommend')
	var element = document.getElementById('recommend');
	if (element) { document.getElementById('recommend').innerHTML = str };
	
}

// お知らせバナーHTML出力用関数
function setInformationHTML(data_node, data_length, title_length, body_length){
	var i;
	var str = '';

	for(i=0;i<data_length;i++){
		str += '<div class="reco_01">';
		
		// 画像
		if(data_node.banner[i].pic != 'pictures_info/'){
			if(!isEmpty(data_node.banner[i].url)){
				str += '<a href="' + data_node.banner[i].url + '">';
				str += '<img src="' + './xml/' + data_node.banner[i].pic + '" ';
				if(!isEmpty(data_node.banner[i].alt)){
					str += 'alt="' + data_node.banner[i].alt + '" title="' + data_node.banner[i].alt + '" ';
				}
				str += 'height="70" width="100"></a>';
			}else{
				str += '<img src="' + './xml/' + data_node.banner[i].pic + '" ';
				if(!isEmpty(data_node.banner[i].alt)){
					str += 'alt="' + data_node.banner[i].alt + '" title="' + data_node.banner[i].alt + '" ';
				}
				str += 'height="70" width="100">';
			}
		}else{
			str += '<img src="./xml/pictures_info/no_right_rec.gif" width="100" height="70">';
		}
		
		// タイトル
		if(!isEmpty(data_node.banner[i].url)){
			str += '<h3><a href="' + data_node.banner[i].url + '">';
			str += cutLength(data_node.banner[i].title, title_length);
			str += '</a></h3>';
		}else{
			str += '<h3>' + cutLength(data_node.banner[i].title, title_length) + '</h3>';
		}
		
		// コメント
		if(!isEmpty(data_node.banner[i].body)){
			str += '<p>' + changeLineCode(cutLength(data_node.banner[i].body, body_length)) + '</p>';
		}
		str += '</div>';
	}
	return str;
}

// アナウンサー更新情報設定用関数
function setUpdateAnnouncer(data_node, disp_no, div_name, title_length, comment_length){
	var str = '';
	var data_length = data_node.item.length;

	// ヘッダ部
	str += '<a href="http://www.fbs.co.jp/cast/cast_top.html" target="_blank">';
	str += '<h2><span class="alt">アナウンサー</span></h2>';
	str += '</a>';
	str += '<ul>';
	
	// データが1件のみの場合
	if(isEmpty(data_length)){
		data_length  = 1;
		var out_data = new Array();
		out_data['item'] = new Array(data_node.item);
		str += setUpdateAnnouncerHTML(out_data, data_length, disp_no, title_length, comment_length);
	// データが2件以上の場合
	}else{
		if(data_length > disp_no){ data_length = disp_no };
		str += setUpdateAnnouncerHTML(data_node, data_length, disp_no, title_length, comment_length);
	}
	// フッタ部
	str += '</ul>';	

	// HTML書き込み(div id=div_name)
	var element = document.getElementById(div_name);
	if (element) { document.getElementById(div_name).innerHTML = str };
}

// アナウンサー更新情報HTML設定用関数
function setUpdateAnnouncerHTML(data_node, data_length, disp_no, title_length, comment_length){
	var i;
	var j;
	var str = '';

	for(i=0;i<=data_length;i++){
		str += '<li>';
		
		// アイコン画像＋タイトル
		if(!isEmpty(data_node.item[i].blog_url)){
			// 執筆者名取得
			var www_pass = 'http://www1.fbs.co.jp/ann/';
			var base_len = www_pass.length;
			var dir_len  = www_pass.match(/\//g).length;
			
			var url      = data_node.item[i].blog_url;
			var url_len  = url.length;
			
			var count_slash = 0;
			var slash_no = new Array();
			for(var j=0;j<url_len;j++){
				if(url.substring(j, j+1) == '/'){ slash_no[count_slash] = j, count_slash++ };
			}
			var name = url.substring(base_len, slash_no[dir_len]);
			name = name.replace('/','');
			
			if(name == 'umai'){ name = 'itoumai' };
			
			// アイコン画像
			if(!isEmpty(img_list[name])){
				str += '<img src="top/ana_icon/' + img_list[name] + '" ';
				str += 'alt="'+ alt_list[name] + '" title="'+ alt_list[name] + '" height="30" width="30">';
			}else{
				str += '<img src="top/ana_icon/no_img.gif" height="30" width="30">';
			}
			
			// ブログタイトル
			str += '<h3>';
			str += '<a href="' + data_node.item[i].blog_url + '">';
			str += '[' + data_node.item[i].yyyymmdd.substring(2,4) + '.' + data_node.item[i].yyyymmdd.substring(4,6) + '] ';
			str += cutLength(data_node.item[i].blog_title, title_length);
			str += '</a></h3>';
		}else{
			// アイコン画像
			str += '<img src="top/ana_icon/no_img.gif" height="30" width="30">';
			
			// ブログタイトル
			str += '<h3>';
			str += '[' + data_node.item[i].yyyymmdd.substring(2,4) + '.' + data_node.item[i].yyyymmdd.substring(4,6) + '] ';
			str += cutLength(data_node.item[i].blog_title, title_length);
			str += '</h3>';
		}
		
		// タイトル
		if(!isEmpty(data_node.item[i].title)){
			str += '<p>' + cutLength(data_node.item[i].title, comment_length); + '</p>';
		}
		str += '</li>';
		
		if(i==data_length-1){
			// 残りの件数分のスペースを埋める
			for (j=0; j<disp_no-data_length; j++){ str += '<li></li>' };
			break;
		}
	}
	return str;
}

// トップページアナウンサー下バナー＋フリーバナー設定用関数
function setFreeBanner(data_node, div_name, width, height){
	var i;
	var str = '';
	var data_length = data_node.banner.length;

	// HTML設定
	if(!isEmpty(data_length)){
		for(i=0;i<data_length;i++){
			str += setFreeBannerHTML(data_node.banner[i], div_name, width, height);
		}
	}else{
		str += setFreeBannerHTML(data_node.banner, div_name, width, height);
	}
	// HTML書き込み(div id=div_name)
	var element = document.getElementById(div_name);
	if (element) { document.getElementById(div_name).innerHTML = str };
}

// フリーバナー用HTML設定用関数
function setFreeBannerHTML(data_node, div_name, width, height){
	var str = '';

	// バナーが空でないか
	if(data_node.pic != 'xml/banner/'){
		if(!isEmpty(data_node.url)){
			str += '<span>';
			str += '<a href="' + data_node.url + '" ';
			if(div_name == 'freePR'){
				str += 'target="_blank">';
			}else{
				str += '>';
			}
			str += '<img src="' + data_node.pic + '" ';
			if(!isEmpty(data_node.alt)){
				str += 'alt="' + data_node.alt + '" title="' + data_node.alt + '" ';
			}
			str += 'width="' + width + '" height="' + height + '" border="0"/>';
			
			if(div_name == 'nogenre'){
				str += '</a>\n';
			}else{
				str += '</a>';
			}
			str += '</span>';
		}else{
			str += '<span>';
			str += '<img src="' + data_node.pic + '" ';
			if(!isEmpty(data_node.alt)){
				str += 'alt="' + data_node.alt + '" title="' + data_node.alt + '" ';
			}
			str += 'width="' + width + '" height="' + height + '" border="0"/>';
			if(div_name == 'nogenre'){
				str += '\n';
			}
			str += '</span>';
		}
	}
	return str;
}

//  動画再生ボタンHTML設定用関数（ニュースとスポーツで使用）
function writeMovieLinkHTML(data_node, id, low_img, high_img, genre){
	var str = '';

	str += '<div class="movie">';
	str += '<a href="javascript:;" onClick="MM_openBrWindow(\'';
	str += header_movie_html + data_node + footer_movie56k_html;
	str += '\',\'win56\',\'scrollbars=no,resizable=no,width=280,height=280\')">';
	str += '<img src="' + genre + '/' + low_img + '.gif" alt="56k" ';
	str += 'name="b56k' + id + '" id="b56k' + id + '" ';
	str += 'onmouseover="MM_swapImage(\'b56k' + id + '\',\'\',\'' + genre + '/' + low_img + '_over.gif\',1)" ';
	str += 'onmouseout="MM_swapImgRestore()" border="0" height="21" width="58">';
	str += '</a>';
	str += '<a href="javascript:;" onClick="MM_openBrWindow(\'';
	str += header_movie_html + data_node + footer_movie300k_html;
	str += '\',\'win300\',\'scrollbars=no,resizable=no,width=390,height=400\')">';
	str += '<img src="' + genre + '/' + high_img + '.gif" alt="300k" ';
	str += 'name="b300k' + id + '" id="b300k' + id + '" ';
	str += 'onmouseover="MM_swapImage(\'b300k' + id + '\',\'\',\'' + genre + '/' + high_img + '_over.gif\',1)" ';
	str += 'onmouseout="MM_swapImgRestore()" border="0" height="21" width="58">';
	str += '</a></div>';
	return str;
}

/* データ処理用共通関数 */
/**
 * 空判定
 */
function isEmpty(obj){ return (obj == null || obj == undefined || obj == '')? true: false; }

// 指定した文字数で文字をカットして最後に'...'を付ける関数
function cutLength(str, length){
	if(!isEmpty(str)){
		var str_length = str.length;
		if(str_length >= length){
			str = str.substring(0,length) + '...';
		}
	}
	return str;
}

// 改行コード(LF)→<br>変換用関数
function changeLineCode(str){
	var returnCode = '';
	
	// Firefoxのみ
	if(navigator.userAgent.indexOf("Firefox") != -1){
		//str = str.replace("<br><br>","<br>");
		returnCode = str.replace(/\n\n/g,"\n");
	}else{
		returnCode = str;
	}
	REbr = new RegExp(String.fromCharCode(10),"g");
	returnCode = returnCode.replace(REbr,"<br>");
	return returnCode;
}

/**
 *
 * 検索結果データを配列オブジェクトで取得
 *
 */
function getArray(data) {
  array = new Array() 
  // 0件
  if (isEmpty(data.itemList.item)) {
  // 1件
  } else if (isEmpty(data.itemList.item.length)) {
    array.push(data.itemList.item);
  // 2件以上
  } else {
    for (cnt=0; cnt<data.itemList.item.length; cnt++) {
      array.push(data.itemList.item[cnt]);
    }
  }
  return array;
}

/**
 * 現在日から引数に指定された前日数を取得
 *
 * (例) 現在日が20071017の場合
 *      getBeforeDate(0) ==> 20071017(現在日)
 *      getBeforeDate(7) ==> 20071010(７日前)
 */
function getBeforeDate(beforeDays) {
	//変数宣言
	var dtToday = new Date();
	var dtBeforeDate;
	var dtYear;
	var dtMonth;
	var dtDate;
	var fromDate;

	//年月日を取得
	dtYear  = dtToday.getYear();

	dtYear = (dtYear < 2000) ? dtYear + 1900 : dtYear;
	dtMonth = ("00"+(dtToday.getMonth() + 1));
	dtDate  = ("00"+dtToday.getDate());

	dtBeforeDate = new Date(dtYear, dtMonth-1, (dtDate-beforeDays));
	dtYear  = dtBeforeDate.getYear();
	dtYear = (dtYear < 2000) ? dtYear + 1900 : dtYear;
	dtMonth = ("00"+(dtBeforeDate.getMonth() + 1));
	dtDate  = ("00"+dtBeforeDate.getDate());

	fromDate = dtYear+""+dtMonth.slice(-2)+""+dtDate.slice(-2);
	return fromDate;
}

/**
 * システム日付取得 + フォーマット設定(yyyymmdd)用関数
 * 引数(no, point)
 * 1. no	: 対象日からn日
 * 2. point	:'before'：n日前、'after'：n日後、''：当日
 */
function getDateFormat(no, point){
	var today_date = '';
	var this_date  = new Date();
	
	if(point=='before'){
		this_date.setTime(this_date.getTime() - (24*60*60*1000)*no);
	}else if(point=='after'){
		this_date.setTime(this_date.getTime() + (24*60*60*1000)*no);
	}	
	var currentYear  = this_date.getYear();
	currentYear      = (currentYear < 2000) ? currentYear + 1900 : currentYear;
	var currentMonth = this_date.getMonth() + 1;
	var currentDay   = this_date.getDate();
	if(currentMonth<10){
		today_date = currentYear + '0' + currentMonth;
	}else{
		today_date = currentYear + currentMonth.toString();
	}
	if(currentDay<10){
		today_date += '0' + currentDay;
	}else{
		today_date += currentDay.toString();
	}	
	return today_date;
}
