//===================================================================================
//  システム名：イベントナビ
//  概要      ：Yahoo! User Interface Calendar
//  ファイル名：yuical.js
//  作成日    ：
//  作成者    ：
//  更新履歴  ：
//===================================================================================

var cal = {};
var months_long_val    = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
var weekdays_short_val = ["<span style='color:red; font-weight:bold;'>日</span>", "月", "火", "水", "木", "金", "<span style='color:blue; font-weight:bold;'>土</span>"];

var config = {
	  MONTHS_LONG             : months_long_val		// 月の表示形式
	, WEEKDAYS_SHORT          : weekdays_short_val	// 曜日の表示形式
	, MY_YEAR_POSITION        : 1					// MY形式 年の表示順
	, MY_MONTH_POSITION       : 2					// MY形式 月の表示順
	, MDY_YEAR_POSITION       : 1					// MDY形式 年の表示順
	, MDY_MONTH_POSITION      : 2					// MDY形式 月の表示順
	, MDY_DAY_POSITION        : 3					// MDY形式 日の表示順
	, MY_LABEL_YEAR_POSITION  : 1					// ラベル 年の表示順
	, MY_LABEL_MONTH_POSITION : 2					// ラベル 月の表示順
	, MY_LABEL_YEAR_SUFFIX    : "年 "				// ラベル 年の接尾辞
	, MY_LABEL_MONTH_SUFFIX   : ""					// ラベル 月の接尾辞
};

//***************************************************************
//*     カレンダーの初期設定
//***************************************************************
function InitCalendar(pName, pSelected, pMinDate) {
	// カレンダーオブジェクトを生成する
	cal.pName = new YAHOO.widget.Calendar("obj_" + pName, "cal_" + pName, config);
	cal.pName.cfg.setProperty("PAGEDATE", pSelected);
	cal.pName.cfg.setProperty("SELECTED", pSelected);
	cal.pName.cfg.setProperty("MINDATE",  pMinDate);
	// カレンダーを描画する
	cal.pName.render();

	// イベント登録
	var selectHandler = function(type, args, obj) {
		var dates = args[0];
		var date  = dates[0];
		var year  = date[0];
		var month = (parseInt(date[1]) > 9) ? date[1] : "0" + date[1];
		var day   = (parseInt(date[2]) > 9) ? date[2] : "0" + date[2];

		var element   = document.getElementsByName(pName).item(0);
		element.value = year + "/" + month + "/" + day;
	}
	cal.pName.selectEvent.subscribe(selectHandler, cal.pName, true);
}

//***************************************************************
//*     カレンダーの新規作成
//***************************************************************
function CreateCalendar(pName, pSelected, pMinDate) {
	if (window.addEventListener) {
		// for W3C DOM
		window.addEventListener('load', function() {
			InitCalendar(pName, pSelected, pMinDate);
		}, false);
	} else if(window.attachEvent) {
		// for IE
		window.attachEvent('onload', function() {
			InitCalendar(pName, pSelected, pMinDate);
		});
	} else {
		window['onload'] = function() {
			InitCalendar(pName, pSelected, pMinDate);
		};
	}
}

//***************************************************************
//*     選択した日付を取得する
//***************************************************************
function getSelectDate(pName) {
	if (!cal.pName) return "";

	var date  = cal.pName.getSelectedDates()[0];
	if (!date) return "";

	var year  = date.getFullYear();
	var month = date.getMonth() + 1;
	var day   = date.getDate();
	return year + "/" + month + "/" + day;
}

