function JLJS_SearchOther() {
	this.NONE_CLASS = "nondisplay";
	this.CAL_OPT_ROUNDTRIP = {start:0, end:365, startNoReserveMonthDisplay:false, dayOfWeekFlag: true, dayRange:'1'};
	this.CAL_OPT_ONEWAY = {start:0, end:365, startNoReserveMonthDisplay:false, dayOfWeekFlag: true};
}

JLJS_SearchOther.prototype = {
	
	init : function() {
		if(!JLJS_CalNav.used) {
			var searchTableTrip = document.getElementById("searchTableTrip");
			var calIcons = JLJS.getElementsByClassName(JLJS_CalNav.ICON_CLASS, "a", searchTableTrip);
			if(calIcons) {
				for(var i=0; i<calIcons.length; i++) {
					JLJS.classAttr.add(calIcons[i], "hidden");	
				}
			}
		}
	},
	
	setDayOfWeek : function(month, day, func, data) {
		var dateSelector = new JLJS_DateSelector(month, day);
		dateSelector.dayOfWeekFlag = true;
		if(!func) {
			dateSelector.setDateBySelecter();
		} else {
			dateSelector[func](data);
		}
		dateSelector.setDay();
	},
	
	chgDispSchedule : function(kbn) {
		var rRoundtrip = document.getElementById("rRoundtrip");
		var rOneway = document.getElementById("rOneway");
		var roundtrip = document.getElementById("roundtrip");
		var oneway = document.getElementById("oneway");
		
		if(kbn == "roundtrip") {
			rRoundtrip.checked = true;
			JLJS.classAttr.remove(roundtrip, this.NONE_CLASS);
			JLJS.classAttr.add(oneway, this.NONE_CLASS);
		} else {
			rOneway.checked = true;
			JLJS.classAttr.remove(oneway, this.NONE_CLASS);
			JLJS.classAttr.add(roundtrip, this.NONE_CLASS);
		}
	},
	
	chgDispFare : function(kbn) {
		var rRoundtrip = document.getElementById("rRoundtrip");
		var rOneway = document.getElementById("rOneway");
		var rMulti = document.getElementById("rMulti");
		var basic =  document.getElementById("basic");
		var roundtrip = document.getElementById("roundtrip");
		var oneway = document.getElementById("oneway");
		var multi = document.getElementById("multi");
		var fareAreaWeekLink = document.getElementById("fareAreaWeekLink");
		
		if(kbn == "roundtrip") {
			rRoundtrip.checked = true;
			JLJS.classAttr.remove(basic, this.NONE_CLASS);
			JLJS.classAttr.remove(roundtrip, this.NONE_CLASS);
			JLJS.classAttr.add(oneway, this.NONE_CLASS);
			JLJS.classAttr.add(multi, this.NONE_CLASS);
			fareAreaWeekLink.style.display = "block";
		} else if(kbn == "oneway") {
			rOneway.checked = true;
			JLJS.classAttr.remove(basic, this.NONE_CLASS);
			JLJS.classAttr.remove(oneway, this.NONE_CLASS);
			JLJS.classAttr.add(roundtrip, this.NONE_CLASS);
			JLJS.classAttr.add(multi, this.NONE_CLASS);
			fareAreaWeekLink.style.display = "none";
		} else {
			rMulti.checked = true;
			JLJS.classAttr.remove(multi, this.NONE_CLASS);
			JLJS.classAttr.add(basic, this.NONE_CLASS);
			JLJS.classAttr.add(roundtrip, this.NONE_CLASS);
			JLJS.classAttr.add(oneway, this.NONE_CLASS);
			fareAreaWeekLink.style.display = "none";
		}
	},
	
	frmSubmit : function() {
		var rRoundtrip = document.getElementById("rRoundtrip");
		var rOneway = document.getElementById("rOneway");
		var rMulti = document.getElementById("rMulti");
		
		if(rRoundtrip.checked) {
			document.resv_form.submit();
		} else if(rOneway.checked) {
			document.onewayFrm.submit();
		} else {
			document.multiFrm.submit();
		}
	},
	
	chgDate : function(frm, monthName1, dayName1, monthName2, dayName2) {
		var arrMonthElm;
		var arrDayElm;
		if(monthName2 && dayName2) {
			arrMonthElm = frm[monthName2];
			arrDayElm = frm[dayName2];
		}
		JLJS_SrchDateCtrl.chgDate(frm[monthName1], frm[dayName1], arrMonthElm, arrDayElm);
	},
	
	openCalWin : function(obj, frm, monthName1, dayName1, monthName2, dayName2) {
		var arrMonthElm;
		var arrDayElm;
		if(monthName2 && dayName2) {
			arrMonthElm = frm[monthName2];
			arrDayElm = frm[dayName2];
		}
		JLJS_SrchDateCtrl.openCalWin(obj, frm[monthName1], frm[dayName1], arrMonthElm, arrDayElm);
	},
	
	chgOption : function(obj, frm) {
		var disabledFlg = true;
		if(obj && obj.value == "flexible") {
			disabledFlg = false;
		}
		for(var i=1; i<=4; i++) {
			if(frm["flexibleFlag" + i]) {
				frm["flexibleFlag" + i].disabled = disabledFlg;
			}
		}
		
		disabledFlg = true;
		if(obj && obj.value == "selectFare") {
			disabledFlg = false;
		}
		frm["selectionFare"].disabled = disabledFlg;
		
		disabledFlg = true;
		if(obj && obj.value == "addFare") {
			disabledFlg = false;
		}
		frm["additionalFare"].disabled = disabledFlg;
		
		var searchOption = frm["searchOption"];
		for(var i=0; i<searchOption.length; i++) {
			if(obj && obj.value == searchOption[i].value) {
				searchOption[i].checked = true;
			} else {
				searchOption[i].checked = false;
			}
		}
	}	
}

var JLJS_SrchOthr = new JLJS_SearchOther();
JLJS.addOnload(function(){
	JLJS_SrchOthr.init();
});



function f_calControl() {
	this.frm;
}

f_calControl.prototype = {
	init : function() {
		if(document.resv_form) {
			this.frm = document.resv_form;
			JLJS_SrchOthr.chgDate(this.frm, "departureMonth1", "departureDay1");
			this.chgDate2();
		}
	},
	
	chgDate1 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth1", "departureDay1", "departureMonth2", "departureDay2");
	},
	
	chgDate2 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth2", "departureDay2");
	},
	
	openCalWin1 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth1", "departureDay1", "departureMonth2", "departureDay2");
	},
	
	openCalWin2 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth2", "departureDay2");
	},
	
	chgOption : function(obj) {
		JLJS_SrchOthr.chgOption(obj, this.frm);
	}
	
}

var f_cal = new f_calControl();
JLJS.addOnload(function(){
	f_cal.init();
});



function JLJS_OnewayControl() {
	this.frm;
}

JLJS_OnewayControl.prototype = {
	init : function() {
		if(document.onewayFrm) {
			this.frm = document.onewayFrm;
			this.chgDate();
		}
	},

	chgDate : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth1", "departureDay1");
	},
	
	openCalWin : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth1", "departureDay1");
	},
	
	chgOption : function(obj) {
		JLJS_SrchOthr.chgOption(obj, this.frm);
	}
	
}

var JLJS_Oneway = new JLJS_OnewayControl();
JLJS.addOnload(function(){
	JLJS_Oneway.init();
});



function JLJS_MultiControl() {
	this.frm;
}

JLJS_MultiControl.prototype = {
	init : function() {
		if(document.multiFrm) {
			this.frm = document.multiFrm;
			JLJS_SrchOthr.chgDate(this.frm, "departureMonth1", "departureDay1");
			this.chgDate2();
			this.chgDate3();
			this.chgDate4();
		}
	},
	
	chgDate1 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth1", "departureDay1", "departureMonth2", "departureDay2");
	},
	
	chgDate2 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth2", "departureDay2");
	},
	
	chgDate3 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth3", "departureDay3");
	},
	
	chgDate4 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "departureMonth4", "departureDay4");
	},
	
	openCalWin1 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth1", "departureDay1", "departureMonth2", "departureDay2");
	},
	
	openCalWin2 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth2", "departureDay2");
	},
	
	openCalWin3 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth3", "departureDay3");
	},
	
	openCalWin4 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "departureMonth4", "departureDay4");
	},
	
	chgArrivalAirport : function() {
		this.frm.departureAirportCode2.selectedIndex = this.frm.arrivalAirportCode1.selectedIndex;
	},
	
	chgOption : function(obj) {
		JLJS_SrchOthr.chgOption(obj, this.frm);
	}
	
}

var JLJS_Multi = new JLJS_MultiControl();
JLJS.addOnload(function(){
	JLJS_Multi.init();
});



function JLJS_AreaWeekControl() {
	this.frm;
}

JLJS_AreaWeekControl.prototype = {
	init : function() {
		if(document.areaWeekFrm) {
			this.frm = document.areaWeekFrm;
			JLJS_SrchOthr.chgDate(this.frm, "a_departureMonth1", "a_departureDay1");
			this.chgDate2();
		}
	},
	
	chgDate1 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "a_departureMonth1", "a_departureDay1", "a_departureMonth2", "a_departureDay2");
	},
	
	chgDate2 : function() {
		JLJS_SrchOthr.chgDate(this.frm, "a_departureMonth2", "a_departureDay2");
	},
	
	openCalWin1 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "a_departureMonth1", "a_departureDay1", "a_departureMonth2", "a_departureDay2");
	},
	
	openCalWin2 : function(obj) {
		JLJS_SrchOthr.openCalWin(obj, this.frm, "a_departureMonth2", "a_departureDay2");
	},
	
	chgOption : function(obj) {
		JLJS_SrchOthr.chgOption(obj, this.frm);
	},
	
	chgSearchKbn : function(obj) {
		var disabledFlg = true;
		if(obj && obj.value == "area") {
			disabledFlg = false;
		}
		this.frm["a_departureAirportCode1"].disabled = disabledFlg;
		this.frm["a_arrivalAirportCode1"].disabled = disabledFlg;
		this.frm["a_class1"].disabled = disabledFlg;
		this.frm["a_departureMonth1"].disabled = disabledFlg;
		this.frm["a_departureDay1"].disabled = disabledFlg;
		this.frm["a_departureTime1"].disabled = disabledFlg;
		this.frm["a_departureMonth2"].disabled = disabledFlg;
		this.frm["a_departureTime2"].disabled = disabledFlg;
		this.frm["a_departureDay2"].disabled = disabledFlg;

		disabledFlg = true;
		if(obj && obj.value == "dayOfWeek") {
			disabledFlg = false;
		}
		this.frm["w_departureAirportCode1"].disabled = disabledFlg;
		this.frm["w_arrivalAirportCode1"].disabled = disabledFlg;
		this.frm["w_class1"].disabled = disabledFlg;
		this.frm["w_departureMonth1"].disabled = disabledFlg;
		this.frm["w_departureTime1"].disabled = disabledFlg;
		this.frm["w_daysToStay"].disabled = disabledFlg;

		for(var i=0; i<7; i++) {
			this.frm["w_departureDayInWeek"][i].disabled = disabledFlg;	
		}
	},

	getSelectValue : function(name) {
		return this.frm[name].options[this.frm[name].selectedIndex].value;
	},

	frmSubmit : function() {
		
		var searchKbn = this.frm["searchKbn"];
		var kbn = "";
		for(var i=0; i<searchKbn.length; i++) {
			if(searchKbn[i].checked) {
				kbn = searchKbn[i].value;
				break;	
			}
		}
		
		if(kbn == "area") {
			this.frm["dayInWeekSearchFlag"].value = "false";
			this.frm["departureAirportCode1"].value = this.getSelectValue("a_departureAirportCode1");
			this.frm["arrivalAirportCode1"].value = this.getSelectValue("a_arrivalAirportCode1");
			this.frm["departureMonth1"].value = this.getSelectValue("a_departureMonth1");
			this.frm["departureDay1"].value = this.getSelectValue("a_departureDay1");
			this.frm["departureMonth2"].value = this.getSelectValue("a_departureMonth2");
			this.frm["departureDay2"].value = this.getSelectValue("a_departureDay2");
			this.frm["class1"].value = this.getSelectValue("a_class1");
			this.frm["departureTime1"].value = this.getSelectValue("a_departureTime1");
			this.frm["departureTime2"].value = this.getSelectValue("a_departureTime2");
			this.frm["daysToStay"].value = "";
			this.frm["departureDayInWeek"].value = "";
		} else {
			this.frm["dayInWeekSearchFlag"].value = "true";	
			this.frm["departureAirportCode1"].value = this.getSelectValue("w_departureAirportCode1");
			this.frm["arrivalAirportCode1"].value = this.getSelectValue("w_arrivalAirportCode1");
			this.frm["departureMonth1"].value = this.getSelectValue("w_departureMonth1");
			this.frm["departureDay1"].value = "";
			this.frm["departureMonth2"].value = "";
			this.frm["departureDay2"].value = "";
			this.frm["class1"].value = this.getSelectValue("w_class1");
			this.frm["departureTime1"].value = this.getSelectValue("w_departureTime1");
			this.frm["departureTime2"].value = "";
			var daysToStay = this.frm["w_daysToStay"];
			for(var i=0; i<daysToStay.length; i++) {
				if(daysToStay[i].checked) {
					this.frm["daysToStay"].value = daysToStay[i].value;
					break;	
				}
			}
			this.frm["departureDayInWeek"].value = this.getSelectValue("w_departureDayInWeek");
		}
	}
	
}

var JLJS_AreaWeek = new JLJS_AreaWeekControl();
JLJS.addOnload(function(){
	JLJS_AreaWeek.init();
	if(JLJS_AreaWeek.frm) {
		for(var i=0; i<JLJS_AreaWeek.frm.searchKbn.length; i++) {
			if(JLJS_AreaWeek.frm.searchKbn[i].checked) {
				JLJS_AreaWeek.chgSearchKbn(JLJS_AreaWeek.frm.searchKbn[i]);
				break;
			}
		}	
	}
});



var idLinkInfo = [];
for(var i=1; i<=4; i++) {
	idLinkInfo[i-1] = {"no":"0" + i, "image":"/domes/common5/img/icon_close_001.gif", "text":"検索オプション（運賃指定）"};
}
JLJS_CDisplay.idLinkInfo = idLinkInfo;
