// JavaScript template using Windows Script Host
var _forward_id = null;
var _back_id = null;
var _waiting_id = null;
var _check_id = null;
var scaleLink = new Array();

var scaleLinkName = "";
var bandInfos = null;
var tl = null;
var eventSource = null;
var theme = Timeline.ClassicTheme.create();
//defaultYear = 1889;
//var defaultTime = "Jul 01 1886 00:00:00 GMT";
var defaultTime = "Oct 01 1854 00:00:00 GMT";

function onLoad() {
	_hideNotice("5","3");
	// 「テーマ切り替え」のチェックボックスは、画面ロード時には、必ずチェックされている状態にする。
	// キャッシュが残るので、Javascriptでロード時にチェックする。
	_defaultCheckedBox();
	// 初期表示は週単位
	_getScaleLink();
	//_setScaleLink("h");
	_setScaleLink("y");
	//_change_moveTimeline_button("h");
	//_set_moveTimeline_button("h");
	_set_moveTimeline_button("y");

	theme.event.label.width = 150; // px
	theme.event.bubble.width = 580;
	theme.event.bubble.height = 350;

	//eventSource = new Timeline.DefaultEventSource(0);
	eventSource = new Timeline.DefaultEventSource();

	/*---------------------------------*/
	//	bandInfoパラメータ Memo
	//  intervalPixels メモリの幅
	//　trackHeight    トラックの高さ
	//　trackGap       不明
	/*---------------------------------*/
	bandInfos = [
		Timeline.createBandInfo({
			eventSource:    eventSource,
			date:           defaultTime,
			width:          "90%", 
			//intervalUnit:   Timeline.DateTime.WEEK,
			intervalUnit:   Timeline.DateTime.YEAR,
			theme:		theme,
			intervalPixels: 90,
			trackHeight:    1.2,
			trackGap:       0.5
		}), 
		Timeline.createBandInfo({
			eventSource:    eventSource,
			showEventText:  false,
			date:           defaultTime,
			width:          "10%", 
			intervalUnit:   Timeline.DateTime.YEAR, 
			theme:		theme,
			intervalPixels: 90,
                        trackHeight:    1.1,
                        trackGap:       0.2

		})
	];

	bandInfos[1].syncWith = 0;
	bandInfos[1].highlight = true;
	//bandInfos[1].eventPainter.setLayout(bandInfos[0].eventPainter.getLayout());

	//bandInfos[2].syncWith = 0;
	//bandInfos[2].highlight = true;
	//bandInfos[2].eventPainter.setLayout(bandInfos[0].eventPainter.getLayout());

	/*--- カレンダーラベルエラー発生箇所 ---*/
	tl = Timeline.create(_xGetElementById("my-timeline"), bandInfos);
/*
	Timeline.loadXML("kokunai.xml", function(xml, url){ eventSource.loadXML(xml, url); });
	Timeline.loadXML("omonajouyaku.xml", function(xml, url) { eventSource.loadXML(xml, url); });
	Timeline.loadXML("sekainougoki.xml", function(xml, url) { eventSource.loadXML(xml, url); });
*/
	
	tl.loadXML("omonajouyaku.xml", function(xml, url) { eventSource.loadXML(xml, url); });
	tl.loadXML("kokunai.xml", function(xml, url){ eventSource.loadXML(xml, url); });
	tl.loadXML("sekainougoki.xml", function(xml, url) { eventSource.loadXML(xml, url); });
	//tl.loadXML("test.xml", function(xml, url) { eventSource.loadXML(xml, url); });

}

var resizeTimerID = null;
function onResize() {
	
	if (resizeTimerID == null) {
		resizeTimerID = window.setTimeout(function() {
			resizeTimerID = null;
			tl.layout();
		}, 500);
	}
}

function ChangeScale(sc) {
	
	_xSetDate();
	
	var bi = null;
	if (sc == "day") {
		_setScaleLink("3date");
		_hideNotice('0','0');
		//_showMsg("day");
		//_change_moveTimeline_button("3date");
		_set_moveTimeline_button("3date");
		bi = Timeline.createBandInfo({
                        eventSource:    eventSource,
                        date:           defaultTime,
                        width:          "80%",
                        intervalUnit:   Timeline.DateTime.DAY,
                        theme:          theme,
                        intervalPixels: 70,
			trackHeight:    1.2,
			trackGap:       0.5
                });
	} else if (sc == "week") {
		_setScaleLink("h");
		_hideNotice('0','0');
		//_showMsg("week");
		//_change_moveTimeline_button("h");
		_set_moveTimeline_button("h");
		bi = Timeline.createBandInfo({
                        eventSource:    eventSource,
                        date:           defaultTime,
                        //width:          "80%",
                        width:          "90%",
                        intervalUnit:   Timeline.DateTime.WEEK,
                        theme:          theme,
                        intervalPixels: 70,
			trackHeight:    1.2,
			trackGap:       0.5
                });
	} else if (sc == "month") {
		_setScaleLink("1");
		_hideNotice('0','0');
		//_showMsg("month");
		//_change_moveTimeline_button("1");
		_set_moveTimeline_button("1");
		bi = Timeline.createBandInfo({
                        eventSource:    eventSource,
                        date:           defaultTime,
                        //width:          "80%",
                        width:          "90%",
                        intervalUnit:   Timeline.DateTime.MONTH,
                        theme:          theme,
                        intervalPixels: 70,
			trackHeight:    1.2,
			trackGap:       0.5
                });
	} else if (sc == "year") {
		_setScaleLink("y");
		//_showMsg("year");
		_showNotice("2");
		//_change_moveTimeline_button("1");
		_set_moveTimeline_button("y");
		bi = Timeline.createBandInfo({
                        eventSource:    eventSource,
                        date:           defaultTime,
                        //width:          "80%",
                        width:          "90%",
                        intervalUnit:   Timeline.DateTime.YEAR,
                        theme:          theme,
                        intervalPixels: 90,
                        trackHeight:    1.1,
                        trackGap:       0.2

                });

		_hideNotice("5","8");
	}
	bandInfos[0] = bi;
	tl = Timeline.create(_xGetElementById("my-timeline"), bandInfos);
	tl.layout();
	//bi = Timeline.create(_xGetElementById("my-timeline"), bandInfos);
	//bi.layout();
}

function ChangeTheme() {
	//_xGetElementById("waiting_load").style.display = "";
	//waiting_Start();
	_xSetDate();
	_setDisabled("on");
	_startChangeTheme();
	//_waiting_id = setInterval("_startChangeTheme()",10000);
	_setDisabled("off");
	//window.setTimeout(BODY.stopWaiting.bind(BODY),1000);
	//BODY.stopWaiting();
	//waiting_Stop();
	//_xGetElementById("waiting_load").style.display = "none";
}

// スケールが年のときは警告をする。
function _showMsg(type){
	if (type == "year"){
		//_xGetElementById("notice").innerHTML = "全データを表示できない場合があります。" + "<br/>" + "全データをご覧になりたい方は、表示スケールを「1週」「1月」に切り替えてください。"
		_xGetElementById("notice").style.display = "";
	} else {
		_xGetElementById("notice").style.display = "none";
	}
}

/*--- script.aculous option ---*/
// 開始時透明度 : from
// 終了時透明度 : to
// 開始までの秒数 : delay
// フレームレート : fps
// アニメーションする時間(秒) : duration
/*-----------------------------*/

function _showNotice(dur){
    new Effect.Appear("notice", { 
    		from:0.1,
			to:1.0,
			delay:0,
			fps:60,
			duration: dur
/*			beforeStartInternal: function(effect) { 
				alert("start");
			},
			afterFinishInternal: function(effect) {
				alert('end');
			} */
	    });
	    

}

function _hideNotice(dur,del) { 
	new Effect.Fade("notice", { 
		from:1.0,
		to:0.0,
		fps:60,
		delay:del,
		duration: dur
/*			beforeStartInternal: function(effect) { 
				alert("start");
			},
			afterFinishInternal: function(effect) {
				alert('end');
			} */
	});
	
} 

function _startChangeTheme() {
	// 一度クリアする
	eventSource.clear();
	tl = Timeline.create(_xGetElementById("my-timeline"), bandInfos);

	if (document.tform.Theme1.checked) {
		// 表示する
		Timeline.loadXML("omonajouyaku.xml", function(xml, url) { eventSource.loadXML(xml, url); });
		//tl.loadXML("omonajouyaku.xml", function(xml, url) { eventSource.loadXML(xml, url); });
		
	}
	if (document.tform.Theme2.checked) {
		// 表示する
		Timeline.loadXML("kokunai.xml", function(xml, url) { eventSource.loadXML(xml, url); });
		//tl.loadXML("kokunai.xml", function(xml, url) { eventSource.loadXML(xml, url); });
	}
    if (document.tform.Theme3.checked) {
            //alert("ojima1naka");
            // 表示する
            Timeline.loadXML("sekainougoki.xml", function(xml, url) { eventSource.loadXML(xml, url); });
            //tl.loadXML("sekainougoki.xml", function(xml, url) { eventSource.loadXML(xml, url); });
    }
    
    //tl.loadXML("test.xml", function(xml, url) { eventSource.loadXML(xml, url); });
    
	tl.layout();
	
	clearTimeout(_waiting_id);
	_waiting_id = null;
}

function moveTimeline(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_year = da.getFullYear();

	if (dir == 0) {
		// forward
		tl.getBand(0).setCenterVisibleDate(Timeline.DateTime.parseGregorianDateTime(cur_year + 10));
	} else {
		// back
		tl.getBand(0).setCenterVisibleDate(Timeline.DateTime.parseGregorianDateTime(cur_year - 10));
	}
	
	_xSetDate();
}

function _setDisabled(type) {
	
	if (type == "on") {
		document.tform.Theme1.disabled = "disabled";
		document.tform.Theme2.disabled = "disabled";
		document.tform.Theme3.disabled = "disabled";
	} else {
		document.tform.Theme1.removeAttribute("disabled");
		document.tform.Theme2.removeAttribute("disabled");
		document.tform.Theme3.removeAttribute("disabled");
	}
}

function waiting_Start(){
	//var body_ = _xGetElementById("my-timeline");
	//body_.startWaiting('bigWaiting2');
	//window.setTimeout(body_.stopWaiting.bind(body_),4000);
		
	var body_ = _xGetElementById("waiting_load");
	body_.innerHTML = "&#160;&#160;&#160;<img align=\"absmiddle\" src=\"protoload\/img\/waiting.gif\" border=\"0\"/>&#160;<b>Loading</b>";
}

function waiting_Stop(){
	//var body_ = _xGetElementById("my-timeline");
	//body_.stopWaiting();
	//window.setTimeout(body_.stopWaiting.bind(body_),4000);
	var body_ = _xGetElementById("waiting_load");
	body_.innerHTML = "";
}


// 年代検索
function SearchByDate(startYMD, endYMD) {
	
	document.MetSearch.IS_KEY_S1.value = "";

	if (startYMD != "") {
		document.MetSearch.IS_RNG_BGN_S32.value = _convDate(startYMD,"start");
	} else {
		document.MetSearch.IS_RNG_BGN_S32.value = "10101"
	}
	
	if (endYMD != "") {
		document.MetSearch.IS_RNG_END_S32.value = _convDate(endYMD,"end");
	} else {
		//document.MetSearch.IS_RNG_END_S32.value = _convDate(startYMD,"end");
		//document.MetSearch.IS_RNG_END_S32.value = "99991231";
		document.MetSearch.IS_RNG_END_S32.value = _convDate(startYMD,"start");
		//document.MetSearch.to_yearS32.value = "";
		//document.MetSearch.to_monthS32.value = "";
		//document.MetSearch.to_dayS32.value = "";
	}
	//document.MetSearch.submit();
	document.MetSearch.submit();
}

function _convDate(date,type){
	var convdate ;
	var tmp_month;
	var tmp_day;
	split_date = date.split("/");
	
		
	if(type == "start"){
		// 月変換
		if (split_date[1] == null || split_date[1] == "" ) {
			tmp_month = "01";
		} else {
			if (split_date[1].length == "1") {
				tmp_month = "0" + split_date[1];
			} else {
				tmp_month = split_date[1];
			}
		}
		
		// 日変換
		if (split_date[2] == null  || split_date[2] == "") {
			tmp_day = "01";
		} else {
			if (split_date[2].length == "1") {
				tmp_day = "0" + split_date[2];
			} else {
				tmp_day = split_date[2];
			}
		}/*
		alert(split_date[0]);
		alert(tmp_month);
		alert(tmp_day);
		*/
		document.MetSearch.from_yearS32.value = split_date[0];
		document.MetSearch.from_monthS32.value = tmp_month;
		document.MetSearch.from_dayS32.value = tmp_day;
		
	} else {
		// 月変換
		if (split_date[1] == null  || split_date[1] == "") {
			tmp_month = "12";
		} else {
			if (split_date[1].length == "1") {
				tmp_month = "0" + split_date[1];
			} else {
				tmp_month = split_date[1];
			}
		}
		
		// 日変換
		if (split_date[2] == null || split_date[2] == "") {
			if (tmp_month == "02") {
				tmp_day = "28";
			} else if (tmp_month == "01" && tmp_month == "03" && tmp_month == "05" && tmp_month == "07" && tmp_month == "08" && tmp_month == "10" && tmp_month == "12") {
				tmp_day = "31";
			} else {
				tmp_day = "30";
			}
		} else {
			if (split_date[2].length == "1") {
				tmp_day = "0" + split_date[2];
			} else {
				tmp_day = split_date[2];
			}
		}
		
		document.MetSearch.to_yearS32.value = split_date[0];
		document.MetSearch.to_monthS32.value = tmp_month;
		document.MetSearch.to_dayS32.value = tmp_day;
	}
	
	convdate = split_date[0] + tmp_month + tmp_day;

	return convdate;
}

// DjVu画像表示
function openGazoWindow(id) {
        set ="http://www.jacar.go.jp/DAS/meta/listPhoto?IS_STYLE=default&REFCODE=" + id ;
        w = window.open(set, "ImageWindow", "width=850,height=700,menubar=no,resizable=yes,scrollbars=yes,status=yes");
        w.focus();
}

// キーワード検索
function meta_sch(key) {
	document.MetSearch_Simple.IS_KEY_S1.value = key;
	document.MetSearch_Simple.IS_TAG_S1.value = "InfoD";
	document.MetSearch_Simple.submit();
}

// 表示している時間を保存する。
function _xSetDate() {
	var cur = tl.getBand(0).getCenterVisibleDate();
	defaultTime = new Date(cur);
}

// 1年単位でスライド
function moveTimeline_1year(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_year  = da.getFullYear();	// 年

	if (dir == 0) {
		// forward
		var forward;
		cur_year = cur_year + 1;
		forward = conv_month(da.getMonth()) + " " + da.getDate() + " " + cur_year;
		_moveTimeline(forward);
	} else {
		// back
		var back;
		cur_year = cur_year - 1;
		back = conv_month(da.getMonth()) + " " + da.getDate() + " " + cur_year;
		_moveTimeline(back);
	}
}

function wareki_sch(key) {
	var nengou = _xconv(key);

	document.MetSearch_Simple.IS_KEY_S1.value = nengou;
	document.MetSearch_Simple.IS_TAG_S1.value = "_contents";
	document.MetSearch_Simple.submit();

}


// 1月単位でスライド
function moveTimeline_1month(dir) {
	/*  月を変更する。※12月から1月への移動は年を変更する必要あり。
		日  	1～31
		月 		0(1月)～11(12月)
	*/
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_day   = da.getDay();		// 曜日
	cur_date  = da.getDate();		// 日
	cur_month = da.getMonth();  	// 月
	cur_year  = da.getFullYear();	// 年
	//alert(da);
	
	if (dir == 0) {
		// forward
		var forward;
		cur_month = cur_month + 1;
		if (cur_month != "12") {
			forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		} else {
			cur_year = cur_year + 1;
			forward = conv_month("0") + " " + cur_date + " " + cur_year;
		}
		_moveTimeline(forward);
	} else {
		var back;
		// back
		cur_month = cur_month - 1;
		if (cur_month != "-1") {
			back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		} else {
			cur_year = cur_year - 1;
			back = conv_month("11") + " " + cur_date + " " + cur_year;
		}
		_moveTimeline(back);
	}
	
}

// 半月単位でスライド
function moveTimeline_hmonth(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_date  = da.getDate();		// 日
	cur_month = da.getMonth();  	// 月
	cur_year  = da.getFullYear();	// 年


	if (dir == 0) {
		//alert(da);
		// forward
		var forward;
		// 月前半
		if (da.getDate() < 15) {
				// ずれを考慮
				cur_date = 17;
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
				//alert(forward);
		// 月後半
		} else {
			// ずれを考慮
			cur_month = cur_month + 1;
			cur_date = 3;
			if (cur_month != "12") {
				//alert("cur_date::" + cur_date);
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year + 1;
				forward = conv_month("0") + " " + cur_date + " " + cur_year;
			}
		}
		_moveTimeline(forward);
	} else {
		var back;
		// back
		// 月後半
		if (da.getDate() > 15) {
				cur_date = 3;
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		// 月前半
		} else {
			cur_month = cur_month - 1;
			cur_date = 26;
			if (cur_month != "-1") {
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year - 1;
				back = conv_month("11") + " " + cur_date + " " + cur_year;
			}
		}
		_moveTimeline(back);
	}
	
}

// 1/3月単位でスライド
function moveTimeline_1_3month(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_date  = da.getDate();		// 日
	cur_month = da.getMonth();  	// 月
	cur_year  = da.getFullYear();	// 年


	if (dir == 0) {
		//alert(da);
		// forward
		var forward;
		// 1-9日
		if (da.getDate() < 10) {
				// ずれを考慮
				cur_date = 13;
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
				//alert(forward);
		// 10-19日
		} else if ( 9 < da.getDate() && da.getDate() < 20) {
				// ずれを考慮
				cur_date = 23;
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		// 20-日
		} else {
			// ずれを考慮
			cur_month = cur_month + 1;
			cur_date = 3;
			if (cur_month != "12") {
				//alert("cur_date::" + cur_date);
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year + 1;
				forward = conv_month("0") + " " + cur_date + " " + cur_year;
			}
		}
		_moveTimeline(forward);
	} else {
		var back;
		// back
		// 20-日
		if ( 20 < da.getDate() ) {
				cur_date = 17;
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		// 10-19日
		} else if ( 10 < da.getDate() && da.getDate() < 21) {
				cur_date = 7;
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		// 1-9日
		} else {
			cur_month = cur_month - 1;
			cur_date = 26;
			if (cur_month != "-1") {
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year - 1;
				back = conv_month("11") + " " + cur_date + " " + cur_year;
			}
		}
		_moveTimeline(back);
	}
	
}
// 1日単位でスライド
/*
function moveTimeline_1day(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_day   = da.getDay();		// 曜日
	cur_date  = da.getDate();		// 日
	cur_month = da.getMonth();  	// 月
	cur_year  = da.getFullYear();	// 年

	if (dir == 0) {
		// forward
	} else {
		// back
	}
}
*/
// timemove
function _moveTimeline(change){
	tl.getBand(0).setCenterVisibleDate(Timeline.DateTime.parseGregorianDateTime(change));
}

// 月変換関数
function conv_month(month_num){
	if (month_num == "0") return "Jan";
	if (month_num == "1") return "Feb";
	if (month_num == "2") return "Mar";
	if (month_num == "3") return "Apr";
	if (month_num == "4") return "May";
	if (month_num == "5") return "Jun";
	if (month_num == "6") return "Jul";
	if (month_num == "7") return "Aug";
	if (month_num == "8") return "Sep";
	if (month_num == "9") return "Oct";
	if (month_num == "10") return "Nov";
	if (month_num == "11") return "Dec";
}

/*-- １ヶ月スケール時のスライドバー関数 --*/
function start_forward_1month() {
	if (_forward_id == null) _forward_id = setInterval("moveTimeline_1month(0)",150);
}

function stop_forward_1month() {
	clearInterval(_forward_id);
	_forward_id = null;
}
function stop_forward_1month_out() {
	clearInterval(_forward_id);
	_forward_id = null;
	btMouseOut("forward");
}

function start_back_1month() {
	if (_back_id == null) _back_id = setInterval("moveTimeline_1month(1)",150);
}

function stop_back_1month() {
	clearInterval(_back_id);
	_back_id = null;
}

function stop_back_1month_out() {
	clearInterval(_back_id);
	_back_id = null;
	btMouseOut("back");
}
/*-- 1週間スケール時のスライドバー関数 --*/
function start_forward_hmonth() {
	if (_forward_id == null) _forward_id = setInterval("moveTimeline_hmonth(0)",150);
}

function stop_forward_hmonth() {
	clearInterval(_forward_id);
	_forward_id = null;
}
function stop_forward_hmonth_out() {
	clearInterval(_forward_id);
	_forward_id = null;
	btMouseOut("forward");
}
function start_back_hmonth() {
	if (_back_id == null) _back_id = setInterval("moveTimeline_hmonth(1)",150);
}

function stop_back_hmonth() {
	clearInterval(_back_id);
	_back_id = null;
}
function stop_back_hmonth_out() {
	clearInterval(_back_id);
	_back_id = null;
	btMouseOut("back");
}

/*-- 1日スケール時のスライドバー --*/
function start_forward_3date() {
	if (_forward_id == null) _forward_id = setInterval("moveTimeline_3date(0)",150);
}

function stop_forward_3date() {
	clearInterval(_forward_id);
	_forward_id = null;
}
function stop_forward_3date_out() {
	clearInterval(_forward_id);
	_forward_id = null;
	btMouseOut("forward");
}
function start_back_3date() {
	if (_back_id == null) _back_id = setInterval("moveTimeline_3date(1)",150);
}

function stop_back_3date() {
	clearInterval(_back_id);
	_back_id = null;
}
function stop_back_3date_out() {
	clearInterval(_back_id);
	_back_id = null;
	btMouseOut("back");
}
/*-- 年スケール時のスライドバー --*/
function start_forward_1year() {
	// 重複動作防止制御追加
	if (_forward_id == null) _forward_id = setInterval("moveTimeline_1year(0)",150);
}

function stop_forward_1year() {
	clearInterval(_forward_id);
	_forward_id = null;
}
function stop_forward_1year_out() {
	clearInterval(_forward_id);
	_forward_id = null;
	btMouseOut("forward");
}
function start_back_1year() {
	_back_id = setInterval("moveTimeline_1year(1)",150);
}

function stop_back_1year() {
	clearInterval(_back_id);
	_back_id = null;
}
function stop_back_1year_out() {
	clearInterval(_back_id);
	_back_id = null;
	btMouseOut("back");
}

// １週間単位でスライド(簡略版)
function moveTimeline_3date(dir) {
	var cur = tl.getBand(0).getCenterVisibleDate();
	da = new Date(cur);
	cur_date  = da.getDate();		// 日
	cur_month = da.getMonth();  	// 月
	cur_year  = da.getFullYear();	// 年



	if (dir == 0) {
		//alert(da);
		// forward
		var forward;
		// 1-25日
		if (da.getDate() <= 25) {
				// ずれを考慮
				cur_date = cur_date + 3;
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
				//alert(forward);
		// 26-日
		} else {
			cur_month = cur_month + 1;
			
			if (da.getDate() == "26" || da.getDate() == "27") cur_date = 1;
			if (da.getDate() == "28" || da.getDate() == "29") { 
				cur_date = 2;
			} else	{
				cur_date = 3;
			}
			
			if (cur_month != "12") {
				//alert("cur_date::" + cur_date);
				forward = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year + 1;
				forward = conv_month("0") + " " + cur_date + " " + cur_year;
			}
		}
		_moveTimeline(forward);
	} else {
		//alert(da);
		var back;
		// back
		// 20-日
		if ( 4 < da.getDate() ) {
				cur_date = cur_date - 3;
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
		// 1-7日
		} else {
			cur_month = cur_month - 1;

			if (da.getDate() == "4") cur_date = 27;
			if (da.getDate() == "3" || da.getDate() == "2") {
				cur_date = 27;
			} else	{
				cur_date = 26;
			}

			if (cur_month != "-1") {
				back = conv_month(cur_month) + " " + cur_date + " " + cur_year;
			} else {
				cur_year = cur_year - 1;
				back = conv_month("11") + " " + cur_date + " " + cur_year;
			}
		}
		
		//alert(back);
		
		_moveTimeline(back);
	}
	
}


function _set_moveTimeline_button(type) {
    // IEを判別
    var _isIE = (document.documentElement.getAttribute("style")==document.documentElement.style);


	if (type == "1") {
		if (_isIE) {
			var back = "start_back_1month()";
			var back_stop = "stop_back_1month()";
			var back_stop_out = "stop_back_1month_out()";
			var forward = "start_forward_1month()";
			var forward_stop = "stop_forward_1month()";
			var forward_stop_out = "stop_forward_1month_out()";
		} else {
			var back = "javascript:start_back_1month()";
			var back_stop = "javascript:stop_back_1month()";
			var back_stop_out = "javascript:stop_back_1month_out()";
			var forward = "javascript:start_forward_1month()";
			var forward_stop = "javascript:stop_forward_1month()";
			var forward_stop_out = "javascript:stop_forward_1month_out()";
		}

	} else if (type == "h") {
		if (_isIE) {
			var back = "start_back_hmonth()";
			var back_stop = "stop_back_hmonth()";
			var back_stop_out = "stop_back_hmonth_out()";
			var forward = "start_forward_hmonth()";
			var forward_stop = "stop_forward_hmonth()";
			var forward_stop_out = "stop_forward_hmonth_out()";
		} else {
			var back = "javascript:start_back_hmonth()";
			var back_stop = "javascript:stop_back_hmonth()";
			var back_stop_out = "javascript:stop_back_hmonth_out()";
			var forward = "javascript:start_forward_hmonth()";
			var forward_stop = "javascript:stop_forward_hmonth()";
			var forward_stop_out = "javascript:stop_forward_hmonth_out()";
		}
	} else if (type == "y") {
		if (_isIE) {
			var back = "start_back_1year()";
			var back_stop = "stop_back_1year()";
			var back_stop_out = "stop_back_1year_out()";
			var forward = "start_forward_1year()";
			var forward_stop = "stop_forward_1year()";
			var forward_stop_out = "stop_forward_1year_out()";
		} else {
			var back = "javascript:start_back_1year()";
			var back_stop = "javascript:stop_back_1year()";
			var back_stop_out = "javascript:stop_back_1year_out()";
			var forward = "javascript:start_forward_1year()";
			var forward_stop = "javascript:stop_forward_1year()";
			var forward_stop_out = "javascript:stop_forward_1year_out()";
		}
	} else {
		if (_isIE) {
			var back = "start_back_3date()";
			var back_stop = "stop_back_3date()";
			var back_stop_out = "stop_back_3date_out()";
			var forward = "start_forward_3date()";
			var forward_stop = "stop_forward_3date()";
			var forward_stop_out = "stop_forward_3date_out()";
		} else {
			var back = "javascript:start_back_3date()";
			var back_stop = "javascript:stop_back_3date()";
			var back_stop_out = "javascript:stop_back_3date_out()";
			var forward = "javascript:start_forward_3date()";
			var forward_stop = "javascript:stop_forward_3date()";
			var forward_stop_out = "javascript:stop_forward_3date_out()";
		}
	}
	
	
	/*
	// 年表送りボタン（戻る）
	var query_back = document.createElement("input");
	query_back.type = "button";
	query_back.value = ">";

	// 年表送りボタン（戻る） 
	var query_forward = document.createElement("input");
	query_forward.type = "button";
	query_forward.value = ">";
	
	var BACK = document.getElementById("back_box");
	var FORWARD = document.getElementById("forward_box");
	
	BACK.innerHTML ="";
	BACK.appendChild(query_back);
	
	FORWARD.innerHTML = "";
	FORWARD.appendChild(query_forward);
	*/
	// 年表送りボタン（戻る

	//var BACK = document.tform.back_button;
	//var FORWARD = document.tform.forward_button;

	var BACK = _xGetElementById("back_box");
	var FORWARD = _xGetElementById("forward_box");
	
	if(_isIE){
		if (BACK) {
			BACK.setAttribute( "onmousedown", new Function( back )  );
			BACK.setAttribute( "onmouseup", new Function( back_stop )  );
			BACK.setAttribute( "onmouseout", new Function( back_stop_out )  );
			//BACK.setAttribute( "onmousemove", new Function( back_stop )  );
		}
		
		if (FORWARD) {
			FORWARD.setAttribute( "onmousedown", new Function( forward )  );
			FORWARD.setAttribute( "onmouseup", new Function( forward_stop )  );
			FORWARD.setAttribute( "onmouseout", new Function( forward_stop_out )  );
			//FORWARD.setAttribute( "onmousemove", new Function( forward_stop )  );
		}
	} else {
		if(BACK) {
			BACK.setAttribute( "onmousedown",  back );
			BACK.setAttribute( "onmouseup",  back_stop );
			BACK.setAttribute( "onmouseout",  back_stop_out );
			//BACK.setAttribute( "onmousemove",  back_stop );
		}
		if (FORWARD) {
			FORWARD.setAttribute( "onmousedown",  forward );
			FORWARD.setAttribute( "onmouseup",  forward_stop );
			FORWARD.setAttribute( "onmouseout",  forward_stop_out );
			//FORWARD.setAttribute( "onmousemove",  forward_stop );
			
		}
	}
}

function btMouseOver(type) {
	var type_id = type + "_box";
	var bt_img = "img/slide_" + type + "_on.gif";
	var bt = _xGetElementById(type_id);
	_xRemoveAttribute(bt,"src");
	_xSetAttribute(bt,"src",bt_img) ;
}

function btMouseOut(type) {
	var type_id = type + "_box";
	var bt_img = "img/slide_" + type + "_blue.gif";
	var bt = _xGetElementById(type_id);
	_xRemoveAttribute(bt,"src");
	_xSetAttribute(bt,"src",bt_img) ;
}

function _change_moveTimeline_button(type) {
	
	if (type == "1") {
		_xDisplay( "control_1month" , "block");
		_xDisplay( "control_hmonth" , "none");
		_xDisplay( "control_3date" , "none");
	} else if (type == "h") {
		_xDisplay( "control_1month" , "none");
		_xDisplay( "control_hmonth" , "block");
		_xDisplay( "control_3date" , "none");
	} else {
		_xDisplay( "control_1month" , "none");
		_xDisplay( "control_hmonth" , "none");
		_xDisplay( "control_3date" , "block");
	}
	
}

function _getScaleLink(){
	scaleLink[0] = _xGetElementById("month_link").getAttribute('href');
	scaleLink[1] = _xGetElementById("week_link").getAttribute('href');
	//scaleLink[2] = _xGetElementById("day_link").getAttribute('href');
	scaleLink[2] = _xGetElementById("year_link").getAttribute('href');
}

function _removeScaleLink(){
	_xRemoveAttribute("month_link","href");
	_xRemoveAttribute("week_link","href");
	//_xRemoveAttribute("day_link","href");
	_xRemoveAttribute("year_link","href");
}

function _setScaleLink(type) {
	_removeScaleLink();
	
	// 1ヶ月
	if (type == "1") {
		_xSetClass("month_link","BOLD");
		
		_xSetAttribute("week_link","href",scaleLink[1]);
		_xSetClass("week_link","NORMAL");
		//_xSetAttribute("day_link","href",scaleLink[2]);
		//_xSetClass("day_link","NORMAL");
		_xSetAttribute("year_link","href",scaleLink[2]);
		_xSetClass("year_link","NORMAL");
	
	// 1週間
	} else if (type == "h") {
		
		_xSetClass("week_link","BOLD");
		
		_xSetAttribute("month_link","href",scaleLink[0]);
		_xSetClass("month_link","NORMAL");
		//_xSetAttribute("day_link","href",scaleLink[2]);
		//_xSetClass("day_link","NORMAL");
		_xSetAttribute("year_link","href",scaleLink[2]);
		_xSetClass("year_link","NORMAL");
		
	// 1年
	} else if (type == "y") {
		_xSetClass("year_link","BOLD");
		
		_xSetAttribute("month_link","href",scaleLink[0]);
		_xSetClass("month_link","NORMAL");
		_xSetAttribute("week_link","href",scaleLink[1]);
		_xSetClass("week_link","NORMAL");
	} else {
		//_xSetClass("day_link","BOLD");
		
		_xSetAttribute("month_link","href",scaleLink[0]);
		_xSetClass("month_link","NORMAL");
		_xSetAttribute("week_link","href",scaleLink[1]);
		_xSetClass("week_link","NORMAL");
		
	}

}

function _defaultCheckedBox(){
	document.tform.Theme3.checked = true;
	document.tform.Theme2.checked = true;
	document.tform.Theme1.checked = true;
}



/* 全角数字を半角数字に置換する（，を含む） */
function z2h_digit(src) {
  return src.replace(/([０-９，])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) - 65248);
    });
}

/* 半角英字を全角英字に置換する */
function h2z_alpha(src) {
  return src.replace(/([A-Za-z])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) + 65248);
    });
}


function toKanji(arb, issen) {
  var suuji = "〇一二三四五六七八九";
  var keta = "〇一十百千万十百千億十百千兆十百千";
  var knj = "";
  var flag = false;
  var i, kt1, kt2, num;

  arb = z2h_digit(arb);
  arb = arb.replace(/,/g, "");

  if (arb.length < keta.length) {
    for (i = 0; i < arb.length; i++) {
      num = parseInt(arb.charAt(i));
      kt1 = arb.length - i;
      kt2 = kt1 % 4;
      if (num > 0 && (num > 1 || kt2 == 1 ||
                      (issen && kt2 == 0))) {
        knj += suuji.charAt(num);
        flag = true;
      }
      if (kt1 > 1 && (num > 0 || kt2 == 1)) {
        if (flag || num == 1) {
          knj += keta.charAt(kt1);
          flag = true;
        }
      }
      if (kt2 == 1) flag = false;
    }
  } else {
    window.alert("表現出来ない桁数です。:" + arb);
    knj = arb;
  }

  if (knj.length == 0) knj = "零";

  return knj;
}

function _xconv(wareki) {
  var wareki_ = wareki;
  var issen = document.tform.C1.checked;
  var reg = new RegExp(document.tform.T1.value, "g");
  var dest = wareki_.replace(reg,
    function ($0) { return toKanji($0, issen); });

	if (document.tform.C2.checked){
		return h2z_alpha(dest);
	} else {
		return dest;
	}
}

