	//예약단계
	var RsvStepNum;
	var RsvStepStr = "Hotel";

	//(객체명-Ajax-단계명)
	var RsvArray = new Array ("Hotel-true", "SelectHotel-false", "CalendarInBlock-true", "ShowCalendarIn-false", "SelectCalendarIn-false", "CalendarOutBlock-true", "ShowCalendarOut-false", "SelectCalendarOut-false", "BedType-true", "SelectBedType-false", "BuildType-true", "SelectBuildType-false", "RoomType-true", "SelsectRoomType-false", "RoomInfo-true", "SelectRmCount-false", "SelectAddAdt-false");
	var RsvAct="";
	var RsvAjax;
	var AjaxCheck=true;
	var iniExFloorYN;

	function fnc_ReservProc(strRsvStep)
	{
		//예약단계 셋팅
		if (Number(strRsvStep) || Number(strRsvStep)==0)
		{
			RsvStepNum = Number(strRsvStep);
		}
		else
		{
			if (strRsvStep)
			{
				if (strRsvStep.length>0)
				{
					for (i=0;i<RsvArray.length;i++)
					{
						if (RsvArray[i].split("-")[0]==strRsvStep)
						{
							RsvStepNum=i;
							break;
						}
					}
				}
			}
		}
		RsvAct = RsvArray[RsvStepNum].split("-")[0];
		RsvAjax = RsvArray[RsvStepNum].split("-")[1];
		if (eval(RsvAjax))
		{
			AjaxCheck=false;
			fnc_Ajax();
		}
		else
		{
			if (RsvAct=="SelectHotel")
			{
				fnc_ObjectSet(1,1,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="ShowCalendarIn")
			{
				showCalendar('Q_CheckIn','checkin','fnc_ObjectValue');
			}
			else if (RsvAct=="SelectCalendarIn")
			{
				fnc_ObjectSet(0,1,1,1,1,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="ShowCalendarOut")
			{
				showCalendar('Q_CheckOut','checkout','fnc_ObjectValue');
			}
			else if (RsvAct=="SelectCalendarOut")
			{
				fnc_ObjectSet(0,0,1,1,1,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="SelectBedType")
			{
				fnc_ObjectSet(0,0,0,1,1,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="SelectBuildType")
			{
				fnc_ObjectSet(0,0,0,0,1,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="SelsectRoomType")
			{
				fnc_ObjectSet(0,0,0,0,0,1,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="SelectRmCount")
			{
				fnc_ObjectSet(0,0,0,0,0,0,1,1);
				fnc_ObjectValue();
			}
			else if (RsvAct=="SelectAddAdt")
			{
				fnc_ObjectSet(0,0,0,0,0,0,0,1);
				fnc_ObjectValue();
			}
		}
	}
	function fnc_ObjectValue(Data, num)
	{
		AjaxCheck=true;
		if (RsvAct=="Hotel")
		{
			var objbytagname = new ObjByTagName;
			var option = null;

			//호텔리스트 클리어
			clearList($("Q_HtlCd"));

			//호텔리스트 추가
			resultArray = objbytagname.getByCodeNameList(Data);
			addoptionList($("Q_HtlCd"), Message3, "");

			for(var i=0;i<resultArray.length-1;i++)
			{
				addoptionList($("Q_HtlCd"), resultArray[i][1], resultArray[i][0]);
			}

			//호텔리스트 활성화
			$("Q_HtlCd").disabled = false;
			$("Q_HtlCd").value = ChainHtlCd;
			
			//체크인 활성화
			$("Q_CheckIn").disabled = false;
		}
		else if (RsvAct=="SelectHotel")
		{
			if ($("Q_HtlCd").value == "")
				$("Q_HtlCd").value = ChainHtlCd;
			$("Q_CheckIn").disabled = false;
		}
		else if (RsvAct=="CalendarInBlock")
		{
			CalendarBlockCheck=1;
			ArrayRsvDate = Data;
			fnc_ReservProc("ShowCalendarIn");
		}
		else if (RsvAct=="ShowCalendarIn")
		{
			fnc_ReservProc("SelectCalendarIn");
		}
		else if (RsvAct=="SelectCalendarIn")
		{
			iniCheckOut = new Date($("Q_CheckIn").value.split(".")[0],Number($("Q_CheckIn").value.split(".")[1])-1,Number($("Q_CheckIn").value.split(".")[2])+1);
			$("Q_CheckOut").value = iniCheckOut.getFullYear() +"."+ CharNumber(iniCheckOut.getMonth()+1) +"."+ CharNumber(iniCheckOut.getDate());
			$("Q_CheckOut").disabled = false;
			fnc_ReservProc("BedType");
		}
		else if (RsvAct=="CalendarOutBlock")
		{
			CalendarBlockCheck=1;
			ArrayRsvDate = Data;
			fnc_ReservProc("ShowCalendarOut");
		}
		else if (RsvAct=="ShowCalendarOut")
		{
			fnc_ReservProc("SelectCalendarOut");
		}
		else if (RsvAct=="SelectCalendarOut")
		{
			fnc_ReservProc("BedType");
		}
		else if (RsvAct=="BedType")
		{
			var iD=Data.split("@VbRows@");
			var blockresult=0;

			clearList($("Q_BedCd"));
			addoptionList($("Q_BedCd"), Message3, "");

			for(var i=0;i<iD.length-1;i++)
			{
				var objbytagname = new ObjByTagName;
				var iniCode = objbytagname.getByTagName(iD[i],"Bedcd");
				var iniCodeName = objbytagname.getByTagName(iD[i],"BedcdName");
				var iniBlockYN = objbytagname.getByTagName(iD[i],"BlockYN");

				addoptionList($("Q_BedCd"), iniCodeName, iniCode);

				if (iniBlockYN=="N")
					blockresult=1;
				else
					$("Q_BedCd").options[i+1].disabled=true;
			}

			if (blockresult==0)
				alert(Message4);
			else
				$("Q_BedCd").disabled = false;
		}
		else if (RsvAct=="SelectBedType")
		{
			fnc_ReservProc("BuildType");
		}
		else if (RsvAct=="BuildType")
		{
			var iD=Data.split("@VbRows@");
			var blockresult=0;

			clearList($("ini_CateDCd"));
			addoptionList($("ini_CateDCd"), Message3, "");

			for(var i=0;i<iD.length-1;i++)
			{
				var objbytagname = new ObjByTagName;
				var iniCode1 = objbytagname.getByTagName(iD[i],"CateDcd");
				var iniCode2 = objbytagname.getByTagName(iD[i],"BldGbn");
				var iniCodeName = objbytagname.getByTagName(iD[i],"BuildName");
				var iniBlockYN = objbytagname.getByTagName(iD[i],"BuildYN");

				addoptionList($("ini_CateDCd"), iniCodeName, "CateDcd="+iniCode1+"@VbCols@BldGbn="+iniCode2);

				if (iniBlockYN=="N")
					blockresult=1;
				else
					$("ini_CateDCd").options[i+1].disabled=true;
			}

			if (blockresult==0)
				alert(Message4);
			else
				$("ini_CateDCd").disabled = false;
		}
		else if (RsvAct=="SelectBuildType")
		{
			if ($("ini_CateDCd").value!="")
			{
				var objbytagname = new ObjByTagName;
				$("Q_BldGbn").value=objbytagname.getByTagName($("ini_CateDCd").value,"BldGbn");
				$("Q_CateDCd").value=objbytagname.getByTagName($("ini_CateDCd").value,"CateDcd");

				fnc_ReservProc("RoomType");
			}
		}
		else if (RsvAct=="RoomType")
		{
			var iD=Data.split("@VbRows@");
			var blockresult=0;

			clearList($("iniQ_RmType"));
			addoptionList($("iniQ_RmType"), Message3, "");

			for(var i=0;i<iD.length-1;i++)
			{
				var objbytagname = new ObjByTagName;
				var iniCode1 = objbytagname.getByTagName(iD[i],"CATEJCD");
				var iniCode2 = objbytagname.getByTagName(iD[i],"RMTYPE");
				var iniCodeName = objbytagname.getByTagName(iD[i],"RmNm");
				var iniBlockYN = objbytagname.getByTagName(iD[i],"BuildYN");

				addoptionList($("iniQ_RmType"), iniCodeName, "CATEJCD="+iniCode1+"@VbCols@RMTYPE="+iniCode2);

				if (iniBlockYN=="N")
					blockresult=1;
				else
					$("iniQ_RmType").options[i+1].disabled=true;
			}

			if (blockresult==0)
				alert(Message4);
			else
				$("iniQ_RmType").disabled = false;
		}
		else if (RsvAct=="SelsectRoomType")
		{
			if ($("iniQ_RmType").value!="")
			{
				var objbytagname = new ObjByTagName;
				var iniCode1 = objbytagname.getByTagName($("iniQ_RmType").value,"CATEJCD");
				var iniCode2 = objbytagname.getByTagName($("iniQ_RmType").value,"RMTYPE");
				var clsid = document.getElementsByName("rmtypeid");

				$("Q_CateJCd").value=iniCode1;
				$("Q_RmType").value=iniCode2;

				fnc_ReservProc("RoomInfo");
			}
		}
		else if (RsvAct=="RoomInfo")
		{
			var objbytagname = new ObjByTagName;
			iniExFloorYN = objbytagname.getByTagName(Data,"EXFLOORYN");
			$("Q_RmCount").disabled = false;
			fnc_ReservProc("SelectRmCount");
		}
		else if (RsvAct=="SelectRmCount")
		{
			var objbytagname = new ObjByTagName;

			//ExFloor가 아닌경우에만 성인인인원수 활성화
			if (iniExFloorYN=="N")
			{
				$("Q_AddAdt").disabled = false;
				var maxcnt = objbytagname.getByTagName(MaxReserv,"MaxReserv"+$("Q_HtlCd").value);
			}
			else
			{
				var maxcnt = objbytagname.getByTagName(MaxReserv,"EXMaxReserv"+$("Q_HtlCd").value+$("Q_BldGbn").value);
			}
			clearList($("Q_AddAdt"));
			for (i=$("Q_RmCount").value;i<=maxcnt*$("Q_RmCount").value;i++){addoptionList($("Q_AddAdt"), i, i);}
			
			$("Q_AddAdt").disabled = false;
			if (iniExFloorYN=="N")
			{
				$("Q_AddChd").disabled = false;
				clearList($("Q_AddChd"));
				for (i=0;i<=(maxcnt*$("Q_RmCount").value)-$("Q_AddAdt").value;i++){addoptionList($("Q_AddChd"), i, i);}
			}
		}
		else if (RsvAct=="SelectAddAdt")
		{
			var objbytagname = new ObjByTagName;

			//ExFloor가 아닌경우에만 소인인원수 활성화
			if (iniExFloorYN=="N")
			{
				$("Q_AddChd").disabled = false;
				var maxcnt = objbytagname.getByTagName(MaxReserv,"MaxReserv"+$("Q_HtlCd").value);
			}
			else
			{
				var maxcnt = objbytagname.getByTagName(MaxReserv,"EXMaxReserv"+$("Q_HtlCd").value+$("Q_BldGbn").value);
			}
			clearList($("Q_AddChd"));
			for (i=0;i<=(maxcnt*$("Q_RmCount").value)-$("Q_AddAdt").value;i++){addoptionList($("Q_AddChd"), i, i);}
		}
	}
	function fnc_Ajax()
	{
		
		
		if (RsvAct=="Hotel")
		{
			Params = "Gbn=Hotel";
		}
		else if (RsvAct=="CalendarInBlock" || RsvAct=="CalendarOutBlock")
		{
			Params = "Gbn=Calendar";
			Params = Params +"&HtlCd="+ $("Q_HtlCd").value;
		}
		else if (RsvAct=="BedType")
		{
			Params = "Gbn=BedType";
			Params = Params +"&HtlCd="+ $("Q_HtlCd").value;
			Params = Params +"&checkIn="+ $("Q_CheckIn").value;
			Params = Params +"&checkOut="+ $("Q_CheckOut").value;
		}
		else if (RsvAct=="BuildType")
		{
			Params = "Gbn=BuildType";
			Params = Params +"&HtlCd="+ $("Q_HtlCd").value;
			Params = Params +"&checkIn="+ $("Q_CheckIn").value;
			Params = Params +"&checkOut="+ $("Q_CheckOut").value;
			Params = Params +"&BedCd="+ $("Q_BedCd").value;
		}
		else if (RsvAct=="RoomType")
		{
			Params = "Gbn=RoomType";
			Params = Params +"&HtlCd="+ $("Q_HtlCd").value;
			Params = Params +"&checkIn="+ $("Q_CheckIn").value;
			Params = Params +"&checkOut="+ $("Q_CheckOut").value;
			Params = Params +"&BedCd="+ $("Q_BedCd").value;
			Params = Params +"&CateDCd="+ $("Q_CateDCd").value;
			Params = Params +"&BldGbn="+ $("Q_BldGbn").value;
		}
		else if (RsvAct=="RoomInfo")
		{
			Params = "Gbn=RoomInfo";
			Params = Params +"&HtlCd="+ $("Q_HtlCd").value;
			Params = Params +"&checkIn="+ $("Q_CheckIn").value;
			Params = Params +"&checkOut="+ $("Q_CheckOut").value;
			Params = Params +"&BedCd="+ $("Q_BedCd").value;
			Params = Params +"&CateDCd="+ $("Q_CateDCd").value;
			Params = Params +"&BldGbn="+ $("Q_BldGbn").value;
			Params = Params +"&CateJCd="+ $("Q_CateJCd").value;
			Params = Params +"&Rmtype="+ $("Q_RmType").value;
		}
		//window.open('/NLHReservation/RoomCheck.asp?'+Params, '','');
		var Local_Name = $("Local_Name").value;
		ajax_request('/'+Local_Name+'/NLHReservation/RoomCheck.asp',Params,fnc_ObjectValue);
	}
	//기본값 셋팅
	function fnc_ObjectSet(v1, v2, v3, v4, v5, v6, v7, v8)
	{
		//체크인
		if (v1)
		{
			if (CalPopupCheck)
				CalPopupCheck.hide();
			$("Q_CheckIn").value = "YYYY.MM.DD";
			$("Q_CheckIn").disabled = true;
		}
		//체크아웃
		if (v2)
		{
			if (CalPopupCheck)
				CalPopupCheck.hide();
			$("Q_CheckOut").value = "YYYY.MM.DD";
			$("Q_CheckOut").disabled = true;
		}
		//침대선택
		if (v3)
		{
			clearList($("Q_BedCd"));
			addoptionList($("Q_BedCd"), Message3, "");
			$("Q_BedCd").disabled = true;
		}
		//건물종류
		if (v4)
		{
			clearList($("ini_CateDCd"));
			addoptionList($("ini_CateDCd"), Message3, "");
			$("ini_CateDCd").disabled = true;

			$("Q_BldGbn").value="";
			$("Q_CateDCd").value="";
		}
		//객실종류
		if (v5)
		{
			clearList($("iniQ_RmType"));
			addoptionList($("iniQ_RmType"), Message3, "");
			$("iniQ_RmType").disabled = true;
		}
		//객실수
		if (v6)
		{
			$("Q_RmCount").value = '1';
			$("Q_RmCount").disabled = true;
		}
		//성인인원
		if (v7)
		{
			var objbytagname = new ObjByTagName;
			
			if (iniExFloorYN=="Y")
				var maxcnt = objbytagname.getByTagName(MaxReserv,"EXMaxReserv"+$("Q_HtlCd").value+$("Q_BldGbn").value);
			else
				var maxcnt = objbytagname.getByTagName(MaxReserv,"MaxReserv"+$("Q_HtlCd").value);

			if ($("Q_AddAdt").childNodes.length<$("Q_RmCount").value*(maxcnt+1))
			{
				clearList($("Q_AddAdt"));
				for (i=0;i<=$("Q_RmCount").value*maxcnt;i++){addoptionList($("Q_AddAdt"), i, i);}
			}
			$("Q_AddAdt").value = 0;
			$("Q_AddAdt").disabled = true;
		}
		//소아인원
		if (v8)
		{
			var objbytagname = new ObjByTagName;
			if (iniExFloorYN=="Y")
				var maxcnt = objbytagname.getByTagName(MaxReserv,"EXMaxReserv"+$("Q_HtlCd").value+$("Q_BldGbn").value);
			else
				var maxcnt = objbytagname.getByTagName(MaxReserv,"MaxReserv"+$("Q_HtlCd").value);

			if ($("Q_AddChd").childNodes.length<$("Q_RmCount").value*(maxcnt+1))
			{
				clearList($("Q_AddChd"));
				for (i=0;i<=$("Q_RmCount").value*maxcnt-1;i++){addoptionList($("Q_AddChd"), i, i);}
			}
			$("Q_AddChd").value = 0;
			$("Q_AddChd").disabled = true;
		}
	}
	function clearList(obj)
	{
		while(obj.childNodes.length>0)
		{
			obj.removeChild(obj.childNodes[0]);
		}
	}
	function addoptionList(obj, strtxt, strvalue)
	{
		option = document.createElement("option");
		option.value = strvalue;
		option.text = strtxt;
		obj.options.add(option);
	}

///////////////////////////////////Calendar Set/////////////////////////////////
	var ArrayRsvDate;
	var CalendarBlockCheck=1;	//Calendar Block Check 변수 작동중지 -> 작동 0

	//Server Time Set ToDay
	//Today_Date = new Date("<%=Year(Date)%>","<%=Month(Date)-1%>","<%=Day(Date)%>");

	//달력 레이어 위치 조절을 위한 변수 - 컨벤션과 예약쪽
	var ReservLayerName = "Reservation";

	function showCalendar(calid, caltype, fncCallBack)
	{
		var PopupTimeCheck;
		var revdate;
		var CalendarAjaxTimeCheck;	//Calendar Ajax Check 변수

		//Checkin, CheckOut Object Set
		var revobj1 = $("Q_CheckIn");
		var revobj2 = $("Q_CheckOut");
		var DefaultValue = "YYYY.MM.DD";

		//Checkin, CheckOut Object Set

		//Date Object Set
		if (typeof calid=="string")
		{
			//Result Object
			var el = $(calid);
		}

		//Calendar block Check 현재 작동중지시킴
		if (!CalendarBlockCheck)
		{
			Calendar_Ajax();
			CalendarAjaxTimeCheck = setTimeout(function(){showCalendar(calid,caltype,fncCallBack);}, 100);
			return;
		}
		if (!CalendarBlockCheck)
			clearTimeout(CalendarAjaxTimeCheck);
		//Calendar block Check 현재 작동중지시킴

		//Reserv Block Array Object
		if (ArrayRsvDate)
		{
			revdate=ArrayRsvDate.split("@VbRows@");
		}

		//Popup Check
		if (CalPopupCheck)
		{
			CalPopupCheck.hide();
			PopupTimeCheck = setTimeout(function(){showCalendar(calid,caltype,fncCallBack);}, 500);
			return;
		}
		clearTimeout(PopupTimeCheck);

		//ToDay or Checkin Date (String Type)
		var iniDate = Today_Date;
		var iniDate2;

		//Checkin Date Set(Date Type)
		if (revobj1.value.length>0 && revobj1.value!=DefaultValue)
		{
			iniDate = new Date(revobj1.value.split(".")[0],(revobj1.value.split(".")[1]-1),revobj1.value.split(".")[2]);
		}

		var cal = new Calendar(iniDate, el.value, revdate, caltype, strUseLanguage);

		CalPopupCheck = cal;
		CalPopupCheck.show(el);

		if (revobj1.value.length>0 && revobj1.value!=DefaultValue)
		{
			CalPopupCheck.Sdate(revobj1.value);
		}

		CalPopupCheck.create();
		CalPopupCheck.EndFunction(fncCallBack);
	}
	//Data Request by Ajax
	function Calendar_Ajax()
	{
		var Params="";

		Params = "Gbn=Calendar";
		Params = Params +"&HtlCd="+ $("HtlCd").value;

		//window.open('./RoomCheck.asp?'+Params);
		if (!CalendarBlockCheck)
		{
			var Local_Name = $("Local_Name").value;
			ajax_request('/'+Local_Name+'/NLHRreservation/RoomCheck.asp',Params,CallBackAjaxCalendar);
		}
	}
	function CallBackAjaxCalendar(Data)
	{
		CalendarBlockCheck = 1;
		ArrayRsvDate = Data
	}
///////////////////////////////////Calendar Set/////////////////////////////////
