YAHOO.namespace("calendar");

YAHOO.calendar.init = function() {

	// 開始日カレンダーに初期日付を挿入
	function defaultDate(){
//		var today = new Date();
//		var year  = today.getFullYear();
//		var month = today.getMonth()+1;
//		var day   = today.getDate();
//
//		// テキストボックスへ挿入
//		var txtStartYear  = document.getElementById("startYear");
//		txtStartYear.value = year;
//		var txtStartMonth = document.getElementById("startMonth");
//		txtStartMonth.value = month;
//		var txtStartDay   = document.getElementById("startDay");
//		txtStartDay.value = day;
	}


	// カレンダーを選択した際にテキストボックスに値をコピー　※開始日用
	function handleSelect(type,args,obj) {
		var dates = args[0]; 
		var date  = dates[0];
		var year  = date[0], month = date[1], day = date[2];

		// テキストボックスへ挿入
		var txtStartYear  = document.getElementById("startYear");
		txtStartYear.value = year;
		var txtStartMonth = document.getElementById("startMonth");
		txtStartMonth.value = month;
		var txtStartDay   = document.getElementById("startDay");
		txtStartDay.value = day;

		// カレンダーを非表示にする
		document.getElementById("startDateContainer").style.display = "none";
	}


	// カレンダーを選択した際にテキストボックスに値をコピー　※終了日用
	function handleSelect2(type,args,obj) {
		var dates = args[0]; 
		var date  = dates[0];
		var year  = date[0], month = date[1], day = date[2];

		// テキストボックスへ挿入
		var txtEndYear  = document.getElementById("endYear");
		txtEndYear.value = year;
		var txtEndMonth = document.getElementById("endMonth");
		txtEndMonth.value = month;
		var txtEndDay   = document.getElementById("endDay");
		txtEndDay.value = day;

		// カレンダーを非表示にする
		document.getElementById("endDateContainer").style.display = "none";
	}


	// カレンダーを表示させる
	function showStartDateCalendar(){
		document.getElementById("startDateContainer").style.display = "block";
	}
	function showEndDateCalendar(){
		document.getElementById("endDateContainer").style.display = "block";
	}

	YAHOO.calendar.startDate = new YAHOO.widget.CalendarGroup("startDate","startDateContainer", {	PAGES:2,
																									START_WEEKDAY:1,
																									title:"希望の日付をクリックしてください",
																									close:true});

	YAHOO.calendar.endDate = new YAHOO.widget.CalendarGroup("endDate","endDateContainer", {	PAGES:2,
																							START_WEEKDAY:1,
																							title:"希望の日付をクリックしてください",
																							close:true});

	// カレンダーを日本語対応へカスタマイズ
	// Correct formats for Japan: yyyy/mm/dd, mm/dd, yyyy/mm
	YAHOO.calendar.startDate.cfg.setProperty("MDY_YEAR_POSITION", 1);
	YAHOO.calendar.startDate.cfg.setProperty("MDY_MONTH_POSITION", 2);
	YAHOO.calendar.startDate.cfg.setProperty("MDY_DAY_POSITION", 3);
	YAHOO.calendar.startDate.cfg.setProperty("MY_YEAR_POSITION", 1);
	YAHOO.calendar.startDate.cfg.setProperty("MY_MONTH_POSITION", 2);

	// Date labels for Japanese locale
	YAHOO.calendar.startDate.cfg.setProperty("MONTHS_SHORT",   ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"]);
	YAHOO.calendar.startDate.cfg.setProperty("MONTHS_LONG",    ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"]);
	YAHOO.calendar.startDate.cfg.setProperty("WEEKDAYS_1CHAR", ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.startDate.cfg.setProperty("WEEKDAYS_SHORT", ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.startDate.cfg.setProperty("WEEKDAYS_MEDIUM",["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.startDate.cfg.setProperty("WEEKDAYS_LONG",  ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);

	YAHOO.calendar.startDate.cfg.setProperty("MY_LABEL_YEAR_POSITION",  1);
	YAHOO.calendar.startDate.cfg.setProperty("MY_LABEL_MONTH_POSITION",  2);
	YAHOO.calendar.startDate.cfg.setProperty("MY_LABEL_YEAR_SUFFIX",  "\u5E74");
	YAHOO.calendar.startDate.cfg.setProperty("MY_LABEL_MONTH_SUFFIX",  "");

	// Correct formats for Japan: yyyy/mm/dd, mm/dd, yyyy/mm
	YAHOO.calendar.endDate.cfg.setProperty("MDY_YEAR_POSITION", 1);
	YAHOO.calendar.endDate.cfg.setProperty("MDY_MONTH_POSITION", 2);
	YAHOO.calendar.endDate.cfg.setProperty("MDY_DAY_POSITION", 3);
	YAHOO.calendar.endDate.cfg.setProperty("MY_YEAR_POSITION", 1);
	YAHOO.calendar.endDate.cfg.setProperty("MY_MONTH_POSITION", 2);

	// Date labels for Japanese locale
	YAHOO.calendar.endDate.cfg.setProperty("MONTHS_SHORT",   ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"]);
	YAHOO.calendar.endDate.cfg.setProperty("MONTHS_LONG",    ["1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708"]);
	YAHOO.calendar.endDate.cfg.setProperty("WEEKDAYS_1CHAR", ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.endDate.cfg.setProperty("WEEKDAYS_SHORT", ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.endDate.cfg.setProperty("WEEKDAYS_MEDIUM",["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);
	YAHOO.calendar.endDate.cfg.setProperty("WEEKDAYS_LONG",  ["\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F"]);

	YAHOO.calendar.endDate.cfg.setProperty("MY_LABEL_YEAR_POSITION",  1);
	YAHOO.calendar.endDate.cfg.setProperty("MY_LABEL_MONTH_POSITION",  2);
	YAHOO.calendar.endDate.cfg.setProperty("MY_LABEL_YEAR_SUFFIX",  "\u5E74");
	YAHOO.calendar.endDate.cfg.setProperty("MY_LABEL_MONTH_SUFFIX",  "");

	// カレンダー設定
	YAHOO.calendar.startDate.selectEvent.subscribe(handleSelect,  YAHOO.calendar.startDate, true);
	YAHOO.calendar.endDate.selectEvent.subscribe(handleSelect2, YAHOO.calendar.endDate, true);

	// 祝日の設定※外部からholiday変数を読み込む
	var renderHoliday = function(cal,cell) {
		YAHOO.util.Dom.addClass(cell, "wd0");
	}
	YAHOO.calendar.startDate.addRenderer(holiday.set, renderHoliday);
	YAHOO.calendar.endDate.addRenderer(holiday.set, renderHoliday);

	// カレンダーを作成
	YAHOO.calendar.startDate.render();
	YAHOO.calendar.endDate.render();

	// テキストボックスをフォーカスした時の動作
	YAHOO.util.Event.addListener("startYear", "focus", showStartDateCalendar);
	YAHOO.util.Event.addListener("startMonth", "focus", showStartDateCalendar);
	YAHOO.util.Event.addListener("startDay", "focus", showStartDateCalendar);

	YAHOO.util.Event.addListener("endYear", "focus", showEndDateCalendar);
	YAHOO.util.Event.addListener("endMonth", "focus", showEndDateCalendar);
	YAHOO.util.Event.addListener("endDay", "focus", showEndDateCalendar);
//	defaultDate();
}

YAHOO.util.Event.onDOMReady(YAHOO.calendar.init);



document.write('<style type="text/css">');
document.write('#startDateContainer { display:none; margin-top:120px; margin-left:30px; position:absolute; z-index:10000; }');
document.write('#endDateContainer { display:none;  margin-top:150px; margin-left:30px; position:absolute; z-index:10001; }');
document.write('.yui-skin-sam .yui-calendar .title { color: red}');

document.write('.yui-skin-sam .yui-calendar td.calcell.today { background-color:#ccc;}');
document.write('.yui-skin-sam .yui-calendar td.wd0 { background-color:#fde0e0; }');
document.write('.yui-skin-sam .yui-calendar td.wd0 a { color:red; }');
document.write('.yui-skin-sam .yui-calendar td.wd6 { background-color: rgb(224, 224, 253); }');
document.write('.yui-skin-sam .yui-calendar td.wd6 a { color:blue; }');
document.write('</style>');


