/*******************************************************************************
 * 初期化
 * 
 *******************************************************************************/

//現在日の取得
var nowYs = new Date();
var sysYear = nowYs.getFullYear();
var sysMonth = nowYs.getMonth() + 1;
var sysDay = nowYs.getDate();

//モジュール切り替え
function changeTab(unit) {

	switch(unit) {
		case "ticket":
			ticketInit();
		break;
		case "ticket2":
			ticket2Init();
		break;
		default:
			ticketInit();
		break;
	}

}


//------------------------------------------------------------------------航空券
function ticketInit() {

	//初期値変数
	var _depApo1 = "TYO";
	var _arrArea = "";
	var _arrApo1 = "";
	var _year1 = sysYear;
	var _month1 = sysMonth;
	var _day1 = "";
	var _int_members1 = "";
	var _int_members2 = "";
	var _int_members3 = "";
	var _int_seatKind = "";
	var _trip_ticket = "06";
	var _monthCal = "";

	//初期値設定：日付取得 3日後取得
	var Days3 = new Array();
	Days3 = getDays(3, sysYear, sysMonth, sysDay);
	Days3["day"] = "";

	if (_month1.length == 1) {
		_month1 = "0" + String(_month1);
	}
	_monthCal = parseInt(sysMonth) + 1;
	if (_monthCal > 12) {
		_monthCal = _monthCal - 1;
	}
	if (_monthCal.length == 1) {
		_monthCal = "0" + String(_monthCal);
	}

	//モジュール初期化
	var DepApo_ticket = new airportTag("DepApo_ticket", intDepApo_list, true, true, false, _depApo1, "", "");
	var ArrApo_ticket = new airportTag("ArrApo_ticket", intArrApo_list, true, true, true, _arrApo1, "", "");
	var ArrArea_ticket = new airportTag("ArrArea_ticket", intArrArea_list, true, true, true, _arrArea, ArrApo_ticket, "");
	var toDay_ticket = new dayTag("toDay_ticket", "ja", "", _month1);
	var toMonth_ticket = new monthTag("toMonth_ticket", "ja", true, "-", "", _month1, toDay_ticket);
	var backDay_ticket = new dayTag("backDay_ticket", "ja", "", Days3["month"]);
	var backMonth_ticket = new monthTag("backMonth_ticket", "ja", true, "-", "", Days3["month"], backDay_ticket);
	var Members1_ticket = new listTag("Members1_ticket", intMembers_list, _int_members1, false);
	var Members2_ticket = new listTag("Members2_ticket", intMembers8_list, _int_members2, false);
	var Members3_ticket = new listTag("Members3_ticket", intMembers9_list, _int_members3, false);
	var Seat_ticket = new listTag("Seat_ticket", intSeat_list, _int_seatKind, false);

	//日の再ロード
	toDay_ticket.ZeroDay = true;
	toDay_ticket.defaultValue = _day1;
	toDay_ticket.onLoad();
	backDay_ticket.ZeroDay = true;
	backDay_ticket.defaultValue = Days3["day"];
	backDay_ticket.onLoad();

	//クラスオーバーライド
	var monthMove = false;
	ArrArea_ticket.onChangeOverride = function() {
		var ArrAreaCode = document.getElementById("ArrArea_ticket").value;
		var AASList = new Array();
		if (ArrAreaCode != "") {
			var ArrLen = intArrApo_list[ArrAreaCode].length;
			AASList = intArrApo_list[ArrAreaCode].slice(1, ArrLen);
		} else {
			for (key in intArrApo_list) {
				AASList = AASList.concat(intArrApo_list[key], false);
			}
			AASList.unshift({value:"", text:"Port of arrival"});
		}
		createDropDown("ArrApo_ticket", AASList, false);
	}
	toDay_ticket.onChangeOverride = function() {
//		var dates = document.getElementById("toYearMonth_ticket").value;
//		var yearss = dates.substring(0,4);
//		var monthss = dates.substring(4,6);
		var monthss = document.getElementById("toMonth_ticket").value;
		var Days = new Array();
		if ((document.getElementById("toDay_ticket").value == "") || (monthMove == true)) {
			setDropDown("toDay_ticket", "01");
		}
		Days = getDays(3, sysYear, monthss, document.getElementById("toDay_ticket").value);
//		document.getElementById("backYearMonth_ticket").value = String(Days["year"]) + String(Days["month"]);
		document.getElementById("backMonth_ticket").value = String(Days["month"]);

		if (monthMove == true) {
			Days["day"] = "04";
		}

		makeDayDropDown("backDay_ticket", Days["year"], Days["month"], true, Days["day"]);
		monthMove = false;
	}
	toMonth_ticket.onChangeOverride = function() {
		monthMove = true;
		toDay_ticket.onChange();
	}

	//デフォルト値の設定
	if (typeof depApo != "undefined") {
		if (depApo != "") {
			setDropDown("DepApo_ticket", depApo);
		}
	}
	if (typeof arrArea != "undefined") {
		if (arrArea != "") {
			setDropDown("ArrArea_ticket", arrArea);
			ArrArea_ticket.onChangeOverride();
		}
	}
	if (typeof arrApo != "undefined") {
		if (arrApo != "") {
			setDropDown("ArrApo_ticket", arrApo);
		}
	}
	if (typeof seatClass != "undefined") {
		if (seatClass != "") {
			setDropDown("Seat_ticket", seatClass);
		}
	}
	//現在日の取得
	var now_date = new Date();
	var now_year = now_date.getFullYear();
	var now_month = now_date.getMonth() + 1;
	var now_day = now_date.getDate();

	setDropDown("toMonth_ticket", parseInt(now_month));
	setDropDown("toDay_ticket", parseInt(now_day));

	// HTML初期値をセット（日付）
	var embDate = "";
	var startDate = "";
	var startDateFlg = false;
	if ((typeof limitYear != 'undefined') && (limitYear != '')) {
		embDate = String(now_year);
		startDate = String(limitYear);
		var compYear = String(limitYear);
	} else {
		var compYear = String(now_year);
	}
	if ((typeof limitMonth != 'undefined') && (limitMonth != '')) {
		if (String(limitMonth).length == 1) {
			limitMonth = "0" + String(limitMonth);
		} else {
			limitMonth = String(limitMonth);
		}
		if ((typeof limitDay != 'undefined') && (limitDay != '')) {
			if (String(limitDay).length == 1) {
				limitDay = "0" + String(limitDay);
			} else {
				limitDay = String(limitDay);
			}
			if (String(now_month).length == 1) {
				now_month = "0" + String(now_month);
			} else {
				now_month = String(now_month);
			}
			if (String(now_day).length == 1) {
				now_day = "0" + String(now_day);
			} else {
				now_day = String(now_day);
			}
			embDate += String(now_month) + String(now_day);
			startDate += String(limitMonth) + String(limitDay);
			if (parseInt(embDate, 10) < parseInt(startDate, 10)) {
				setDropDown("toMonth_ticket", parseInt(limitMonth, 10));
				dayList = createDayList(compYear, limitMonth, true);
				createDropDown("toDay_ticket", dayList, false);
				setDropDown("toDay_ticket", parseInt(limitDay, 10));
				startDateFlg = true;
			}
		}
	}

	//往路の取得
	if (startDateFlg == true) {
		var after_date = new Date(parseInt(compYear, 10), parseInt(limitMonth, 10) - 1, parseInt(limitDay, 10));
	} else {
		var after_date = new Date();
	}

	if ((typeof plusDay != "undefined") && (plusDay != "")) {
		after_date.setTime(after_date.getTime()+(plusDay*24*3600*1000));
	}
	var after_year = after_date.getFullYear();
	var after_month = after_date.getMonth() + 1;
	var after_day = after_date.getDate();

	setDropDown("backMonth_ticket", parseInt(after_month, 10));
	dayList = createDayList(after_year, after_month, true);
	createDropDown("backDay_ticket", dayList, false);
	setDropDown("backDay_ticket", parseInt(after_day, 10));

}

//-----------航空券（1ページ内に2つのモジュールがある場合、2つ目はこちらを使う）
function ticket2Init() {

	//初期値変数
	var _depApo1 = "TYO";
	var _arrArea = "";
	var _arrApo1 = "";
	var _year1 = sysYear;
	var _month1 = sysMonth;
	var _day1 = "";
	var _int_members1 = "";
	var _int_members2 = "";
	var _int_members3 = "";
	var _int_seatKind = "";
	var _trip_ticket = "06";
	var _monthCal = "";

	//初期値設定：日付取得 3日後取得
	var Days3 = new Array();
	Days3 = getDays(3, sysYear, sysMonth, sysDay);
	Days3["day"] = "";

	if (_month1.length == 1) {
		_month1 = "0" + String(_month1);
	}
	_monthCal = parseInt(sysMonth) + 1;
	if (_monthCal > 12) {
		_monthCal = _monthCal - 1;
	}
	if (_monthCal.length == 1) {
		_monthCal = "0" + String(_monthCal);
	}

	//モジュール初期化
	var DepApo_ticket_2 = new airportTag("DepApo_ticket_2", intDepApo_list, true, true, false, _depApo1, "", "");
	var ArrApo_ticket_2 = new airportTag("ArrApo_ticket_2", intArrApo_list, true, true, true, _arrApo1, "", "");
	var ArrArea_ticket_2 = new airportTag("ArrArea_ticket_2", intArrArea_list, true, true, true, _arrArea, ArrApo_ticket_2, "");
	var toDay_ticket_2 = new dayTag("toDay_ticket_2", "ja", "", _month1);
	var toMonth_ticket_2 = new monthTag("toMonth_ticket_2", "ja", true, "-", "", _month1, toDay_ticket_2);
	var backDay_ticket_2 = new dayTag("backDay_ticket_2", "ja", "", Days3["month"]);
	var backMonth_ticket_2 = new monthTag("backMonth_ticket_2", "ja", true, "-", "", Days3["month"], backDay_ticket_2);
	var Members1_ticket_2 = new listTag("Members1_ticket_2", intMembers_list, _int_members1, false);
	var Members2_ticket_2 = new listTag("Members2_ticket_2", intMembers8_list, _int_members2, false);
	var Members3_ticket_2 = new listTag("Members3_ticket_2", intMembers9_list, _int_members3, false);
	var Seat_ticket_2 = new listTag("Seat_ticket_2", intSeat_list, _int_seatKind, false);

	//日の再ロード
	toDay_ticket_2.ZeroDay = true;
	toDay_ticket_2.defaultValue = _day1;
	toDay_ticket_2.onLoad();
	backDay_ticket_2.ZeroDay = true;
	backDay_ticket_2.defaultValue = Days3["day"];
	backDay_ticket_2.onLoad();

	//クラスオーバーライド
	var monthMove = false;
	ArrArea_ticket_2.onChangeOverride = function() {
		var ArrAreaCode = document.getElementById("ArrArea_ticket_2").value;
		var AASList = new Array();
		if (ArrAreaCode != "") {
			var ArrLen = intArrApo_list[ArrAreaCode].length;
			AASList = intArrApo_list[ArrAreaCode].slice(1, ArrLen);
		} else {
			for (key in intArrApo_list) {
				AASList = AASList.concat(intArrApo_list[key], false);
			}
			AASList.unshift({value:"", text:"Port of arrival"});
		}
		createDropDown("ArrApo_ticket_2", AASList, false);
	}
	toDay_ticket_2.onChangeOverride = function() {
		var monthss = document.getElementById("toMonth_ticket_2").value;
		var Days = new Array();
		if ((document.getElementById("toDay_ticket_2").value == "") || (monthMove == true)) {
			setDropDown("toDay_ticket_2", "01");
		}
		Days = getDays(3, sysYear, monthss, document.getElementById("toDay_ticket_2").value);
		document.getElementById("backMonth_ticket_2").value = String(Days["month"]);

		if (monthMove == true) {
			Days["day"] = "04";
		}

		makeDayDropDown("backDay_ticket_2", Days["year"], Days["month"], true, Days["day"]);
		monthMove = false;
	}
	toMonth_ticket_2.onChangeOverride = function() {
		monthMove = true;
		toDay_ticket_2.onChange();
	}

	//デフォルト値の設定
	if (typeof depApo_2 != "undefined") {
		if (depApo_2 != "") {
			setDropDown("DepApo_ticket_2", depApo_2);
		}
	}
	if (typeof arrArea_2 != "undefined") {
		if (arrArea_2 != "") {
			setDropDown("ArrArea_ticket_2", arrArea_2);
			ArrArea_ticket_2.onChangeOverride();
		}
	}
	if (typeof arrApo_2 != "undefined") {
		if (arrApo_2 != "") {
			setDropDown("ArrApo_ticket_2", arrApo_2);
		}
	}
	if (typeof seatClass_2 != "undefined") {
		if (seatClass_2 != "") {
			setDropDown("Seat_ticket_2", seatClass_2);
		}
	}
	//現在日の取得
	var now_date = new Date();
	var now_year = now_date.getFullYear();
	var now_month = now_date.getMonth() + 1;
	var now_day = now_date.getDate();

	setDropDown("toMonth_ticket_2", parseInt(now_month));
	setDropDown("toDay_ticket_2", parseInt(now_day));
	setDropDown("backMonth_ticket_2", parseInt(now_month));
	setDropDown("backDay_ticket_2", parseInt(now_day));

	// HTML初期値をセット（日付）
	var embDate = "";
	var startDate = "";
	var startDateFlg = false;
	if ((typeof limitYear_2 != 'undefined') && (limitYear_2 != '')) {
		embDate = String(now_year);
		startDate = String(limitYear_2);
		var compYear = String(limitYear_2);
	} else {
		var compYear = String(now_year);
	}
	if ((typeof limitMonth_2 != 'undefined') && (limitMonth_2 != '')) {
		if (String(limitMonth_2).length == 1) {
			limitMonth_2 = "0" + String(limitMonth_2);
		} else {
			limitMonth_2 = String(limitMonth_2);
		}
		if ((typeof limitDay_2 != 'undefined') && (limitDay_2 != '')) {
			if (String(limitDay_2).length == 1) {
				limitDay_2 = "0" + String(limitDay_2);
			} else {
				limitDay_2 = String(limitDay_2);
			}
			if (String(now_month).length == 1) {
				now_month = "0" + String(now_month);
			} else {
				now_month = String(now_month);
			}
			if (String(now_day).length == 1) {
				now_day = "0" + String(now_day);
			} else {
				now_day = String(now_day);
			}
			embDate += String(now_month) + String(now_day);
			startDate += String(limitMonth_2) + String(limitDay_2);
			if (parseInt(embDate, 10) < parseInt(startDate, 10)) {
				setDropDown("toMonth_ticket_2", parseInt(limitMonth_2, 10));
				dayList = createDayList(compYear, limitMonth_2, true);
				createDropDown("toDay_ticket_2", dayList, false);
				setDropDown("toDay_ticket_2", parseInt(limitDay_2, 10));
				startDateFlg = true;
			}
		}
	}

	//往路の取得
	if (startDateFlg == true) {
		var after_date = new Date(parseInt(compYear, 10), parseInt(limitMonth_2, 10) - 1, parseInt(limitDay_2, 10));
	} else {
		var after_date = new Date();
	}

	if ((typeof plusDay_2 != "undefined") && (plusDay_2 != "")) {
		after_date.setTime(after_date.getTime()+(plusDay_2*24*3600*1000));
	}
	var after_year = after_date.getFullYear();
	var after_month = after_date.getMonth() + 1;
	var after_day = after_date.getDate();

	setDropDown("backMonth_ticket_2", parseInt(after_month, 10));
	dayList = createDayList(after_year, after_month, true);
	createDropDown("backDay_ticket_2", dayList, false);
	setDropDown("backDay_ticket_2", parseInt(after_day, 10));

}


/*******************************************************************************
 * Submit関数
 * 
 *******************************************************************************/
//------------------------------------------------------------------------航空券
function ticketSubmit() {

	document.getElementById("DepApoCode_ticket").value = document.getElementById("DepApo_ticket").value;
	document.getElementById("ArrApoCode_ticket").value = document.getElementById("ArrApo_ticket").value;

	if (document.getElementById("toMonth_ticket").value < 10) {
		document.getElementById("toMonth_ticket1").value = document.getElementById("toMonth_ticket").value.substr(1,2);
	} else {
		document.getElementById("toMonth_ticket1").value = document.getElementById("toMonth_ticket").value;
	}
	if (document.getElementById("toDay_ticket").value < 10) {
		document.getElementById("toDay_ticket1").value = document.getElementById("toDay_ticket").value.substr(1,2);
	} else {
		document.getElementById("toDay_ticket1").value = document.getElementById("toDay_ticket").value;
	}
	if (document.getElementById("backMonth_ticket").value < 10) {
		document.getElementById("backMonth_ticket1").value = document.getElementById("backMonth_ticket").value.substr(1,2);
	} else {
		document.getElementById("backMonth_ticket1").value = document.getElementById("backMonth_ticket").value;
	}
	if (document.getElementById("backDay_ticket").value < 10) {
		document.getElementById("backDay_ticket1").value = document.getElementById("backDay_ticket").value.substr(1,2);
	} else {
		document.getElementById("backDay_ticket1").value = document.getElementById("backDay_ticket").value;
	}

	//遷移先の変更
	if (document.getElementById("unit3_ticket_days2").checked == true){
		//指定日のみ
		document.getElementById("TABLE").action = log_url['int_tic_sub3'];
	} else {
		//指定日+-2日間
		document.getElementById("TABLE").action = log_url['int_tic_sub'];
	}

	return true;

}
//-----------航空券（1ページ内に2つのモジュールがある場合、2つ目はこちらを使う）
function ticket2Submit() {

	document.getElementById("DepApoCode_ticket_2").value = document.getElementById("DepApo_ticket_2").value;
	document.getElementById("ArrApoCode_ticket_2").value = document.getElementById("ArrApo_ticket_2").value;

	if (document.getElementById("toMonth_ticket_2").value < 10) {
		document.getElementById("toMonth_ticket1_2").value = document.getElementById("toMonth_ticket_2").value.substr(1,2);
	} else {
		document.getElementById("toMonth_ticket1_2").value = document.getElementById("toMonth_ticket_2").value;
	}
	if (document.getElementById("toDay_ticket_2").value < 10) {
		document.getElementById("toDay_ticket1_2").value = document.getElementById("toDay_ticket_2").value.substr(1,2);
	} else {
		document.getElementById("toDay_ticket1_2").value = document.getElementById("toDay_ticket_2").value;
	}
	if (document.getElementById("backMonth_ticket_2").value < 10) {
		document.getElementById("backMonth_ticket1_2").value = document.getElementById("backMonth_ticket_2").value.substr(1,2);
	} else {
		document.getElementById("backMonth_ticket1_2").value = document.getElementById("backMonth_ticket_2").value;
	}
	if (document.getElementById("backDay_ticket_2").value < 10) {
		document.getElementById("backDay_ticket1_2").value = document.getElementById("backDay_ticket_2").value.substr(1,2);
	} else {
		document.getElementById("backDay_ticket1_2").value = document.getElementById("backDay_ticket_2").value;
	}

	//遷移先の変更
	if (document.getElementById("unit3_ticket_days2_2").checked == true){
		//指定日のみ
		document.getElementById("TABLE_2").action = log_url['int_tic_sub3'];
	} else {
		//指定日+-2日間
		document.getElementById("TABLE_2").action = log_url['int_tic_sub'];
	}

	return true;

}


/*******************************************************************************
 * 汎用関数
 * 
 *******************************************************************************/

//エコ割ユース表示切り替え
function changeEco(div, radio) {

	if (document.getElementById(div) != null) {
		if (document.getElementById(radio).checked == true) {
			document.getElementById(div).style.display = "none";
		} else {
			document.getElementById(div).style.display = "inline";
		}
	}

}

