﻿/* Japanese initialisation for the jQuery UI date picker plugin. */
/* Written by Kentaro SATO (kentaro@ranvis.com). */

var disableYoubi = "";
var disableDates = "";
var disableLending = "";
var get_min_date = "";
var get_max_date = "";
var disableHighDates = "";
var all_time_flag = "";
var no_key_flag = "1";
// GRC_SYS-212_S
var extraBizDays = "";
// GRC_SYS-212_E
// GRC_SYS-197_S
var liquidating_time = "";
var liquidating_end_time = "";
var liquidating_reserve_start_time = "";
// GRC_SYS-197_E

var nowDate = new Date();
//2日後を取得
var dateObj = new Date(nowDate.getTime() + 2 * 24 * 60 * 60 * 1000);
var to_yea = dateObj.getFullYear();
var to_mon = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var to_day = ('0' + dateObj.getDate()).slice(-2);

//1日後を取得
var dateObj = new Date(nowDate.getTime() + 1 * 24 * 60 * 60 * 1000);
var to_yea2 = dateObj.getFullYear();
var to_mon2 = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var to_day2 = ('0' + dateObj.getDate()).slice(-2);

// GRC_SYS-197_S
// 当日を取得
var to_yea0 = nowDate.getFullYear();
var to_mon0 = ('0' + (nowDate.getMonth() + 1)).slice(-2);
var to_day0 = ('0' + nowDate.getDate()).slice(-2)
// GRC_SYS-197_E



// GRC_SYS-149_S
//6か月後を取得
var tmp = new Date();

tmp.setMonth(tmp.getMonth() + 6);
// GRC_SYS-149_E
var th_year = tmp.getFullYear();
var th_mon = ('0' + (tmp.getMonth() + 1)).slice(-2);
var th_day = ('0' + tmp.getDate()).slice(-2);

// GRC_SYS-257_S
// 1年後を取得
var oneYearLater = new Date();
oneYearLater.setFullYear(oneYearLater.getFullYear() + 1);

var one_year_th_year = oneYearLater.getFullYear();
var one_year_th_mon = ('0' + (oneYearLater.getMonth() + 1)).slice(-2);
var one_year_th_day = ('0' + oneYearLater.getDate()).slice(-2);
// GRC_SYS-257_E

var key_to_yea = to_yea;
var key_to_mon = to_mon;
var key_to_day = to_day;

var key_th_year = th_year;
var key_th_mon = th_mon;
var key_th_day = th_day;
var key_day = 0;
var jqxhr;

// GRC_SYS-242_S
// iPhoneでdatepicker5が表示されない問題があったため修正
jQuery(function ($) {
    var currentUrl = window.location.href;
    if (currentUrl.includes("/manage/rental.php") || currentUrl.includes("/shop/index.php") || currentUrl.includes("/mypage/entyo.php")) {
        set_calender();
    } else {
        datepicker5();
    }
});
// GRC_SYS-242_E

//曜日取得
function get_youbi(date) {
	var date_arr;
	date_arr = date.split("/");

	// Dateオブジェクトには実際の月ー１の値を指定するため

	// Dateオブジェクトは曜日情報を0から6の数値で保持しているため、翻訳する
	var dayOfWeekStrJP = ["日", "月", "火", "水", "木", "金", "土"];
	// 指定日付で初期化したDateオブジェクトのインスタンスを生成する
	var n_date = new Date(date_arr[0], date_arr[1] - 1, date_arr[2]);
	// 木曜日は数値の4として保持されているため、dayOfWeekStrJP[4]の値が出力される
	return dayOfWeekStrJP[n_date.getDay()];

}
//曜日取得(数字)
function get_youbi2(date) {
	var date_arr;
	date_arr = date.split("/");

	// Dateオブジェクトには実際の月ー１の値を指定するため
	// 指定日付で初期化したDateオブジェクトのインスタンスを生成する
	var n_date = new Date(date_arr[0], date_arr[1] - 1, date_arr[2]);

	return n_date.getDay();

}

function set_calender() {
	
	console.log("set_calender開始");
	// GRD_SYS-53_S
	try {
	// GRD_SYS-53_E
	//最小日付を取得
	if ($("input[name=setting_min_day]").length) {
		get_min_date = $("input[name=setting_min_day]").val();
		// console.log("get_min_date:" + get_min_date);
	}
	//延長時の最小日付を取得
	if ($("input[name=encho_min_day]").length) {
		var encho_min_date = $("input[name=encho_min_day]").val();
		encho_min_date = encho_min_date.split('-');
		var min_yyyy = encho_min_date[0];
		var min_mm = encho_min_date[1];
		var min_dd = encho_min_date[2];

		encho_min_date = new Date(min_yyyy, min_mm - 1, min_dd);
	}


	//console.log($("input[name=all_time_flag]").val());
	// 24時間営業があるかないか
	if ($("input[name=all_time_flag]").length) {
		all_time_flag = $("input[name=all_time_flag]").val();
	}
	//console.log("set_calender()all_time_flag" + all_time_flag);
	//延長のときは１日だけ
	if (!get_min_date) get_min_date = 1;
	get_min_date = Number(get_min_date);
	if ($("input[name=no_key_flag]").length) {

		key_th_year = $("input[name=car_start_yyyy]").val();
		key_th_mon = $("input[name=car_start_mm]").val();
		key_th_day = $("input[name=car_start_dd]").val();

		key_day = $("input[name=js-key_day]").val();

		/*
		予約開始日を取得し、鍵受渡日の開始日を取得する。
		*/
		dateObj = new Date(key_th_year, key_th_mon - 1, key_th_day);
		//console.log(dateObj);
		dateObj.setDate(dateObj.getDate() - key_day);
		//console.log(dateObj);
		key_to_yea = dateObj.getFullYear();
		key_to_mon = ('0' + (dateObj.getMonth() + 1)).slice(-2);
		key_to_day = ('0' + (dateObj.getDate())).slice(-2);

		// GRC_SYS-212_S
		// 鍵受渡日の開始日を取得（既存箇所に影響を与えないためにあえて上書きとする）
		if ($("input[name=key_start_date]").length) {
			key_start_date = $("input[name=key_start_date]").val();
			key_start_date = key_start_date.split("/");
			key_to_yea = key_start_date[0];
			key_to_mon = key_start_date[1];
			key_to_day = key_start_date[2];
		}
		// console.log("key_start_day :" + key_to_yea + " | " + key_to_mon + " | " + key_to_day);
		// GRC_SYS-212_E

		no_key_flag = "";
	}

	//24時間発着の場合は時間を選び直すたびに、営業時間内か判定する
	if (all_time_flag) {
		$("#car_start_hh").change(function (e) {
			loading_start();
			day_check();

		});
		$("#car_end_hh").change(function (e) {
			loading_start();
				// GRC_SYS-132_S
				// day_check();
				// GRC_SYS-132_E

				// GRC_SYS-123_S
				var e_yyyy = $("input[name=car_end_yyyy]").val();
				var e_mm = $("input[name=car_end_mm]").val();
				var e_dd = $("input[name=car_end_dd]").val();
		
				var ce_hh = $("select[name=car_end_hh]").val();
				var ce_ii = $("select[name=car_end_ii]").val();
		
				var return_store_acx = $('select[name="return_store_id"] option:selected').data("acx");

				// GRC_SYS-141_S
				if (return_store_acx == null) {
					return_store_acx = $("input[name=js-store]").val();
				}
				// GRC_SYS-141_E
				
				$.ajax({
					type: 'POST',
					url: '../car/ajax_check_open_time.php',
					dataType: 'json',
					data: {
						'return_store_acx': return_store_acx,
						'e_yyyy': e_yyyy,
						'e_mm': e_mm,
						'e_dd': e_dd,
						'e_hh': ce_hh,
						'e_ii': ce_ii,
					},
					// GRC_SYS-132_S
					success: function (json) {
						if (json == null) {
							$(".js-return_time_message").slideUp(0);
						} else {
							$(".js-hide_waku").attr("style", "");
							$(".js-return_time_message").slideDown(0);
							
						}
					},
					complete: function (comp) {
						loading_end();
					}
					// GRC_SYS-132_E
				});
				// GRC_SYS-123_E 
		});

	}

	//inc_yoyakuform2.php予約フォーム 貸出日 car_start
	datepicker5();
	//貸出日用


	//inc_yoyakuform2.php予約フォーム 返却日 end
	$("#datepicker6").datepicker({

		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		minDate: +get_min_date,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var mirai_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var lending_flag = "";
			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}

			if (disableDate < to_yea2 + "/" + to_mon2 + "/" + to_day2) {
				kako_flag = "x";
			}

			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+disableDate);
			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				lending_flag = "x";
			}

				// GRC_SYS-212_S
			// 臨時営業日の場合は休業日フラグを倒す
			if (extraBizDays.match(disableDate)) {
				flag = "";
			}
				// GRC_SYS-212_E
				
			//[bool型,付属したいclass,付属したいtitle]
			if (lending_flag != "") {
				return [false, '', '返却不可日'];
			} else if (kako_flag != "") {
				return [true, '', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '3カ月以上先は予約出来ません'];
			} else if (flag != "") {
				// GRC_SYS-276_S
				if (all_time_flag === "" || all_time_flag === "2") {
				// GRC_SYS-276_E
					return [false, 'holiday_class', '休業日'];
				} else {
					return [true, 'holiday_class', '休業日'];
				}

			} else if (flag == "") {
				return [true, '', '営業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date) {
			var car_flag = "car_";
			var no_alltime = "";
			hidden_set_end(date, car_flag);
			make_time_selectbox(car_flag, no_alltime);
			// GRC_SYS-279_S
			input_check(car_flag);
			// GRC_SYS-279_E
		}

	});

	//entyo.php予約フォーム 返却日 end
	$("#datepicker17").datepicker({

		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		minDate: encho_min_date,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var mirai_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var lending_flag = "";
			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}

			if (disableDate < to_yea2 + "/" + to_mon2 + "/" + to_day2) {
				kako_flag = "x";
			}

			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+disableDate);
			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				lending_flag = "x";
			}

			//[bool型,付属したいclass,付属したいtitle]
			if (lending_flag != "") {
				return [false, '', '返却不可日'];
			} else if (kako_flag != "") {
				return [true, '', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '3カ月以上先は予約出来ません'];
			} else if (flag != "") {
				// GRC_SYS-276_S
				if (all_time_flag == "" || all_time_flag == "2") {
				// GRC_SYS-276_E
					return [false, 'holiday_class', '休業日'];
				} else {
					return [true, 'holiday_class', '休業日'];
				}

			} else if (flag == "") {
				return [true, '', '営業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date) {

			var car_flag = "";
			var no_alltime = "";
			hidden_set_end(date, car_flag);
			make_time_selectbox(car_flag, no_alltime);
		}

	});


	datepicker16();

	//管理画面で使用 鍵受渡時間 start
	$("#datepicker7").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理

		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var mirai_flag = "";
			var lending_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);

			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}


			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+disableDate);
			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				flag = "";
				lending_flag = "x";
			}

			//[bool型,付属したいclass,付属したいtitle]
			if (flag == "") {
				if (lending_flag != "") {
					return [true, 'bg_lending_day', '返却不可日'];
				} else {
					return [true, '', '営業日'];
				}
			} else {
				return [false, 'holiday_class', '休業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			//console.log("TEST"+date);
			// GRC_SYS-167_S
			key_transfer_loading_start_time()
			// GRC_SYS-167_E
			// GRC_SYS-131_S
			hidden_set_start(date, "");
			// GRC_SYS-123_S
			make_time_selectbox("", "x", "x", 1);
			// GRC_SYS-123_E
			change_option(false);
			// GRC_SYS-131_E
			// GRC_SYS-167_S
			setTimeout('key_transfer_loading_end_time()', 3000);
			// GRC_SYS-167_E
			//day_s_change();
			//$(".check_time").change();

			//child_seat_str();
		}
	});


	//管理画面で使用 鍵受渡時間 end ???
	$("#datepicker8").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var mirai_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var lending_flag = "";
			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}

			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+disableDate);
			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				lending_flag = "x";
			}

			//[bool型,付属したいclass,付属したいtitle]
			if (lending_flag != "") {
				return [true, '', '返却不可日'];
			} else if (flag == "") {
				return [true, '', '営業日'];
			} else {
				return [false, 'holiday_class', '休業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			hidden_set_end(date);
			//$(".check_time").change();

			//child_seat_str();
		}
	});


	//管理画面で使用 仮返却日時 temporary_end
	$("#datepicker11").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			//console.log(get_min_date+" AAAA");
			var flag = "";
			var flag_sut = "";
			var kako_flag = "";
			var mirai_flag = "";
			var lending_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var get_day = date.getDay();

			//曜日指定
			if (disableYoubi.match(get_day)) {
				flag = "x";
			}


			if (disableDate < to_yea + "/" + to_mon + "/" + to_day) {
				kako_flag = "x";
			}

			if (disableDate > th_year + "/" + th_mon + "/" + th_day) {
				mirai_flag = "x";
			}

			//console.log(disableYoubi+" | "+disableDate+" | "+get_day);
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				flag = "";
				lending_flag = "x";
			}


			//[bool型,付属したいclass,付属したいtitle]
			if (kako_flag != "") {
				return [true, 'kako_class', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '3カ月以上先は予約出来ません'];
			} else if (flag == "") {
				if (lending_flag != "") {
					return [true, '', '返却不可日'];
				} else {
					return [true, '', '営業日'];
				}
			} else if (get_day == "6") {
				return [true, 'holiday_class', '休業日'];
			} else {
				return [true, 'holiday_class', '休業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			hidden_set_end(date, "temporary_");
			//day_s_change4();
			make_time_selectbox("temporary_", "", "x")
		}
	});


	//管理画面 予約期間 スタート car_start
	$("#datepicker14").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			//console.log(get_min_date+" AAAA");
			var flag = "";
			var flag_sut = "";
			var kako_flag = "";
			var mirai_flag = "";
			var lending_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var get_day = date.getDay();

			//曜日指定
			if (disableYoubi.match(get_day)) {
				flag = "x";
			}

				// GRC_SYS-164_S
				if (disableDate < to_yea + "/" + to_mon + "/" + to_day2) {
				// GRC_SYS-164_E
				kako_flag = "x";
			}

			// GRC_SYS-257_S
			if (disableDate > one_year_th_year + "/" + one_year_th_mon + "/" + one_year_th_day) {
				mirai_flag = "x";
			}
			// GRC_SYS-257_E

			//console.log(disableYoubi+" | "+disableDate+" | "+get_day);
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				flag = "";
				lending_flag = "x";
			}


			//[bool型,付属したいclass,付属したいtitle]
			if (kako_flag != "") {
				return [true, 'kako_class', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '3カ月以上先は予約出来ません'];
			} else if (flag == "") {
				if (lending_flag != "") {
					return [true, '', '返却不可日'];
				} else {
					return [true, '', '営業日'];
				}
			} else if (get_day == "6") {
				return [true, 'holiday_class', '休業日'];
			} else {
				return [true, 'holiday_class', '休業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			// GRC_SYS-167_S
			rental_info_loading_start_time();
			// GRC_SYS-167_E
			hidden_set_start(date, "car_");
			// GRC_SYS-123_S
			make_time_selectbox("car_", "", "x", 1);
			// GRC_SYS-123_E
			omatome_check();
			// GRC_SYS-131_S 引数の変更
			change_option(false);
			// GRC_SYS-131_E
			jikan_check();
			//24時間発着対応店舗は、出発日が営業時間内のときに鍵受取日に同日を入力、非対応は問答無用で入力
			// GRC_SYS-112_S
			ajax_inspection_mess();
			// GRC_SYS-112_E
			// GRC_SYS-167_S			
			setTimeout('rental_info_loading_end_time()', 3000);
			// GRC_SYS-167_E	
		}
	});

	//管理画面 予約期間 エンド car_end

	$("#datepicker15").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var mirai_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);
			var lending_flag = "";
			var get_day = date.getDay();

			//曜日指定

			//定休日を直書き
			if (disableYoubi.match(get_day)) {
				flag = "x";
			}


			if (disableDate < to_yea2 + "/" + to_mon2 + "/" + to_day2) {
				kako_flag = "x";
			}


			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+disableDate);
			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {
				lending_flag = "x";
			}

			//[bool型,付属したいclass,付属したいtitle]
			if (lending_flag != "") {
				return [true, '', '返却不可日'];
			} else if (kako_flag != "") {
				return [true, 'kako_class', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '3カ月以上先は予約出来ません'];
			} else if (flag == "") {
				return [true, '', '営業日'];
			} else if (get_day == "6") {
				return [true, 'holiday_class', '休業日'];
			} else {
				return [true, 'holiday_class', '休業日'];
			}
		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			// GRC_SYS-167_S
			return_info_loading_start_time()
			// GRC_SYS-167_E
			hidden_set_end(date, "car_");
			// GRC_SYS-164_S 
			make_time_selectbox("car_", "", "x", 1);
			// GRC_SYS-164_E
			omatome_check();
			// GRC_SYS-131_S 引数変更
			change_option(false);
			// GRC_SYS-131_E
			jikan_check();
			// GRC_SYS-167_S
			setTimeout('return_info_loading_end_time()', 3000);
			// GRC_SYS-167_E	
			// GRC_SYS-112_S
			ajax_inspection_mess();
			// GRC_SYS-112_E
		}
	});


	// 非表示の日付リスト
	if ($('input[name=high_season_str]').length) {
		disableHighDates = $('input[name=high_season_str]').val();
	}

	// 非表示の曜日リスト
	if ($('input[name=regular_day_str]').length) {
		disableYoubi = $('input[name=regular_day_str]').val();
	}
	// 非表示の日付リスト
	if ($('input[name=holiday_str]').length) {
		var h_str = $('input[name=holiday_str]').val();
		disableDates = h_str;
	}

	// GRC_SYS-212_S
	// 非表示の臨時営業日リスト
	if ($('input[name=extra_biz_day]').length) {
		extraBizDays = $('input[name=extra_biz_day]').val();
	}
	// GRC_SYS-212_E

	//貸出だけ許可
	if ($('input[name=lending_str]').length) {
		var l_str = $('input[name=lending_str]').val();
		disableLending = l_str;
	}

	$.datepicker.regional['ja'] = {

	};
	$.datepicker.setDefaults($.datepicker.regional['ja']);
	console.log("set_calender()完了");
	// GRC_SYS-53_S
	} catch (e) {
		console.log("set_calender()エラー：");
	}
	// GRD_SYS-53_E
}
function datepicker5() {
	var date1 = new Date();
	// GRC_SYS-242_S
	if (!isNaN(get_min_date)) {
		date1.setDate(date1.getDate() + get_min_date);
	}
	// GRC_SYS-242_E
	('0' + dateObj.getDate()).slice(-2);
	get_min_date = date1.getFullYear() + "/" + (('0' + (date1.getMonth() + 1)).slice(-2)) + "/" + ('0' + date1.getDate()).slice(-2);
	console.log("get_min_date:" + get_min_date);
	// GRC_SYS-197_S
	const today = new Date();
	const formattedDate = today.toISOString().slice(0, 10).replace(/-/g, '/');
	var acx = $('select[name="se_store"] option:selected').val();
	// GRC_SYS-228_S
	var currentPath = window.location.pathname;
	var url;
    if (currentPath.includes('tmp')) {
        url = 'https://renntacar.net/tmp/car/ajax_get_next_biz_day.php';
    } else {
        url = '../car/ajax_get_next_biz_day.php';
    }
	// GRC_SYS-228_E

	$.ajax({
        method: 'POST',
		//GRC_SYS-228_S
		//階層の問題で共通の相対パスが使えないための処理
		url: url,
		//GRC_SYS-228_E
        dataType: 'json',
		// GRC_SYS-242_S
		cache: false, //キャッシュを無効
		// GRC_SYS-242_E
        data:{
            'day': formattedDate,
            'acx': acx,
        },
        success: function(json) {
            var nextBusinessDay = json.next_business_day; 
	// GRC_SYS-197_E

	$("#datepicker5").datepicker({
		closeText: '閉じる',
		autoclose: true, // これ
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		minDate: new Date(),
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理
		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var key_kako_flag = "";
			var mirai_flag = "";
			var holiday_flag = "";
			var lending_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);

			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}
			// GRC_SYS-197_S
			// 今日の日付と次の営業日を比較してkako_flagを設定
            if (json.result && disableDate < nextBusinessDay) {
                kako_flag = "x";
            }
			// GRC_SYS-197_E 

			// GRC_SYS-197_S
			if (disableDate < to_yea0 + "/" + to_mon0 + "/" + to_day0) {
				kako_flag = "x";
			}
			// GRC_SYS-197_E
			//手じまい考慮の最小日
			//console.log(disableDate+"_"+get_min_date);
			// GRC_SYS-242_S
			var effectiveMinDate = get_min_date || formattedDate;
			if (disableDate < effectiveMinDate) {
				kako_flag = "x";
			}
			// GRC_SYS-242_E
			// GRC_SYS-197_S
			if (disableDate < key_to_yea + "/" + key_to_mon + "/" + key_to_day && !no_key_flag) {
				key_kako_flag = "x";
			}
			// GRC_SYS-197_E
			//console.log(disableDate+" | "+to_yea+"/"+to_mon+"/"+to_day+" kako_flag :"+kako_flag);
			//console.log(disableDate+" kako_flag :"+kako_flag+" key_kako_flag :"+key_kako_flag);

			if (disableDate > th_year + "/" + th_mon + "/" + th_day) {
				mirai_flag = "x";
			}

			if (disableDate > key_th_year + "/" + key_th_mon + "/" + key_th_day) {
				mirai_flag = "x";
			}

			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				holiday_flag = "x";
			}

			if (disableLending.match(disableDate)) {
				flag = "";
				lending_flag = "x";
			}

						// GRC_SYS-212_S
			// 臨時営業日の場合は定休日フラグ休業日フラグを倒す
			if (extraBizDays.match(disableDate)) {
				flag = "";
				holiday_flag = "";
			}
			// GRC_SYS-212_E

			// GRC_SYS-197_S
			var today = new Date();
			var todayMidnight = new Date(today.getFullYear(), today.getMonth(), today.getDate(), 0, 0, 0);
			var liquidatingEndToday = new Date(today.getFullYear(), today.getMonth(), today.getDate(), liquidating_end_time, 0, 0);

			// GRC_SYS-197_S
			if (disableDate == $.datepicker.formatDate("yy/mm/dd", today)) {
				if (today >= todayMidnight && today < liquidatingEndToday && today < new Date(today.getFullYear(), today.getMonth(), today.getDate(), liquidating_time, 0, 0)) {
					flag = "";
				} else {
					kako_flag = "x";
				}
			}
			// GRC_SYS-197_E


			// console.log("Date: " + disableDate + " | Flags - kako_flag: " + kako_flag + ", mirai_flag: " + mirai_flag + ", holiday_flag: " + holiday_flag + ", key_kako_flag: " + key_kako_flag + ", lending_flag: " + lending_flag + ", flag: " + flag);
			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+key_to_yea+"/"+key_to_mon+"/"+key_to_day);
			//console.log(disableDate+"kako_flag:"+kako_flag+"mirai_flag:"+mirai_flag+"key_kako_flag:"+key_kako_flag);


			//[bool型,付属したいclass,付属したいtitle]
			if (key_kako_flag != "") {
				return [false, '', '予約出来ません'];
			} else if (kako_flag != "") {
				return [false, '', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '予約出来ません'];
			} else if (holiday_flag != "") {
				// GRC_SYS-276_S
				if (all_time_flag == "" || all_time_flag == "3") {
				// GRC_SYS-276_E
					return [false, 'holiday_class', '休業日'];
				} else {
					return [true, 'holiday_class', '休業日'];
				}
			} else if (flag != "") {
				// GRC_SYS-276_S
				if (all_time_flag == "" || all_time_flag == "3") {
				// GRC_SYS-276_E
					return [false, 'holiday_class', '休業日'];
				} else {
					return [true, 'holiday_class', '休業日'];
				}
			} else if (flag == "") {
				if (lending_flag != "") {
					return [true, '', '返却不可'];
				} else {
					return [true, '', '営業日'];
				}
			}

		},

		yearSuffix: '年',
		onSelect: function (date, obj) {
			//hidden_set_start(date);
			var car_flag = "car_";


			console.log("day_s_change2(date)");
			//非表示フォームに日付をセット
			hidden_set_start(date, car_flag);
			//返却日のフォームに日付をセット
			change_end(car_flag);


			var selDate = new Date(date);
			var msDiff = selDate.getTime() - nowDate.getTime();
			var nx = Math.floor(msDiff / (1000 * 60 * 60 * 24));
			nx = nx + 1; //datepicker6で開始日より○日後から選択させたい数
			var max_num = nx+180;//datepicker6で開始日より○日後まで選択させたい数
			var min = '+' + nx + 'd';
			var max = '+' + max_num + 'd';

			$("#datepicker6").datepicker("option", "minDate", min);
			//$("#datepicker6").datepicker("option", "maxDate", max);

			input_check(car_flag);

		}
	});
		// GRC_SYS-197_S
		},
		error: function(error) {
			console.error("エラーメッセージ:", error);
		},
		});
		// GRC_SYS-197_E

		// GRC_SYS-197_S
		if ($('input[name=liquidating_time]').length) {
			liquidating_time = $('input[name=liquidating_time]').val();
		}
		if ($('input[name=liquidating_end_time]').length) {
			liquidating_end_time = $('input[name=liquidating_end_time]').val();
		}
		if ($('input[name=liquidating_reserve_start_time]').length) {
			liquidating_reserve_start_time = $('input[name=liquidating_reserve_start_time]').val();
		}
		// GRC_SYS-197_E
	cat_time_change();
}

//鍵受渡日用
function datepicker16() {

	$("#datepicker16").datepicker({
		closeText: '閉じる',
		prevText: '&#x3c;前',
		nextText: '次&#x3e;',
		currentText: '今日',
		monthNames: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月',
			'7月', '8月', '9月', '10月', '11月', '12月'
		],
		dayNames: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
		dayNamesShort: ['日', '月', '火', '水', '木', '金', '土'],
		dayNamesMin: ['日', '月', '火', '水', '木', '金', '土'],
		weekHeader: '週',
		dateFormat: 'yy/mm/dd(D)',
		firstDay: 0,
		isRTL: false,
		showMonthAfterYear: true,
		minDate: +get_min_date,
		//maxDate: '-5d',
		onChangeMonthYear: function (year, month, obj) {
			//次の月に移動したときの処理

		},
		beforeShowDay: function (date) {
			var flag = "";
			var kako_flag = "";
			var key_kako_flag = "";
			var mirai_flag = "";
			var lending_flag = "";
			var disableDate = $.datepicker.formatDate("yy/mm/dd", date);

			//曜日指定
			//if (date.getDay() == 2) {
			//引っ越すので引っ越す前の定休日を直書き
			if (disableDate < "2016/12/01") {
				if ("2".match(date.getDay())) {
					flag = "x";
				}
			} else {
				if (disableYoubi.match(date.getDay())) {
					flag = "x";
				}
			}

			//car_kako_flag
			// GRC_SYS-212_S
			// 臨時営業日の場合は定休日フラグを倒す
			if (extraBizDays.match(disableDate)) {
				flag = "";
			}
			// GRC_SYS-212_E


			if (disableDate < to_yea2 + "/" + to_mon2 + "/" + to_day2) {
				kako_flag = "x";
			}

			if (disableDate < key_to_yea + "/" + key_to_mon + "/" + key_to_day && !no_key_flag) {
				key_kako_flag = "x";
			}
			//console.log(disableDate+" | "+to_yea+"/"+to_mon+"/"+to_day+" kako_flag :"+kako_flag);
			//console.log(disableDate+" kako_flag :"+kako_flag+" key_kako_flag :"+key_kako_flag);

			if (disableDate > th_year + "/" + th_mon + "/" + th_day) {
				mirai_flag = "x";
			}

			if (disableDate > key_th_year + "/" + key_th_mon + "/" + key_th_day) {
				mirai_flag = "x";
			}

			//if(disableDates.indexOf(disableDate) != -1){
			if (disableDates.match(disableDate)) {
				flag = "x";
			}

			if (disableLending.match(disableDate)) {

				lending_flag = "x";
			}

			//console.log(to_yea+"/"+to_mon+"/"+to_day+" | "+key_to_yea+"/"+key_to_mon+"/"+key_to_day);
			//console.log(disableDate+"kako_flag:"+kako_flag+"mirai_flag:"+mirai_flag+"key_kako_flag:"+key_kako_flag);

			//console.log("all_time_flag:"+all_time_flag);
			//[bool型,付属したいclass,付属したいtitle]
			if (key_kako_flag != "") {
				return [false, '', '予約出来ません'];
			} else if (kako_flag != "") {
				return [false, '', '予約不可'];
			} else if (mirai_flag != "") {
				return [false, '', '予約出来ません'];
			} else if (flag != "") {
				return [false, 'holiday_class', '休業日'];
			} else if (flag == "") {
				if (lending_flag != "") {
					return [true, '', '返却不可日'];
				} else {
					return [true, '', '営業日'];
				}
			}


		},
		yearSuffix: '年',
		onSelect: function (date, obj) {
			loading_start();
			var car_flag = "";
			var no_alltime = "1";
			//hidden_set_start(date);
			// day_s_change2(date, car_flag, no_alltime);
			//console.log("day_s_change2(date)");
			//非表示フォームに日付をセット
			hidden_set_start(date, car_flag);
			//ajaxで時間毎の予約を確認して貸出時間のプルダウンタグを取得 ※no_alltimeに1を入力すると営業時間内に固定
			make_time_selectbox(car_flag, no_alltime);
			//ローディング解除
			//cat_time_change();
			var selDate = new Date(date);
			var msDiff = selDate.getTime() - nowDate.getTime();
			nx = Math.floor(msDiff / (1000 * 60 * 60 * 24));
			nx = nx + 1; //開始日より○日後から選択させたい数を足す
			var min = '+' + nx + 'd';
			// $("#datepicker6").datepicker("option", "minDate", min);
			// input_check();

		}
	});

	// GRC_SYS-152_S
	//鍵受取日が空欄の場合はデフォルト値を入れる
	var s_str = $('#datepicker16').val();
	//console.log("key_to_yyyymmdd:" + arr);
	if (s_str == "") {
		var s_yyyy = $("input[name=car_start_yyyy]").val();
		var s_mm = $("input[name=car_start_mm]").val();
		var s_dd = $("input[name=car_start_dd]").val();
	
		var s_date = s_yyyy + "/" + s_mm + "/" + s_dd;	
		var youbi = get_youbi(s_date);

		var car_flag = "";
		var no_alltime = "1";

		$("input[name=start_yyyymmdd]").val(s_date + "(" + youbi + ")");

		date_arr = s_date.split("/");
		$("input[name=start_yyyy]").val(date_arr[0]);
		$("input[name=start_mm]").val(date_arr[1]);
		$("input[name=start_dd]").val(date_arr[2]);

		make_time_selectbox(car_flag, no_alltime, "x");
	}
	// GRC_SYS-152_E

}


//非表示フォームに貸出日を入れるstart
function hidden_set_start(date, car_flag) {
	// console.log("hidden_set_start(date,car_flag)");
	var date_arr;
	date_arr = date.split("/");
	$("input[name=" + car_flag + "start_yyyy]").val(date_arr[0]);
	$("input[name=" + car_flag + "start_mm]").val(date_arr[1]);
	$("input[name=" + car_flag + "start_dd]").val(date_arr[2].slice(0, 2)); //曜日部分を消しておく


	$("input[name=" + car_flag + "start_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);
	//console.log("hidden_set_start(date,car_flag)完了");
}
//非表示フォームに貸出日を入れるcar_start
function hidden_set_carstart(date) {
	//console.log("AAAA hidden_set_carstart(date)");
	var date_arr;
	date_arr = date.split("/");
	$("input[name=car_start_yyyy]").val(date_arr[0]);
	$("input[name=car_start_mm]").val(date_arr[1]);
	$("input[name=car_start_dd]").val(date_arr[2]);
	//console.log(date);
	$("input[name=car_start_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);
}
//非表示フォームに返却日を入れるend
function hidden_set_end(date, car_flag) {
	//console.log("hidden_set_end(date) ".date);
	var date_arr;
	date_arr = date.split("/");
	$("input[name=" + car_flag + "end_yyyy]").val(date_arr[0]);
	$("input[name=" + car_flag + "end_mm]").val(date_arr[1]);
	$("input[name=" + car_flag + "end_dd]").val(date_arr[2].slice(0, 2)); //曜日部分を消しておく

	$("input[name=" + car_flag + "end_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);

}
//非表示フォームに返却日を入れるcar_end
function hidden_set_carend(date) {
	var date_arr;
	date_arr = date.split("/");
	$("input[name=car_end_yyyy]").val(date_arr[0]);
	$("input[name=car_end_mm]").val(date_arr[1]);
	$("input[name=car_end_dd]").val(date_arr[2]);

	$("input[name=end_yyyy]").val(date_arr[0]);
	$("input[name=end_mm]").val(date_arr[1]);
	$("input[name=end_dd]").val(date_arr[2]);

	$("input[name=car_end_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);
	$("input[name=end_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);

	// day_check();
	//js_time_check2();

}
//非表示フォームに早期返却日を入れるtemporary_end
function hidden_set_temporaryend(date) {
	var date_arr;
	date_arr = date.split("/");
	$("input[name=temporary_end_yyyy]").val(date_arr[0]);
	$("input[name=temporary_end_mm]").val(date_arr[1]);
	$("input[name=temporary_end_dd]").val(date_arr[2]);

	$("input[name=temporary_end_yyyymmdd]").val(date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2]);
}

//選択されたstart日付に+?日して 返却日endに年月日をセット
function change_end(car_flag) {
	//console.log("change_end()");
	var s_yyyy = $("input[name=" + car_flag + "start_yyyy]").val();
	var s_mm = $("input[name=" + car_flag + "start_mm]").val();
	var s_dd = $("input[name=" + car_flag + "start_dd]").val();
	var s_date = s_yyyy + "/" + s_mm + "/" + s_dd;

	var now = new Date(s_date);
	var nYear = now.getFullYear();
	var nMonth = now.getMonth();
	var nDate = now.getDate();

	if (disableDates.match(s_date)) {
		//alert(nYear+"年"+nMonth+"月"+nDate+"日は貸出のみしております。");
	}

	var num = 0; //0で返却日のデフォルトを貸出日翌日にする
	var roop_cnt = 0;

	while (true) {
		num += 1;
		roop_cnt++;

		var tomorrow = new Date(nYear, nMonth, nDate + num);
		var tYear = tomorrow.getFullYear();
		var tMonth = tomorrow.getMonth() + 1;
		var tDate = tomorrow.getDate();
		tMonth = ("0" + tMonth).slice(-2);
		tDate = ("0" + tDate).slice(-2)
		var tomorrow_day = tYear + "/" + tMonth + "/" + tDate;

		var room_flag_1 = "";
		var room_flag_2 = "";

		//console.log(roop_cnt+"|");
		//alert("申し訳ありませんが〇日は貸出のみしております。");
		if (disableYoubi.match(tomorrow.getDay())) {
			var room_flag_1 = "x";
			//alert("test");
		}

		if (disableDates.match(tomorrow_day)) {
			var room_flag_2 = "x";
		}

		if ((room_flag_1 == "" && room_flag_2 == "") || roop_cnt == 20) {
			break;
		}
	}


	$("input[name=" + car_flag + "end_yyyy]").val(tYear);
	$("input[name=" + car_flag + "end_mm]").val(tMonth);
	$("input[name=" + car_flag + "end_dd]").val(tDate);
	var t_youbi = get_youbi(tomorrow_day);
	$("input[name=" + car_flag + "end_yyyymmdd]").val(tYear + "/" + tMonth + "/" + tDate + "(" + t_youbi + ")");
	//console.log("change_end()完了");
}

//選択されたcar_start日付に+?日　返却日car_endに年月日をセット
function change_carend() {
	//console.log("change_carend()");
	var s_yyyy = $("input[name=car_start_yyyy]").val();
	var s_mm = $("input[name=car_start_mm]").val();
	var s_dd = $("input[name=car_start_dd]").val();
	var s_date = s_yyyy + "/" + s_mm + "/" + s_dd;

	var now = new Date(s_date);
	var nYear = now.getFullYear();
	var nMonth = now.getMonth();
	var nDate = now.getDate();

	if (disableDates.match(s_date)) {
		//alert(nYear+"年"+nMonth+"月"+nDate+"日は貸出のみしております。");
	}

	var num = 5;
	var roop_cnt = 0;

	while (true) {
		num += 1;
		roop_cnt++;

		var tomorrow = new Date(nYear, nMonth, nDate + num);
		var tYear = tomorrow.getFullYear();
		var tMonth = tomorrow.getMonth() + 1;
		var tDate = tomorrow.getDate();
		tMonth = ("0" + tMonth).slice(-2);
		tDate = ("0" + tDate).slice(-2)
		var tomorrow_day = tYear + "/" + tMonth + "/" + tDate;

		var room_flag_1 = "";
		var room_flag_2 = "";

		//console.log(roop_cnt+"|");
		//alert("申し訳ありませんが〇日は貸出のみしております。");
		if (disableYoubi.match(tomorrow.getDay())) {
			var room_flag_1 = "x";
			//alert("test");
		}

		if (disableDates.match(tomorrow_day)) {
			var room_flag_2 = "x";
		}

		if ((room_flag_1 == "" && room_flag_2 == "") || roop_cnt == 20) {
			break;
		}
	}


	$("input[name=car_end_yyyy]").val(tYear);
	$("input[name=car_end_mm]").val(tMonth);
	$("input[name=car_end_dd]").val(tDate);

	$("input[name=car_end_yyyymmdd]").val(tYear + "/" + tMonth + "/" + tDate);
	//console.log("change_carend()完了");
}

//日付の選択後出発時間の判定をする
function day_s_change2(date, car_flag, no_alltime) {
	//console.log("day_s_change2(date)");
	//非表示フォームに日付をセット
	hidden_set_start(date, car_flag);
	//返却日のフォームに日付をセット
	change_end(car_flag);
	//ajaxで時間毎の予約を確認して貸出時間のプルダウンタグを取得 ※no_alltimeに1を入力すると営業時間内に固定
	make_time_selectbox(car_flag, no_alltime);
	//ローディング解除
	cat_time_change();

	//console.log("day_s_change2(date)完了");
}

//日付の選択後出発時間の判定をする
function day_s_change3(date) {
	//console.log("day_s_change3(date)");
	hidden_set_carstart(date);
	change_carend();
	js_time_check2("");
	/*
	    if ($('.check_time').length) {
	        $(".check_time").change();
	    }
	    */
	//console.log("day_s_change3(date)完了");
}


//ajaxで時間毎の予約を確認して貸出時間のプルダウンタグを取得
//no_alltimeにｘで営業時間内に固定　no_disabledにｘで予約済みのグレーの時間でも選択可能になる
// GRC_SYS-123_S 引数color_flagを追加
function make_time_selectbox(car_flag, no_alltime, no_disabled, color_flag) {
	// GRC_SYS-123_E

	//console.log("make_time_selectbox("+car_flag+","+no_alltime+")");

	var s_yyyy = $("input[name=" + car_flag + "start_yyyy]").val();
	var s_mm = $("input[name=" + car_flag + "start_mm]").val();
	var s_dd = $("input[name=" + car_flag + "start_dd]").val();

	var s_hh = $("select[name=" + car_flag + "start_hh]").val();
	var s_date = s_yyyy + "-" + s_mm + "-" + s_dd;

	var e_yyyy = $("input[name=" + car_flag + "end_yyyy]").val();
	var e_mm = $("input[name=" + car_flag + "end_mm]").val();
	var e_dd = $("input[name=" + car_flag + "end_dd]").val();

	var e_hh = $("select[name=" + car_flag + "end_hh]").val();
	//console.log("js_time_check_1_end_hh | "+ $("select[name=end_hh]").html());
	var e_date = e_yyyy + "-" + e_mm + "-" + e_dd;
	var payment_day = $("input[name=payment_day]").val();

	var store = '';
	// GRC_SYS-135_S
	var select_store_acx = $("input[name=js-store]").val();
	store = select_store_acx;
	// GRC_SYS-135_E

	// GRC_SYS-164_S
	var return_store = '';
	var select_return_store_acx = $("#return_store option:selected").data("acx");
	return_store = select_return_store_acx;
	// GRC_SYS-164_E

	//早期返却時は入金済みでも時間を選択できるようにする
	if (car_flag == 'temporary_') {
		payment_day = "";
	}
	$.ajax({
		type: 'POST',
		url: '../car/ajax_time.php',
		dataType: 'json',
		data: {
			'car_change_flag': car_flag,
			'no_alltime': no_alltime,
			'no_disabled': no_disabled,
			'store_id': store,
			's_date': s_date,
			'e_date': e_date,
			's_hh': s_hh,
			'e_hh': e_hh,
			'payment_day': payment_day,
			// GRC_SYS-123_S
			'color_flag': color_flag,
			// GRC_SYS-123_E
			// GRC_SYS-164_S
			'return_store_id': return_store,
			// GRC_SYS-164_E

		},
		success: function (json) {
			// console.log("|store = " + store + "|s_date = " + s_date + "|e_date = " + e_date + "|s_hh = " + s_hh + "|e_hh = " + e_hh);
			//success
			$.each(json, function (key, arr) {
				//console.log("s_hh"+s_hh);
				if (key == "s_date") {
					// console.log(arr);
					$("#" + car_flag + "start_hh").html(arr);
					$("select[name=" + car_flag + "start_hh]").val(s_hh);
					//console.log("make_time_selectbox s_date|" + car_flag + "start_hh|" + arr);

				}
				//console.log("aaaaaaa");
				if (key == "e_date") {
					//console.log("js_time_check | "+ arr);
					$("#" + car_flag + "end_hh").html(arr);
					$("select[name=" + car_flag + "end_hh]").val(e_hh);
					//console.log("make_time_selectbox e_date|" + car_flag + "end_hh|" + arr);
				}

				//test
				if (key == "all_time_flag") {
					//console.log("AA all_time_flag| " + arr);

				}

				// 20230706 WOW中村_GRCSYS_26対応 鍵受取日時の説明文を動的に変更する
				if (key == "time_announce") {
					$("#time_announce").html(arr);
				}

			});


		},
		complete: function (comp) {
			loading_end();
		}
	});

	cat_time_change();


}

// GRC_SYS-135_S
// 返却日の予約状況を反映
function make_return_time_selectbox(car_flag, no_alltime, no_disabled, color_flag) {
	// 返却時間の情報を取得
	var e_yyyy = $("input[name=" + car_flag + "end_yyyy]").val();
	var e_mm = $("input[name=" + car_flag + "end_mm]").val();
	var e_dd = $("input[name=" + car_flag + "end_dd]").val();

	var e_hh = $("select[name=" + car_flag + "end_hh]").val();
	var e_date = e_yyyy + "-" + e_mm + "-" + e_dd;
	var payment_day = $("input[name=payment_day]").val();

	var store = '';
	var return_store_acx = $('#return_store option:selected').data('acx');
	store = return_store_acx;

	//早期返却時は入金済みでも時間を選択できるようにする
	if (car_flag == 'temporary_') {
		payment_day = "";
	}
	$.ajax({
		type: 'POST',
		url: '../car/ajax_time.php',
		dataType: 'json',
		data: {
			'car_change_flag': car_flag,
			'no_alltime': no_alltime,
			'no_disabled': no_disabled,
			// GRC_SYS-164_S
			'return_store_id': store,
			// GRC_SYS-164_E
			'e_date': e_date,
			'e_hh': e_hh,
			'payment_day': payment_day,
			'color_flag': color_flag,
		},
		success: function (json) {
			$.each(json, function (key, arr) {
				if (key == "e_date") {
					$("#" + car_flag + "end_hh").html(arr);
					$("select[name=" + car_flag + "end_hh]").val(e_hh);
				}
			});
		},
		complete: function (comp) {
			loading_end();
		}
	});
}
// GRC_SYS-135_E

//ajaxで時間毎の予約を取得する
function js_time_check2(flag) {
	//24時間発着OKの場合はflag=1
	//console.log("js_time_check2(flag)");
	//貸出日の内容を変数に入れる
	var s_yyyy = $("input[name=car_start_yyyy]").val();
	var s_mm = $("input[name=car_start_mm]").val();
	var s_dd = $("input[name=car_start_dd]").val();
	var s_hh = $("select[name=car_start_hh]").val();
	var s_date = s_yyyy + "-" + s_mm + "-" + s_dd;
	//返却日の内容を変数に入れる
	var e_yyyy = $("input[name=car_end_yyyy]").val();
	var e_mm = $("input[name=car_end_mm]").val();
	var e_dd = $("input[name=car_end_dd]").val();
	var e_hh = $("select[name=car_end_hh]").val();
	var e_date = e_yyyy + "-" + e_mm + "-" + e_dd;
	//選択店舗を変数に入れる
	var store = '';
	if ($('input[name=js-store]').length) {
		store = $("input[name=js-store]").val();
	}
	//返却日（car_end）と同じ内容をendに入れておく
	$("input[name=end_yyyy]").val(e_yyyy);
	$("input[name=end_mm]").val(e_mm);
	$("input[name=end_dd]").val(e_dd);
	$("select[name=end_hh]").val(e_hh);
	var put_e_date = e_yyyy + "/" + e_mm + "/" + e_dd;
	$("input[name=end_yyyymmdd]").val(put_e_date);

	$.ajax({
		type: 'POST',
		url: '../car/ajax_time.php',
		dataType: 'json',
		data: {
			'store_id': store,
			's_date': s_date,
			'e_date': e_date,
			'car_change_flag': 'x',
			's_hh': s_hh,
			'e_hh': e_hh
		},
		//
		success: function (json) {
			//successリクエストが成功した場合に実行されるコールバック関数を指定する。
			$.each(json, function (key, arr) {

				if (key == "s_date") {
					$("#car_start_hh").html(arr);
				}
				//console.log("AAAAA");
				if (key == "e_date") {
					//console.log("BBBBBB");
					$("#car_end_hh").html(arr);
				}

			});
		},
		//リクエストが完了したときに呼び出されるコールバック関数を指定する。success又はerrorが指定されている場合、それの後に呼び出される。
		complete: function (comp) {
			//24時間発着OKの場合はflag=1
			if (!flag) {
				$("input[name=start_yyyy]").val(s_yyyy);
				$("input[name=start_mm]").val(s_mm);
				$("input[name=start_dd]").val(s_dd);
				$("select[name=start_hh]").val(s_hh);
				var s_date = s_yyyy + "/" + s_mm + "/" + s_dd;
				$("input[name=start_yyyymmdd]").val(s_date);
			} else {
				day_check();
			}
			$("#car_start_hh").change(function (e) {
				day_check();
			});
			$("#car_end_hh").change(function (e) {
				day_check();
			});
			make_time_selectbox();
		}
	});
	//console.log("js_time_check2(flag)完了");
}

function cat_time_change() {
	//console.log("cat_time_change()");
	/*
    var cs_hh = $("select[name=car_start_hh]").val();
    var ce_hh = $("select[name=car_end_hh]").val();

    $("select[name=start_hh]").val(cs_hh);
    $("select[name=end_hh]").val(ce_hh);

    // 適応する時間がなければ隠してる時間を出す
    var start_hh = $("select[name=start_hh]").val();

    var cs_yyyy = $("input[name=car_start_yyyy]").val();
    var cs_mm = $("input[name=car_start_mm]").val();
    var cs_dd = $("input[name=car_start_dd]").val();

    var s_yyyy = $("input[name=start_yyyy]").val();
    var s_mm = $("input[name=start_mm]").val();
    var s_dd = $("input[name=start_dd]").val();
    var s_hh = $("select[name=start_hh]").val();

    var hikaku_cs_date = cs_yyyy + "-" + cs_mm + "-" + cs_dd + "-" + cs_hh;
    var hikaku_s_date = s_yyyy + "-" + s_mm + "-" + s_dd + "-" + s_hh;
*/
	$(".loading_text").attr("style", "display:none");
	//console.log("cat_time_change()完了");
}


// 24時間発着のメッセージを出す
function day_check() {
	//console.log("day_check()");
	//鍵受け取りについての説明がなければリターン
	if ($('.js-key_message').length == 0) {
		return;
	}

	var s_yyyy = $("input[name=car_start_yyyy]").val();
	var s_mm = $("input[name=car_start_mm]").val();
	var s_dd = $("input[name=car_start_dd]").val();

	var cs_hh = $("select[name=car_start_hh]").val();
	var s_date = s_yyyy + "-" + s_mm + "-" + s_dd;

	var e_yyyy = $("input[name=car_end_yyyy]").val();
	var e_mm = $("input[name=car_end_mm]").val();
	var e_dd = $("input[name=car_end_dd]").val();

	var ce_hh = $("select[name=car_end_hh]").val();
	var e_date = e_yyyy + "-" + e_mm + "-" + e_dd;

	var store = '';
	if ($('input[name=js-store]').length) {
		store = $("input[name=js-store]").val();
	}

	var s_hh = $("select[name=start_hh]").val();

	var key_to_yyyymmdd = s_yyyy + "/" + s_mm + "/" + s_dd;


	//貸出日来店時間が営業時間内であるか判定
	if (cs_hh || ce_hh) {

		if (jqxhr) {
			jqxhr.abort();
		}

		jqxhr = $.ajax({
			type: 'POST',
			url: '../car/ajax_time.php',
			dataType: 'json',
			data: {
				'store_id': store,
				's_date': s_date,
				'e_date': e_date,
				's_hh': cs_hh,
				'e_hh': ce_hh,
				'key_to_yyyymmdd': key_to_yyyymmdd,
				'day_check': '1'
			},
			success: function (json) {


				//success
				$.each(json, function (key, arr) {

					if (key == "s_alert" && cs_hh) {
						//営業時間外であればs_alert＝1
						//console.log("s_alert : "+arr);
						if (arr) {
							//鍵受け取りについての説明を表示
							$(".js-key_message").attr("style", "");
							//$(".car_display_class").slideDown(0);
							//鍵受取日時の設定フォームを表示
							$(".car_display_class").attr("style", "");
							// GRC_SYS-123_S
							$(".pickup_display").attr("style", "display:none;");
							$("select[name=pickup_id] option[value='']").prop('selected', true);
							// GRC_SYS-123_E

						} else {
							//営業時間外でないs_alert＝""
							$("input[name=start_yyyy]").val("");
							$("input[name=start_mm]").val("");
							$("input[name=start_dd]").val("");
							$("input[name=start_hh]").val("");
							$("input[name=start_ii]").val("");
							$(".js-key_message").attr("style", "display:none;");
							$(".car_display_class").attr("style", "display:none;");
							// GRC_SYS-123_S
							$(".pickup_display").attr("style", "");
							$("select[name=key_pickup_id] option[value='']").prop('selected', true);
							// GRC_SYS-123_E

						}

					}

					if (key == "key_to_yyyymmdd") {


						//鍵受取日が空欄の場合はデフォルト値を入れる
						var s_str = $('#datepicker16').val();
						//console.log("key_to_yyyymmdd:" + arr);
						if (s_str == "") {

							var youbi = get_youbi(arr);
							$("input[name=start_yyyymmdd]").val(arr + "(" + youbi + ")");

							date_arr = arr.split("/");
							$("input[name=start_yyyy]").val(date_arr[0]);
							$("input[name=start_mm]").val(date_arr[1]);
							$("input[name=start_dd]").val(date_arr[2]);
						}
					}
					if (key == "e_alert" && ce_hh) {
						//console.log("e_alert : "+arr);
						if (arr) {

							$(".js-hide_waku").attr("style", "");
							$(".js-return_time_message").slideDown(0);

						} else {
							//console.log("e_alert:Up");
							$(".js-return_time_message").slideUp(0);

						}

					}

				});

			},
			complete: function (comp) {
				// GRC_SYS-168_S
				loading_end();
				// GRC_SYS-168_E
			}
		});
	}
	//console.log("day_check()完了");
}

// 入力内容チェックのための関数
function input_check(car_flag) {

	var result = true;

	var start = $("input[name=" + car_flag + "start_yyyymmdd]").val().slice(0, 10);
	var end = $("input[name=" + car_flag + "end_yyyymmdd]").val().slice(0, 10);
	var start_w = get_youbi2(start);
	var end_w = get_youbi2(end);

	// GRC_SYS-279_S
	var start_date = new Date(start);
	var end_Date = new Date(end);

	var time_diff = Math.abs(end_Date - start_date);
	var rental_days = Math.ceil(time_diff / (1000 * 60 * 60 * 24));
	// GRC_SYS-279_E

	// 入力エラー文をリセット
	$("#pref_error").empty();
	$("#store_error").empty();
	$("#start_error").empty();
	$("#end_error").empty();


	// 入力内容チェック

	if (!$('select[name="se_pref"]').val()) {
		$("#pref_error").html("※都道府県を選択して下さい");
		result = false;
	}

	if (!$('select[name="se_store"]').val()) {
		$("#store_error").html("※店舗を選択して下さい");
		result = false;
	}
	if (!start) {
		$("#start_error").html("※出発日を入力してください");
		result = false;
	}
	if (!end) {
		$("#end_error").html("※返却日を入力してください");
		result = false;
	}
	// GRC_SYS-279_S
	if (!short_day_flag && rental_days < short_rental_day) {
		$("#rental_period_notice").css("color", "red").show();
		result = false;
	} else if (!short_day_flag) {
		$("#rental_period_notice").css("color", "black").show();
	}
	// GRC_SYS-279_E
	//24時間発着やっていない場合は貸出日と返却日が休業日か調べる
	// GRC_SYS-276_S
	// 出発日が休業日かどうかをチェック
    if (all_time_flag == "" || all_time_flag == "3") {
        if (start) {
            if (disableDates.match(start)) {
                $("#start_error").html("※休業日です");
                result = false;
            }
            if (disableYoubi.match(start_w)) {
                $("#start_error").html("※休業日です");
                result = false;
            }
        }
    }

    // 返却日が休業日かどうかをチェック
    if (all_time_flag == "" || all_time_flag == "2") {
        if (end) {
            if (disableDates.match(end)) {
                $("#end_error").html("※休業日です");
                result = false;
            }
            if (disableYoubi.match(end_w)) {
                $("#end_error").html("※休業日です");
                result = false;
            }
        }
    }
	// GRC_SYS-276_E
	if (disableLending.length > 0) {
		if (disableLending.indexOf(end) > 0) {
			$("#end_error").html(end + "は返却不可日です。");
			result = false;
		}
	}

	return result;
}

// GRC_SYS-135_S
// function visitor_time(check_flag) {
// 	var s_yyyy = $("input[name=car_start_yyyy]").val();
// 	var s_mm = $("input[name=car_start_mm]").val();
// 	var s_dd = $("input[name=car_start_dd]").val();

// 	var cs_hh = $("select[name=car_start_hh]").val();
// 	var s_date = s_yyyy + "-" + s_mm + "-" + s_dd;

// 	var e_yyyy = $("input[name=car_end_yyyy]").val();
// 	var e_mm = $("input[name=car_end_mm]").val();
// 	var e_dd = $("input[name=car_end_dd]").val();

// 	var ce_hh = $("select[name=car_end_hh]").val();
// 	var e_date = e_yyyy + "-" + e_mm + "-" + e_dd;

// 	var key_yyyy = $("input[name=start_yyyy]").val();
// 	var key_mm = $("input[name=start_mm]").val();
// 	var key_dd = $("input[name=start_dd]").val();

// 	var key_hh = $("select[name=start_hh]").val();
// 	var key_date = key_yyyy + "-" + key_mm + "-" + key_dd;

// 	var store = '';
// 	var select_store_acx = $("input[name=js-store]").val();
// 	var return_store_acx = $('#return_store option:selected').data('acx');
// 	// GRC_SYS-164_S
// 	if (check_flag == 1 || check_flag == 2) {
// 		store = select_store_acx;
// 	}

// 	if (check_flag == 3) {
// 		if (select_store_acx == return_store_acx) {
// 			store = select_store_acx;
// 		} else {
// 			store = return_store_acx;
// 		}	
// 	}
// 	// GRC_SYS-164_E

// 	$.ajax({
// 		type: 'POST',
// 		url: '../car/ajax_time.php',
// 		dataType: 'json',
// 		data: {
// 			'store_id': store,
// 			's_date': s_date,
// 			'e_date': e_date,
// 			'key_date': key_date,
// 			's_mm': s_mm,
// 			's_dd': s_dd,
// 			'e_mm': e_mm,
// 			'e_dd': e_dd,
// 			'key_mm': key_mm,
// 			'key_dd': key_dd,
// 			's_hh': cs_hh,
// 			'e_hh': ce_hh,
// 			'key_hh': key_hh,
// 			'visitor_check': '1',
// 			'check_flag': check_flag
// 		},
// 		success: function (json) {
// 			if (check_flag == 1) {
// 				$('#key_reserve').html(json);
// 			} else if (check_flag == 2) {
// 				$('#s_reserve').html(json);
// 			} else if (check_flag == 3) {
// 				$('#e_reserve').html(json);
// 			}
// 		}

// 	});

// }
// GRC_SYS-135_E
function loading_start() {
	//console.log('loading_start');
	var h = $(window).height();

	$('#wrap').css('display', 'none');
	$('#loader-bg ,#loader').height(h).css('display', 'block');
	setTimeout('loading_end()', 10000); //10秒たったら強制的にロード画面を非表示
};

function loading_end() { //読み込みが完了したら実行
	//console.log('loading_end');
	$('#loader-bg').delay(900).fadeOut(300);
	$('#loader').delay(600).fadeOut(300);
	$('#wrap').css('display', 'block');

};
