/*******************************************************************************
 * 初期化
 * 
 *******************************************************************************/

//カレンダープロパティ
PopupCalendarProperties = function (){

	// maximum limit of selectable month
	after_month = 5;

	// calculate limit day from after_month
	if (after_month > 0) {
		afterMonth = parseInt(sysMonth, 10) + after_month;
		if (afterMonth > 12) {
			afterMonth = afterMonth - 12;
			afterYear = parseInt(sysYear, 10) + 1;
		} else {
			afterYear = parseInt(sysYear, 10);
		}
		EndDate = new Date(afterYear, afterMonth, 0);
		nowDate = new Date(sysYear, (sysMonth - 1), sysDay);
		var diff = EndDate - nowDate;
		var diffDay = diff / 86400000;
	} else {
		var diffDay = 355;
	}

	//alert(diffDay);

	// maximum limit of selectable day from system date
	this.maxLimitDays = diffDay;

	// maximum limit of selectable month from system date
	this.maxLimitMonths = null;
	
	// shows holiday
	// true:shows false:not shows
	this.isDispHoliday = true;
	
	// locale of the popup calendar
	// "J":Japanese "E":English
	this.locale = "E";
	
	// length of the popup calendar that shows up
	this.calendarLength = 3;

	// prop 1st list item
	this.extra = "";

	return this;
};

//カレンダー表示（IE6以下、Safari3以下は表示しない）
var moneMonth = parseInt(sysMonth) - 1;
PCP_dom_ticket = new PopupCalendarProperties();
var DU_dom_int = new DateUtil(sysYear, moneMonth, sysDay, PCP_dom_ticket);
var cal1 = new PopupCalendar("cal1", "calid1", "segConditionForm.selectedEmbMonth", "segConditionForm.selectedEmbDay", "1", "calImg1", "10px", "0px", "", 0, 0, "0", document.segConditionForm, "", 0, DU_dom_int);
var CalendarContoroller = new CalendarContoroller(cal1);

//履歴Cookieの読み込み
var hen;

function init_dom() {

	//履歴Cookieの読み込み
	hen = readHistoryCookie();
	
	//初期値変数
	var _depApo1 = "HND";
	var _arrApo1 = "HND";
	var _dom_Time = "-";
	var _dom_seatKind = "Y";

	// 2011/1/27 TCI　人数欄追加
	var _dom_members1 = "1";	//1名を初期値に設定
	var _dom_members2 = "0";
	var _dom_members3 = "0";


	// 天気の地域：空港
	if ((hen['wl'] == '0') || (hen['wl'] == '99')) {
		_depApo1 = domRelation_ip_obj[13];
	} else {
		if ((domRelation_ip_obj[hen['wl']] != '') && (typeof domRelation_ip_obj[hen['wl']] != 'undefined')){
			_depApo1 = domRelation_ip_obj[hen['wl']];
		}
	}

	// いつもの設定：空港
	if (dom_depApo1 == "" && dom_arrApo1 == "") {
		if (dom_depApo2 != "") {
			_depApo1 =dom_depApo2;
		}
		if (dom_arrApo2 != "") {
			_arrApo1 =dom_arrApo2;
		}
	} else {
		if (dom_depApo1 != "") {
			_depApo1 =dom_depApo1;
		}
		if (dom_arrApo1 != "") {
			_arrApo1 =dom_arrApo1;
		}
	}

	// いつもの設定：搭乗クラス
	if (dom_seatKind == "") {
		_dom_seatKind = "Y";
	} else {
		_dom_seatKind = dom_seatKind;
	}

	/***************************************************************************
	// //モジュール初期化
	***************************************************************************/
	var airportList = domAirport_list.slice(1);
	var DepApo_ticket = new airportTag("DepApo_ticket", airportList, true, true, false, _depApo1, "", "");		// 出発空港
	var ArrApo_ticket = new airportTag("ArrApo_ticket", airportList, true, true, false, _arrApo1, "", "");		// 到着空港
	var Time_ticket = new listTag("Time_ticket", time_list, _dom_Time, false);									// 出発時刻

	// 2011/1/27 TCI　人数欄追加
	if(document.getElementById("paxCountConditionForm.selectedAdultCount")){
		var paxCountConditionForm_selectedAdultCount = new listTag("paxCountConditionForm.selectedAdultCount", domMembersAirport_list, _dom_members1, true);
	}
	if(document.getElementById("paxCountConditionForm.selectedChildCount")){
		var paxCountConditionForm_selectedChildCount = new listTag("paxCountConditionForm.selectedChildCount", domMembersAirport_list, _dom_members2, true);
	}
	if(document.getElementById("paxCountConditionForm.selectedInfantCount")){
		var paxCountConditionForm_selectedInfantCount = new listTag("paxCountConditionForm.selectedInfantCount", domMembersAirport2_list, _dom_members3, true);
	}
	
	// 座席種類
	if(_dom_seatKind == "S"){
		document.getElementById("superSeat").checked = true;
	}else{
		document.getElementById("normalSeat").checked = true;
	}
	
	// 会員の場合はいつものボタンをセット
	if(_isMember()) {
		document.getElementById("reverseBtn").style.visibility = "visible";
		createItsumonoBtn();
	}else {
		document.getElementById("reverseBtn").style.visibility = "hidden";
		document.getElementById("reverseBtn").style.display = 'none';
	}

	//================================================ 日付処理 {
	// 初期設定値
	var defMonth = "";
	var defDay = "";

	// 月日プルダウンの初期設定値
	// ログイン時はemb
	// 非ログイン時はsys
	if (_isMember()) {
		defMonth = embMonth;
		defDay = embDay;
	} else {
		defMonth = sysMonth;
		defDay = sysDay;
	}

	// valueのゼロ詰め整形
	defMonth = zeroPadding(defMonth);
	defDay = zeroPadding(defDay);

	//------------------------------------------------日付パラメータの設定
	var Date_ticket = new DateObject("Month_ticket", "Day_ticket");
		Date_ticket.init_month = defMonth;  // 初期設定月
		Date_ticket.init_day = defDay;      // 初期設定日
		Date_ticket.month_display_flag = 1;   // 月の期間表示をする
		Date_ticket.between_month = 6;        // 月の6ヶ月間表示

	//------------------------------------------------初期化
	Date_ticket.onMonthLoad();
	//================================================ } 日付処理

}

/*******************************************************************************
 * Submit関数
 * 
 *******************************************************************************/
// フォーム送信
function TicOnSubmit() {
	
    with (document.segConditionForm) {
        elements[4].options[elements[4].selectedIndex].value = Number(elements[4].value);
        elements[5].options[elements[5].selectedIndex].value = Number(elements[5].value);
    }
    return true;
}

/*******************************************************************************
 * 汎用関数
 * 
 *******************************************************************************/
// 逆区間ボタンのイベント（空港を入れ替える）
function reverseAirport(DepApo, ArrApo) {
	
	var DepApoValue = document.getElementById(DepApo).value;
	var ArrApoValue = document.getElementById(ArrApo).value;

	setDropDown(DepApo, ArrApoValue);
	setDropDown(ArrApo, DepApoValue);
}

// いつものボタンのセット
function createItsumonoBtn() {
	
	var depFlg1 = (dom_depApo1 != "" || dom_arrApo1 != "") ? true: false;
	var depFlg2 = (dom_depApo2 != "" || dom_arrApo2 != "") ? true: false;
	var btnItsumono = "";
	
	/*if (_isOftenMember()) {
	
		//上級会員
	
		// 登録がある場合はボタンを表示
		if(depFlg1) {
			btnItsumono += '<a href="javascript:setItsumono(document.segConditionForm[ \'segConditionForm.selectedDepApo\'], document.segConditionForm[\'segConditionForm.selectedArrApo\'], 1);">'
			btnItsumono += '<img  name="buttonItsumono_1" src="/eng/toppage/image/module/sp/btn-day1_elite.gif" width="87" height="18" border="0" alt="Saved Route 1" /></a>';
		}
		if(depFlg2) {
			btnItsumono += '<a href="javascript:setItsumono(document.segConditionForm[ \'segConditionForm.selectedDepApo\'], document.segConditionForm[\'segConditionForm.selectedArrApo\'], 2);">'
			btnItsumono += '<img  name="buttonItsumono_2" src="/eng/toppage/image/module/sp/btn-day2_elite.gif" width="87" height="18" border="0" alt="Saved Route 2" /></a>';
		}
	
		// 逆区間ボタンを表示（空港登録がない場合は逆区間ボタンのみ）
		var html = '<a href="javascript:reverseAirport(document.segConditionForm[\'segConditionForm.selectedDepApo\'], document.segConditionForm[\'segConditionForm.selectedArrApo\']);"><img src="/eng/toppage/image/module/sp/btn-return.gif" width="174" height="23" border="0" alt="Switch Departure and Destination" /></a><br>' + btnItsumono;
		document.getElementById("memberOnlyMenu").innerHTML = html;
	} else {*/
		//一般会員
		
		//登録がある場合はボタンを表示
		if(depFlg1) {
			btnItsumono += '<a href="javascript:setItsumono(\'DepApo_ticket\', \'ArrApo_ticket\', 1);">'
			btnItsumono += '<img src="/toppage/image/renewal11_e/common/mod-bt-01.gif" width="94" height="18"></a>';
		}
		if(depFlg2) {
			btnItsumono += '<a href="javascript:setItsumono(\'DepApo_ticket\', \'ArrApo_ticket\', 2);">'
			btnItsumono += '<img src="/toppage/image/renewal11_e/common/mod-bt-02.gif" width="94" height="18"></a>';
		}

		// 逆区間ボタンを表示（空港登録がない場合は逆区間ボタンのみ）
		var html = '<a href="javascript:reverseAirport(\'DepApo_ticket\', \'ArrApo_ticket\');"><img src="/toppage/image/renewal11_e/common/mod-bt-switch.gif" width="194" height="18"></a><br>' + btnItsumono;
		document.getElementById("memberOnlyMenu").innerHTML = html;
	//}
}

// いつもの情報空港のセット
function setItsumono(targetDep, targetArr, no) {

	var _dep = "";
	var _arr = "";
	
	if (no == 1) {
		_dep = (dom_depApo1 == "") ? "HND" : dom_depApo1;
		_arr = (dom_arrApo1 == "") ? "HND" : dom_arrApo1;
		
	} else if(no == 2) {
		_dep = (dom_depApo2 == "") ? "HND" : dom_depApo2;
		_arr = (dom_arrApo2 == "") ? "HND" : dom_arrApo2;
	}

	setDropDown(targetDep, _dep);
	setDropDown(targetArr, _arr);
}

