/**
 * トップ画面の初期化、イベントに関する処理
 * ・地域Select初期化
 * ・ホテルSelect初期化
 * ・地域空室照会のチェックイン日付Select初期化
 * ・ダイレクト予約のチェックイン日付Select初期化
 * ・地域空室照会のチェックイン日付にイベント追加（年、月が変更になったときのイベント）
 * ・ダイレクト予約のチェックイン日付にイベント追加（年、月が変更になったときのイベント）
 */

/**
 * loadAreaList処理で実行したAjaxのコールバック処理
 * Ajaxの結果XML（地域の一覧）を地域Selectに設定する。
 */
function callBackLoadAreaList(request){
	jss.dom.core.removeChildNodes($('area'));
	
	//alert(request.responseText);
	//return;
	var xml = request.responseXML;
	var result = xml.getElementsByTagName('result')[0].firstChild.nodeValue;
	try{
		if(result == 'success'){
			var opts = xml.getElementsByTagName('option');
			//alert(opts.length);
			jss.dom.form.addSelectOption($('area'), '', '----お選びください----', false);
			
			for(var i=0 ; i<opts.length ; i++){
				var val = opts[i].getAttribute('value');
				var text = opts[i].getAttribute('text');
				var selected = false;
				if(val == $('bk_area').value){
					selected = true;
				}
				jss.dom.form.addSelectOption($('area'), val, text, selected);
			}
		}else{
	        var errNo = xml.getElementsByTagName('errorMsg')[0].firstChild.nodeValue;
	        errNo = errNo.substring(0,3);
			if(errNo == 400){
				location.href='../WWWSorryMsgJS.jsp';
			} else {
				alert(xml.getElementsByTagName('errorMsg')[0].firstChild.nodeValue);
			}
		}
	}catch(exp){
		alert(exp.message);
//	}finally{
//		loadHotel();
	}
}

/**
 * ホテルをSelectにロードする。
 */
function loadHotel(areaVal){
	if(areaVal == null){
		areaVal = 'all';
	}
	$('bk_area').value = areaVal;
	var url = "GetAreaHotelsSV?groupCode="+ areaVal +'&uid='+ jss.suns.util.getUID();
	//var url = "GetAreaHotelsSV?area="+ $F('area');
	var myAjax=new Ajax.Request(
		url, 
		{
			method: 'get', 
			onComplete: setHotel
		});
}

/**
 * loadHotel処理で実行したAjaxのコールバック処理
 * Ajaxの結果XML（ホテルの一覧）をホテルSelectに設定する。
 */
function setHotel(request){
	try{
		
		//alert(request.responseText);
		//return;
		jss.dom.core.removeChildNodes($('HotelCode'));
		
		var xml = request.responseXML;
		var result = xml.getElementsByTagName('result')[0].firstChild.nodeValue;
		if(result == 'success'){
			var opts = xml.getElementsByTagName('option');
			//alert(opts.length);
			jss.dom.form.addSelectOption($('HotelCode'), '', '----お選びください----', false);
			
			for(var i=0 ; i<opts.length ; i++){
				var val = opts[i].getAttribute('value');
				var text = opts[i].getAttribute('text');
				var selected = false;
				if(val != "" && val == $('bk_HotelCode').value){
					selected = true;
				}
				jss.dom.form.addSelectOption($('HotelCode'), val, text, selected);
			}
		}else{
		/* 2008/11/21 add start ueno */
			var errNo = xml.getElementsByTagName('errorMsg')[0].firstChild.nodeValue;
			errNo = errNo.substring(0,3);
			if(errNo == 400){
				location.href='../WWWSorryMsgJS.jsp';
			} else {
				alert(xml.getElementsByTagName('errorMsg')[0].firstChild.nodeValue);
			}
		/* 2008/11/21 add end ueno */
		}
	}catch(e){
		alert(e.message);
	}
}

/**
 * ダイレクト予約のホテルコードの値が変更になったときの処理
 */
function onChangeHotelCode(){
	$('bk_HotelCode').value = jss.dom.form.getValue('HotelCode', 'ResvInput1');
	//alert($('bk_HotelCode').value);
}
/**
 * ダイレクト予約のチェックイン(年)の値が変更になったときの処理
 */
function onChangeYear(){
	$('bk_year').value = jss.dom.form.getValue('year', 'ResvInput1');
	jss.suns.util.setMonth($('year'), $('month'));
	jss.suns.util.setDay($('year'), $('month'), $('day'), $F('day'));
}

/**
 * ダイレクト予約のチェックイン(月)の値が変更になったときの処理
 */
function onChangeMonth(){
	$('bk_month').value = jss.dom.form.getValue('month', 'ResvInput1');
	jss.suns.util.setDay($('year'), $('month'), $('day'), $F('day'));
}

/**
 * ダイレクト予約のチェックイン(日)の値が変更になったときの処理
 */
function onChangeDay(){
	$('bk_day').value = jss.dom.form.getValue('day', 'ResvInput1');
}

/**
 * 地域空室照会のチェックイン日付の初期化処理
 */
function initAreaCheckInDate(){
	var today = new Date();
	// 年
	jss.suns.util.setYear($('areaCiYear'), 2, jss.dom.form.getValue('bk_areaCiYear', 'AreaRoomSearch'));
	// 月
	jss.suns.util.setMonth($('areaCiYear'), $('areaCiMonth'), jss.dom.form.getValue('bk_areaCiMonth', 'AreaRoomSearch'));
	// 日
	jss.suns.util.setDay($('areaCiYear'), $('areaCiMonth'), $('areaCiDay'), jss.dom.form.getValue('bk_areaCiDay', 'AreaRoomSearch'));
}

/**
 * ダイレクト予約のチェックイン日付の初期化処理
 */
function initDirectResvCheckInDate(){
	var today = new Date();
	// 年
	jss.suns.util.setYear($('year'), 2, jss.dom.form.getValue('bk_year', 'ResvInput1'));
	// 月
	jss.suns.util.setMonth($('year'), $('month'), jss.dom.form.getValue('bk_month', 'ResvInput1'));
	// 日
	jss.suns.util.setDay($('year'), $('month'), $('day'), jss.dom.form.getValue('bk_day', 'ResvInput1'));
}

/**
 * 初期処理
 */
function initDocument(){
	// ホテル取得
	loadHotel();
;
	// ダイレクト予約のホテル選択にイベント追加
	jss.dom.event.setEventListener($('HotelCode'), 'change', onChangeHotelCode);
	// ダイレクト予約のチェックイン日にイベント追加
	initDirectResvCheckInDate();
	jss.dom.event.setEventListener($('year'), 'change', onChangeYear);
	jss.dom.event.setEventListener($('month'), 'change', onChangeMonth);
	jss.dom.event.setEventListener($('day'), 'change', onChangeDay);
	
	// 読み込み画像の初期化
	MM_preloadImages('images/btn_user_ov.gif','images/club_btn01ov.gif','images/club_btn02ov.gif');
}

// ロードイベントにinitDocument処理を追加
jss.dom.event.setEventListener(window, 'load', initDocument);



function toPlanList(){

	//alert("in sendSubmit");
	//if($('HotelCode').value == ""){
	//	alert("ホテルを選択してください。");
	//	return;
	//}
	document.DirectInResv.action=jss.suns.app.getDirectInURLSSL() + "/ver3d/planlist.asp";
	document.DirectInResv.hcod1.value = document.ResvInput1.HotelCode.value;
	document.DirectInResv.hidSELECTHAKSU.value = document.ResvInput1.Stay.value;
	document.DirectInResv.hidSELECTadult.value = document.ResvInput1.RoomPax.value;
	document.DirectInResv.room.value = document.ResvInput1.Room.value;
	document.DirectInResv.kasho.value = document.ResvInput1.KasyoCode.value;

	if(document.ResvInput1.SunClub.checked){
		document.DirectInResv.sunc.value = "1";
	}else{
		document.DirectInResv.sunc.value = "0";
	}

	// チェックイン日をhiddenにyyyy/MM/dd形式でまとめる
	number = document.ResvInput1.year.selectedIndex;
	document.ResvInput1.CheckIn.value=document.ResvInput1.year.options[number].value;
	document.ResvInput1.CheckIn.value+="/";
	number = document.ResvInput1.month.selectedIndex;
	document.ResvInput1.CheckIn.value+=document.ResvInput1.month.options[number].value;
	number = document.ResvInput1.day.selectedIndex;
	document.ResvInput1.CheckIn.value+="/";
	document.ResvInput1.CheckIn.value+=document.ResvInput1.day.options[number].value;
	document.DirectInResv.hidSELECTARRYMD.value = document.ResvInput1.CheckIn.value;

	// 実行	
	document.DirectInResv.submit();
}


