////////////////////////////////////////////////////////////
//「カレンダーの横一列表示化」			<UTF-8>
//
//【オリジナル】
//	(C) ads 2006
//	URL: http://adstv-web.cocolog-nifty.com/studio/
//	配布:http://adstv-web.cocolog-nifty.com/studio/2006/06/post_cddd.html
//
//	説明：カレンダーをバナー下部に一列表示（当月分）。
//		  通常のカレンダーから情報を得るので、その設置は必須です。
//		  改造は自由です。連絡いただけるとうれしいです！
//
//	V0.9  テスト版（需要があったので公開・でもまだテスト段階）
//	V0.95 オプション追加
//==========================================================
//【改造版】
//	風柳
//	URL: http://furyu.tea-nifty.com/annex/
//	記事:http://furyu.tea-nifty.com/annex/2006/08/post_207c.html
//	
//	V0.95p1
//	- カレンダースクリプト(↓下記参照)に対応
//	  記事：http://furyu.tea-nifty.com/annex/2006/07/post_e83a.html
//	- id="banner-body-bottom" のdiv要素が無いページに対応
//	  ※ id="banner" の div要素中に追加
//	- 通常カレンダー消去オプション(bDeleteCal)が有効のとき、innerHTMLの
//	  クリアではなく、display属性をnoneにするように変更
//
//	V0.95p2
//	- id="banner-body-bottom" のdiv要素を追加する位置を指定するオプション追加

//変数----------------------------------------------------//
//通常のカレンダーを消去（0：無し／1：有り）
var bDeleteCal = 0;

//id="banner-body-bottom" のdiv要素を追加する位置指定
var	bAddInBanner = true ;	//	true:バナー内   false:バナー直後

//【設定禁止】カレンダーデータ
var caldata = '';
//--------------------------------------------------------//

//処理----------------------------------------------------//
//関数：カレンダーの横一列表示化処理----------------------//
//使用例：　LineCalendar();
function LineCalendar() {
	//カレンダーオブジェクトを取得。
	var oDefCal = document.getElementById("calendar");
	if (oDefCal == null) return;

	//年月を取得。
	var calcapt = oDefCal.getElementsByTagName("caption");
	if (calcapt.length == 0) return;

// _/_/_/ Modified by furyu : START
/* --- original
//	caldata += (calcapt[0].innerHTML.bold() + ' ');
*/
/* --- modified */
	var	ths = calcapt[0].getElementsByTagName('th');
	caldata = '' ;
	if ( 0 < ths.length ) {
		for ( var ci=0; ci < ths.length; ci++ ) {
			caldata += ('<span class="' + ths[ci].className + '">' + ths[ci].innerHTML.bold() + '</span> ');
		}
	}
	else {
		caldata += (calcapt[0].innerHTML.bold() + ' ');
	}
// _/_/_/ Modified by furyu : END

	//カレンダーのデータを全検索。
	var calday = oDefCal.getElementsByTagName("td");
	for (var i = 0; i < calday.length; ++i) {
		//日付情報を取得（空白以外）。
		if (calday[i].innerHTML != '&nbsp;') {
			caldata += (calday[i].innerHTML + ' ');
		}
	}

	//バナー直下を全検索。
// _/_/_/ Modified by furyu : START
/* --- original
//	var caldisp = document.getElementById("banner-body-bottom");
//	if (caldisp == null) return;
//	caldisp.innerHTML = ('<span id="Line-Calendar">' + caldata + '</span>');
//
//	//通常のカレンダーを消去（設定ありの場合）。
//	if (bDeleteCal == 1)  oDefCal.innerHTML = '';
*/
/* --- modified */
	for (;;) {
		var	lc_obj = document.getElementById( 'Line-Calendar' ) ;
		if ( lc_obj ) {
			lc_obj.innerHTML = caldata ;
			break ;
		}
		var caldisp = document.getElementById("banner-body-bottom");
		if (caldisp == null) {
			var	bannerObj = document.getElementById('banner');
			if (bannerObj == null) return;
			var caldisp = document.createElement('div');
			caldisp.className = "banner-body-bottom";
			if ( bAddInBanner ) {
				bannerObj.appendChild(caldisp);
			}
			else {
				bannerObj.parentNode.insertBefore(caldisp, bannerObj.nextSibling);
			}
		}
		caldisp.innerHTML = ('<span id="Line-Calendar">' + caldata + '</span>');
		break ;
	}
	//通常のカレンダーを消去（設定ありの場合）。
	if (bDeleteCal) oDefCal.style.display = 'none' ;
// _/_/_/ Modified by furyu : END
}
//--------------------------------------------------------//


////////////////////////////////////////////////////////////
