
	var responseTagId = "";
	var roomTypeSuffix = "";
	var hotelSuffix = "";
	var responseTagPrefix = "roomType_";

	function onSyncSelectRoomType(paramsId,currRoomNum,hotelSuffix) {
		isOnSync = false;
		doRoomTypeBefore(currRoomNum,hotelSuffix);
		var pars = Form.serialize(paramsId) + "&roomNum=" + currRoomNum; 
		
		//【組み合わせ改修】　2011/02/12　zhaoaiqing add start
		for(var i = 0; ;i++) {
			var selectRoomContext = $("selectRoomContext_" + hotelSuffix+"_"+i);
			if(null == selectRoomContext) {
				break;
			}
			pars = pars + "&"+Form.serialize(selectRoomContext.id)	
		}
		//【組み合わせ改修】　2011/02/12　zhaoaiqing add end
				 
		if($("cmApp_"+hotelSuffix).value == "detail") {
	
			var hotelInfo = $("spanHotelTagInfo_"+hotelSuffix).getElementsByTagName("INPUT");
	
	if(null != hotelInfo && hotelInfo.length > 0) {
				pars = pars + "&tmpDetailInfoTo="+hotelInfo[0].value;
			}
		}		
		var text = "&idSuffix=" + roomTypeSuffix + "&roomSize=" + getRoomSize(hotelSuffix);

		oDPSAJAX.RequestPostUrlText("/DFR01HTL11A01.do", pars + text, onSyncFunction);
	}
	
	var isOnSync = true;

	function onSyncFunction(xmlhttp) {
		isOnSync = true;
		if(null == xmlhttp || null == xmlhttp.responseText) {
			return;
		}
		
		var str = xmlhttp.responseText;
		var repsonseTage = $(responseTagId);
		var status = getStatus(repsonseTage, str);
		doRoomTypeAfter(repsonseTage,status);
		
	}

		

	function selectRoomType(roomTypeSuffix, selectRoomTypeSuffix,roomTypeNum) {

		var selectRoomContext = $("selectRoomContext_" + roomTypeSuffix);

		if (selectRoomContext) {
			selectRoomContext.className = "sub-list-spc cap";
		}

		var select_room_nm = $("select-room-nm_" + roomTypeSuffix);
		var room_nm = $("roomNm_" + selectRoomTypeSuffix);
		if(select_room_nm && room_nm) {
			select_room_nm.innerHTML = room_nm.innerHTML;
			select_room_nm.style.display = "block";	
		}
		var select_rate_nm = $("select-rate-nm_" + roomTypeSuffix);
		var rate_nm = $("rateNm_" + selectRoomTypeSuffix);
		if(select_rate_nm && rate_nm) {
			select_rate_nm.innerHTML = rate_nm.innerHTML;
			select_rate_nm.style.display = "block";	
		}
		var roomTypeNumTag = $("roomTypeNum_" + roomTypeSuffix);
		
		if(roomTypeNumTag){
			roomTypeNumTag.value = roomTypeNum;
			
		}
		
		var roomTypeModifyBtn = $("roomTypeModifyBtn_" + roomTypeSuffix);
		if(roomTypeModifyBtn) {
			roomTypeModifyBtn.style.display = "block";
		}
		var roomTypeModifyGreyBtn = $("roomTypeModifyGreyBtn_" + roomTypeSuffix);
		if(roomTypeModifyGreyBtn) {
			roomTypeModifyGreyBtn.style.display = "none";
		}
		var roomTypeSelectBtn = $("roomTypeSelectBtn_" + roomTypeSuffix);
		if(roomTypeSelectBtn) {
			roomTypeSelectBtn.style.display = "none";
		}
		var hotelIndex = roomTypeSuffix.split("_")[0];
		if(isShowHotelRoomTypeNextBtn(hotelIndex)) {
			var obj = $("roomTypeNext_" + hotelIndex );
			if(obj) obj.style.display = "block";
			
		}
		var y = getY($('htl_rslt_lst_bx_'+hotelIndex));
		window.scrollTo(0,y);
	
		var room_cutn = $("room-cutn_init_" + roomTypeSuffix);
		if(room_cutn) {
			room_cutn.style.display = "none";	
		}
		
		var room_cutn_load = $("room-cutn_load_" + roomTypeSuffix);
		if(room_cutn_load) {
			room_cutn_load.style.display = "none";	
		}
	}

	function getY(obj){   
        	return (obj.offsetParent ? obj.offsetTop + getY(obj.offsetParent) : obj.y ? obj.y : 0);  
	}

	function isShowHotelRoomTypeNextBtn(hotelIndex){
		var isShow = false;
		var isBtnShow = false;
		for(var i = 0; ;i++){
			var obj = $("roomTypeNum_" + hotelIndex +"_"+i);
			
			var roomTypeModifyBtn = $("roomTypeModifyBtn_" + hotelIndex +"_"+i);
			if(obj) {
				if(obj.value != "") {
					isShow = true;
				} else {
					isShow = false;
					break;
				}
				
			} else {
				break;
			}
			if(roomTypeModifyBtn) {
				if(roomTypeModifyBtn.style.display != "none") {
					isBtnShow = true;
				} else {
					isBtnShow = false;
					break;
				}
				
			} else {
				break;
			}

		}
		if(isShow && isBtnShow)	 {
			return true;
		}
		return false;
	}
	//【組み合わせ改修】　2011/02/12　zhaoaiqing add start
	function modifySelectRoomType(roomTypeSuffix,hotelSuffix,currRoomNum,gds_distinction,paramsId){
	//【組み合わせ改修】　2011/02/12　zhaoaiqing add end
		doRoomTypeBefore(currRoomNum,hotelSuffix);

		var room_cutn = $("room-cutn_load_"+roomTypeSuffix);
		if(room_cutn){
			room_cutn.style.display = "block";
		}

		var select_room_nm = $("select-room-nm_"+roomTypeSuffix);
		if(select_room_nm) {
			select_room_nm.style.display = "none";
		}
		var select_rate_nm = $("select-rate-nm_"+roomTypeSuffix);
		if(select_rate_nm) {
			select_rate_nm.style.display = "none";
		}
		var roomTypeNum = $("roomTypeNum_"+roomTypeSuffix);
		if(roomTypeNum ) {
			roomTypeNum.value = "";
		}
		var roomTypeNext = $("roomTypeNext_"+hotelSuffix);
		if(roomTypeNext) {
			roomTypeNext.style.display = "none";
		}
		var roomTypeModifyBtn = $("roomTypeModifyBtn_" + roomTypeSuffix);
		if(roomTypeModifyBtn) {
			roomTypeModifyBtn.style.display = "none";
		}
		var roomTypeModifyGreyBtn = $("roomTypeModifyGreyBtn_" + roomTypeSuffix);
		if(roomTypeModifyGreyBtn) {
			roomTypeModifyGreyBtn.style.display = "block";
		}
		var roomTypeSelectBtn = $("roomTypeSelectBtn_" + roomTypeSuffix);
		if(roomTypeSelectBtn) {
			roomTypeSelectBtn.style.display = "none";
		}
		var __roomTypeID = $(responseTagPrefix + roomTypeSuffix);
		if(__roomTypeID){
			__roomTypeID.style.display = "block";
		}
		var hotelLoadDiv = $("hotelLoadDiv_"+ hotelSuffix);
			
		if(hotelLoadDiv) {
			hotelLoadDiv.className = "plus-open";
		}


		for(var i = 0;;i++) {
			var suffix = hotelSuffix + "_" + i;
			var greyBtn = $("roomTypeModifyGreyBtn_"+ suffix);
			if(null == greyBtn) {
				break;
			}

			if(suffix == roomTypeSuffix) {				
				continue;
			}
			var modifyBtn = $("roomTypeModifyBtn_"+ suffix);
			
			if(modifyBtn.style.display != "none") {
				continue;
			}
			if(greyBtn.style.display != "none") {
				greyBtn.style.display = "none"
				$("roomTypeModifyBtn_" + suffix).style.display = "none";
				$("roomTypeSelectBtn_" + suffix).style.display = "block";
				
			} 
		}
		//【組み合わせ改修】　2011/02/12　zhaoaiqing add start
		if("F" == gds_distinction){
			onSyncSelectRoomType(paramsId,currRoomNum,hotelSuffix);
		}
		//【組み合わせ改修】　2011/02/12　zhaoaiqing add end
	}

	function getStatus(responseTag,responseHtml){
		var status = "NG";
		var div  = document.createElement('div');
		div.innerHTML = responseHtml;
		var tags = div.getElementsByTagName("div");
		if(tags  && tags.length > 0) {
			for(var i = 0; i < tags.length; i ++) {
				var elem = tags[i];
				if(elem.id == "status") {
					status = elem.innerHTML;
					break;
				}
			}
			for(var i = 0; i < tags.length; i ++) {
				
				var elem = tags[i];
				if(elem.id == "hotelInfoDiv") {
					var hotelDiv = $("spanHotelTagInfo_"+ hotelSuffix);
					if(hotelDiv) {
						hotelDiv.innerHTML = elem.innerHTML;
					}

					break;
				}
			}
			for(var i = 0;i < tags.length; i ++) {
				
				var elem = tags[i];
				if(elem.id == "repsonse") {
					responseTag.style.display = "none";
					responseTag.innerHTML = elem.innerHTML;

					break;
				}
			}


		}
		return status;
	}

	function getRoomSize(hotelSuffix){
		var i = 0;
		for(; ;i++){
			var roomType = $(responseTagPrefix + hotelSuffix +"_" + i);
			if(null == roomType) {
				break;
			}
		}
		return i;
	}

	function hotelRoomTypeLoad(trg,paramsId,currRoomNum,hotelSuffix){
				
		if(!isOnSync){
			return false;
		}
		trg.onclick = function(){
			var hotelLoadDiv = $("hotelLoadDiv_"+this.name);
			if(hotelLoadDiv) {
				if(hotelLoadDiv.className == "plus-loading") {
					return  ;
				}
				if(hotelLoadDiv.className == "plus") {
					var roomTypeId = $(responseTagPrefix + this.id);
					if(roomTypeId) {
						roomTypeId.style.display = "block";
					}
					hotelLoadDiv.className = "plus-open";	
				} else {
					var roomTypeId = "";
					for(var i = 0; ;i++){
						var roomType = $(responseTagPrefix + this.name +"_" + i);
						if(roomType) {
							if(roomType.style.display != "none") {
								roomTypeId = this.name +"_" + i;
							}
							roomType.style.display = "none";
						} else {
							break;
						}
					}
					this.id = roomTypeId;
					hotelLoadDiv.className = "plus";				
				}
			}
			
		}
		onSyncSelectRoomType(paramsId,currRoomNum,hotelSuffix);
	}
	
	function doRoomTypeBefore(currRoomNum,hotelSuffixPrama){

		hotelSuffix = hotelSuffixPrama;
		roomTypeSuffix = hotelSuffix + "_" + currRoomNum;
		responseTagId =  responseTagPrefix + roomTypeSuffix;

		var hotelLoadDiv = $("hotelLoadDiv_"+ hotelSuffix);
		if(hotelLoadDiv) {
			hotelLoadDiv.className = "plus-loading";	
		}
		var hotelLoadSpan = $("hotelLoadSpan_"+ hotelSuffix);
		if(hotelLoadSpan) {
			hotelLoadSpan.className = "";	
		}
		
		var hotelSelectInfo = $("hotelSelectInfo_"+ hotelSuffix);
		if(hotelSelectInfo) {
			hotelSelectInfo.style.display = "block";
		}
		for(var i = 0; ;i++){
			var roomType = $(responseTagPrefix + hotelSuffix +"_" + i);
			if(roomType) {
				roomType.style.display = "none";
			} else {
				break;
			}
		}	
		for(var i = 0; ;i++){
			var index = hotelSuffix +"_" + i ;
			var room_cutn_init = $("room-cutn_init_" + index);
			var room_cutn_load = $("room-cutn_load_" + index);
			if(null == room_cutn_init || null == room_cutn_load) {
				break;
			}
			if(room_cutn_init.style.display != "none") {
				if(index == roomTypeSuffix) {
					room_cutn_init.style.display = "none";	
					room_cutn_load.style.display = "block";	
				}
				continue;
			} 
			if(room_cutn_load.style.display != "none") {
				if(index != roomTypeSuffix) {
					room_cutn_init.style.display = "block";	
					room_cutn_load.style.display = "none";	
				}
			}
		}
		
	}

	function doRoomTypeAfter(responseTag,status){
		if(responseTag) {
			responseTag.style.display = "block";
		}
		var hotelLoadDiv = $("hotelLoadDiv_"+ hotelSuffix);
			
		if(hotelLoadDiv) {
			hotelLoadDiv.className = "plus-open";
		}
		var hotelLoadSpan = $("hotelLoadSpan_"+ hotelSuffix);
		if(hotelLoadSpan) {
			hotelLoadSpan.className = "";	
		}
		
			for(var i = 0; ;i++){
				var roomTypeSelectBtn = $("roomTypeSelectBtn_" + hotelSuffix +"_" + i);
				var roomTypeModifyGreyBtn = $("roomTypeModifyGreyBtn_" + hotelSuffix +"_" + i);
				var roomTypeModifyBtn = $("roomTypeModifyBtn_" + hotelSuffix +"_" + i);
				if(null == roomTypeModifyGreyBtn || null == roomTypeSelectBtn) {
					break;
				}
				roomTypeModifyGreyBtn.style.display = "none";
				if(roomTypeModifyBtn && roomTypeModifyBtn.style.display != "none") {
					continue;
				}
				if((hotelSuffix +"_" + i) != roomTypeSuffix) {
					if(status == "OK") {
						roomTypeSelectBtn.style.display = "block";
					} else {
						roomTypeSelectBtn.style.display = "none";
						roomTypeModifyGreyBtn.style.display = "block";	
					}
				} else {
					if(status == "OK") {
						roomTypeSelectBtn.style.display = "none";
						roomTypeModifyGreyBtn.style.display = "block";
					} else {
						roomTypeSelectBtn.style.display = "block";
						roomTypeModifyGreyBtn.style.display = "none";						
					}
				}
			}
		

	}

