//////////////////////////////////////////////레스토랑 예약
	//예약단계
	var RStrStepNum;
	var RStrStepStr = "Hotel";

	//(객체명-Ajax-단계명)
	// 2012-02-16 추가 : RstrDateBlock-true
	var RStrArray = new Array ("Hotel-true", "SelectHotel-false", "RstrList-true", "SelectRstrList-false", "CalendarBlock-true", "ShowCalendar-false", "SelectCalendar-false", "SelectAM-false", "SelectTime-false", "SelectMinute-false", "TimeBlock-true", "SelectAdult", "RstrDateBlock-true");
	var RStrAct="";
	var RStrAjax;
	var RStrAjaxCheck=true;

////// 2012-02-16 추가 : 선택 날짜의 예약 가능 시간만 선택 가능토록 기능 추가 /////////////////////////////////////////////////////////////////////

	// 2012-02-16 추가 : 선택날짜 예약블럭 데이터 비교를 위한 배열(9시~22시:30분단위)
	var TimeArray = new Array (
		"0900", "0930",	"1000", "1030",	"1100", "1130",	"1200", "1230",	"1300", "1330",	"1400", "1430",	"1500", "1530",	
		"1600", "1630",	"1700", "1730",	"1800", "1830",	"1900", "1930",	"2000", "2030",	"2100", "2130",	"2200", "2230"	);

	// 2012-02-16 추가 : 선택날짜 예약블럭 처리유무 비교값	
	var TimeFlagArray = new Array ();	

	// 2012-02-16 추가 : 선택날짜 예약블럭 오전오후/시간/분 셀렉트박스 출력 데이터 가공처리
	function fnc_procRstrDateBlock(step)
	{
		// step : SelectCalendar	달력선택		--> 오전/오후 표시
		// step : SelectAM			오전/오후선택	--> 시간표시
		// step : SelectTime		시간선택		--> 분표시

		var intAMStartNum	= 9;	//오전 시작날짜 9
		var intAMEndNum		= 11;	//오전 완료날짜 11
		var intPMStartNum	= 12;	//오후 시작날짜 12
		var intPMEndNum		= 22;	//오후 완료날짜 22
		var strChgOption	= "";   // 옵션값 출력용
		var intDiffNum		= 0;	// 값 비교용

		if (step == "SelectCalendar") // 예약 날짜 선택한 경우 : 오전/오후 셀렉트박스 표시
		{						
			clearList($("Q_RstrcheckAM"));
			addoptionList($("Q_RstrcheckAM"), Message3, "");
			
			for(var i=0;i<TimeArray.length-1;i++)
			{	
				if (TimeFlagArray[i])
				{
					if ( Number(TimeArray[i].substr(0,2)) < intPMStartNum ){ //12시 이전이라면
						
						if (intDiffNum != "1")
						{
							addoptionList($("Q_RstrcheckAM"), Message14, "1");
							intDiffNum = "1";
						}					
					} else {
						if (intDiffNum != "2")
						{
							addoptionList($("Q_RstrcheckAM"), Message15, "2");
							intDiffNum = "2";
						}						
					}					
				} 					
			}
		}
		else if (step == "SelectAM") { // 오전/오후 선택한 경우 : 시간 셀렉트박스 표시
				 
			clearList($("Q_RstrcheckTime"));
			addoptionList($("Q_RstrcheckTime"), Message3, "");		
	 
			if ($("Q_RstrcheckAM").value=="1") // 오전 선택
			{			
				for (var i=intAMStartNum;i<=intAMEndNum;i++)
				{						
					for(var j=0;j<TimeFlagArray.length-1;j++)
					{	
						if ( TimeFlagArray[j] && Number(TimeArray[j].substr(0,2)) == i && intDiffNum != i ) 
						{
							 intDiffNum = i 
							 addoptionList($("Q_RstrcheckTime"),  i, i);
						}
					}	
				}
			}
			else if ($("Q_RstrcheckAM").value=="2") //오후 선택
			{				
				for (var i=intPMStartNum ;i<=intPMEndNum ;i++)
				{
					for(var j=0;j<TimeFlagArray.length-1;j++)
					{
						if ( TimeFlagArray[j] && Number(TimeArray[j].substr(0,2)) == i  && intDiffNum != i ) 
						{	
							 if (i > intPMStartNum) { strChgOption = i - intPMStartNum }
							 else {  strChgOption = i }	
							 
							 intDiffNum = i 
							 addoptionList($("Q_RstrcheckTime"), strChgOption, strChgOption);
						}
					}
				}
			}
		}
		else if (step == "SelectTime"){ // 시간 선택하면 분 셀렉트박스 표시	
			
			clearList($("Q_RstrcheckMinute"));
			addoptionList($("Q_RstrcheckMinute"), Message3, "");
			
			for(var i=0;i<TimeFlagArray.length-1;i++)
			{
				if ($("Q_RstrcheckAM").value=="1") // 오전 선택
				{
					if ( TimeFlagArray[i] && Number(TimeArray[i].substr(0,2)) == Number($("Q_RstrcheckTime").value)) 
					{ 	
						addoptionList($("Q_RstrcheckMinute"), TimeArray[i].substr(2,2) , Number(TimeArray[i].substr(2,2)));					  
					}
				}
				else if ($("Q_RstrcheckAM").value=="2") //오후 선택
				{
					if (Number($("Q_RstrcheckTime").value) < intPMStartNum ) { strChgOption = Number($("Q_RstrcheckTime").value) + intPMStartNum }
					else {  strChgOption = $("Q_RstrcheckTime").value }

					if ( TimeFlagArray[i] && Number(TimeArray[i].substr(0,2)) == Number(strChgOption)) 
					{ 
						addoptionList($("Q_RstrcheckMinute"), TimeArray[i].substr(2,2) , Number(TimeArray[i].substr(2,2)));	
					}
				}			
			}		
		}
	}


	function fnc_RStrReservProc(strRStrStep)
	{
		//예약단계 셋팅
		if (Number(strRStrStep) || Number(strRStrStep)==0)
		{
			RStrStepNum = Number(strRStrStep);
		}
		else
		{
			if (strRStrStep)
			{
				if (strRStrStep.length>0)
				{
					for (i=0;i<RStrArray.length;i++)
					{
						if (RStrArray[i].split("-")[0]==strRStrStep)
						{
							RStrStepNum=i;
							break;
						}
					}
				}
			}
		}
		RStrAct = RStrArray[RStrStepNum].split("-")[0];
		RStrAjax = RStrArray[RStrStepNum].split("-")[1];

		if (eval(RStrAjax))
		{
			RStrAjaxCheck=false;
			fnc_RStrAjax();
		}
		else
		{
			if (RStrAct=="SelectHotel")
			{
				fnc_RStrObjectSet(1,1,1,1,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="SelectRstrList")
			{
				fnc_RStrObjectSet(0,1,1,1,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="ShowCalendar")
			{
				showRstrCalendar('Q_RstrcheckDay',Message23,'fnc_RStrObjectValue');
			}
			else if (RStrAct=="SelectCalendar")
			{
				fnc_RStrObjectSet(0,0,1,1,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="RstrDateBlock") // 2012-02-16 선택날짜 예약블럭 데이터 추출/가공 처리
			{
				fnc_RStrObjectSet(0,0,1,1,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="SelectAM")
			{
				fnc_RStrObjectSet(0,0,0,1,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="SelectTime")
			{
				fnc_RStrObjectSet(0,0,0,0,1,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="SelectMinute")
			{
				fnc_RStrObjectSet(0,0,0,0,0,1,1);
				fnc_RStrObjectValue();
			}
			else if (RStrAct=="SelectAdult")
			{
				fnc_RStrObjectSet(0,0,0,0,0,0,0);
			}
		}
	}
	function fnc_RStrObjectValue(Data, num)
	{
		RStrAjaxCheck=true;
		if (RStrAct=="Hotel")
		{
			var objbytagname = new ObjByTagName;
			var option = null;

			clearList($("Q_RstrHtlCd"));
			resultArray = objbytagname.getByCodeNameList(Data);
			addoptionList($("Q_RstrHtlCd"), Message3, "");

			for(var i=0;i<resultArray.length-1;i++)
			{
				addoptionList($("Q_RstrHtlCd"), resultArray[i][1], resultArray[i][0]);
			}

			$("Q_RstrHtlCd").disabled = false;
			$("Q_RstrHtlCd").value = ChainHtlCd;
			fnc_RStrReservProc("RstrList");
		}
		else if (RStrAct=="SelectHotel")
		{
			if ($("Q_RstrHtlCd").value == "")
				$("Q_RstrHtlCd").value = ChainHtlCd;

			fnc_RStrReservProc("RstrList");
		}
		else if (RStrAct=="RstrList")
		{
			var objbytagname = new ObjByTagName;
			var option = null;

			clearList($("Q_RstrCd"));
			resultArray = objbytagname.getByCodeNameList(Data);
			addoptionList($("Q_RstrCd"), Message3, "");

			for(var i=0;i<resultArray.length-1;i++){addoptionList($("Q_RstrCd"), resultArray[i][1], resultArray[i][0]);}
			
			$("Q_RstrCd").disabled = false;
		}
		else if (RStrAct=="SelectRstrList")
		{
			if ($("Q_RstrCd").value!=""){$("Q_RstrcheckDay").disabled = false;}
		}
		else if (RStrAct=="CalendarBlock")
		{
			CalendarBlockCheck=1;
			ArrayRstrDate = Data;
			fnc_RStrReservProc("ShowCalendar");
		}
		else if (RStrAct=="ShowCalendar")
		{
			fnc_RStrReservProc("SelectCalendar");
		}
		else if (RStrAct=="SelectCalendar")
		{
			//월드+라네느 당일 예약 안됨
			var yearVaule = Today_Date.getFullYear();
			var monVaule = (Today_Date.getMonth()+1)>9 ? ''+(Today_Date.getMonth()+1) : '0'+(Today_Date.getMonth()+1);
			var dayVaule = Today_Date.getDate()>9 ? ''+Today_Date.getDate() : '0'+Today_Date.getDate();
			var nowDayValue = yearVaule+'.'+monVaule+'.'+dayVaule;
			if ($("Q_RstrHtlCd").value == "02" && $("Q_RstrCd").value == "LA" && $("Q_RstrcheckDay").value == nowDayValue)
			{
				alert(Message34);
				fnc_RStrReservProc("SelectRstrList");
			}
			else
			{
				fnc_RStrReservProc("RstrDateBlock"); // 2012-02-16 추가: 읽어온 선택날짜 예약블럭 데이터 가공 처리 		 
				$("Q_RstrcheckAM").disabled = false;
			}
		}

		// 2012-02-16 추가 : 읽어온 선택날짜 블럭데이터로 블럭이외의 시간만 선택하도록 배열가공
		else if (RStrAct=="RstrDateBlock") 
		{
			var objbytagname = new ObjByTagName;
			var option = null;
			var strTemp0 = null;
			var strTemp1 = null;

			resultArray = objbytagname.getByCodeNameList(Data);
			
			//출력유무 배열 디폴트값 설정
			for(var i=0;i< TimeArray.length-1;i++) { TimeFlagArray[i] = true; }			

			if (resultArray != null)
			{
				for(var i=0;i<resultArray.length-1;i++)
				{	
					strTemp0	=	Number(resultArray[i][0]);
					strTemp1	=	Number(resultArray[i][1]);

					for(var j=0;j<TimeArray.length-1;j++)
					{	
						if ( Number(TimeArray[j]) >= strTemp0 && Number(TimeArray[j]) <= strTemp1 )
						{
							TimeFlagArray[j] = false;
						}
					}		
				}
			}			
			fnc_procRstrDateBlock("SelectCalendar");			
		}
		else if (RStrAct=="SelectAM")
		{
			if ($("Q_RstrcheckAM").value!="")
			{
				// 2012-02-16 주석처리 : fnc_procRstrDateBlock("SelectAM") 로 변경
				/*
				clearList($("Q_RstrcheckTime"));
				addoptionList($("Q_RstrcheckTime"), Message3, "");
				if ($("Q_RstrcheckAM").value=="1"){for (i=9;i<=11;i++){addoptionList($("Q_RstrcheckTime"), i, i);}}
				else if ($("Q_RstrcheckAM").value=="2")
				{
					addoptionList($("Q_RstrcheckTime"), 12, 12);
					for (i=1;i<=9;i++){addoptionList($("Q_RstrcheckTime"), i, i);}
				}
				*/
				fnc_procRstrDateBlock("SelectAM"); // 2012-02-16 추가 : 시간 셀렉트박스 컨트롤
				$("Q_RstrcheckTime").disabled = false;
			}
		}
		else if (RStrAct=="SelectTime")
		{
			if ($("Q_RstrcheckTime").value!="")
			{
				 	
				fnc_procRstrDateBlock("SelectTime"); // 2012-02-16 추가 : 분 셀렉트박스 컨트롤
				$("Q_RstrcheckMinute").disabled = false;
			}
		}
		else if (RStrAct=="SelectMinute")
		{
			if ($("Q_RstrcheckMinute").value!=""){fnc_RStrReservProc("TimeBlock");}
		}
		else if (RStrAct=="TimeBlock")
		{
			var objbytagname = new ObjByTagName;
			var BlockCnt = objbytagname.getByTagName(Data,"BlockCnt");
			if (BlockCnt=="0")
			{
				$("Q_RstrcheckAdult").disabled = false;
				$("Q_RstrcheckChild").disabled = false;
			}
			else
			{
				if (BlockCnt=="1") alert(Message25);
				else alert(Message24);
				$("Q_RstrcheckMinute").value = "";
			}
		}

	}

	function fnc_RStrAjax()
	{
		var Params="";
		if (RStrAct=="Hotel")
		{
			Params = "Gbn=Hotel";
		}
		if (RStrAct=="RstrList")
		{
			Params = "Gbn=Rstr";
			Params = Params +"&HtlCd="+ $("Q_RstrHtlCd").value;
		}
		if (RStrAct=="CalendarBlock")
		{
			Params = "Gbn=Calendar";
			Params = Params +"&HtlCd="+ $("Q_RstrHtlCd").value;
			Params = Params +"&RstrCd="+ $("Q_RstrCd").value;
		}
		if (RStrAct=="TimeBlock")
		{
			Params = "Gbn=TimeBlock";
			Params = Params +"&HtlCd="+ $("Q_RstrHtlCd").value;$("Q_RstrcheckAM")
			Params = Params +"&RstrCd="+ $("Q_RstrCd").value;
			Params = Params +"&CheckDate="+ $("Q_RstrcheckDay").value;
			Params = Params +"&CheckAM="+ $("Q_RstrcheckAM").value;
			Params = Params +"&CheckTime="+ $("Q_RstrcheckTime").value;
			Params = Params +"&CheckMinute="+ $("Q_RstrcheckMinute").value;
		}
		if (RStrAct=="RstrDateBlock") // 2012-02-16 추가 : 선택날짜 블럭데이터 읽어오기
		{
			Params = "Gbn=RstrDateBlock";
			Params = Params +"&HtlCd="+ $("Q_RstrHtlCd").value;
			Params = Params +"&RstrCd="+ $("Q_RstrCd").value;
			Params = Params +"&CheckDate="+ $("Q_RstrcheckDay").value;
		}

		//window.open('/NLHReservation/RestReserveCheck.asp?'+Params, '','');
		var Local_Name = $("Local_Name").value;
		ajax_request('/'+Local_Name+'/NLHReservation/RestReserveCheck.asp',Params,fnc_RStrObjectValue);
	}

	//기본값 셋팅
	function fnc_RStrObjectSet(v1, v2, v3, v4, v5, v6, v7)
	{
		if (v1)
		{
			clearList($("Q_RstrCd"));
			addoptionList($("Q_RstrCd"), Message3, "");
			$("Q_RstrCd").disabled = true;
		}
		if (v2)
		{
			$("Q_RstrcheckDay").value="YYYY.MM.DD";
			$("Q_RstrcheckDay").disabled = true;
			if (CalPopupCheck){CalPopupCheck.hide();}
		}
		if (v3)
		{
			$("Q_RstrcheckAM").value = "";
			$("Q_RstrcheckAM").disabled = true;
		}
		if (v4)
		{
			clearList($("Q_RstrcheckTime"));
			addoptionList($("Q_RstrcheckTime"), Message3, "");
			$("Q_RstrcheckTime").disabled = true;
		}
		if (v5)
		{
			$("Q_RstrcheckMinute").value = "";
			$("Q_RstrcheckMinute").disabled = true;
		}
		if (v6)
		{
			$("Q_RstrcheckAdult").value="0";
			$("Q_RstrcheckAdult").disabled = true;
		}
		if (v7)
		{
			$("Q_RstrcheckChild").value="0";
			$("Q_RstrcheckChild").disabled = true;
		}
	}
///////////////////////////////////Calendar Set/////////////////////////////////
	var ArrayRstrDate;
	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 showRstrCalendar(calid, caltype, fncCallBack)
	{
		var PopupTimeCheck;
		var revdate;
		var CalendarAjaxTimeCheck;	//Calendar Ajax Check 변수

		//Checkin, CheckOut Object Set
		var revobj1 = $("Q_RstrcheckDay");
		var revobj2 = null;
		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(){showRstrCalendar(calid,caltype,fncCallBack);}, 100);
			return;
		}
		if (!CalendarBlockCheck)
			clearTimeout(CalendarAjaxTimeCheck);
		//Calendar block Check 현재 작동중지시킴

		//Reserv Block Array Object
		if (ArrayRstrDate)
		{
			revdate=ArrayRstrDate.split("@VbRows@");
		}

		//Popup Check
		if (CalPopupCheck)
		{
			CalPopupCheck.hide();
			PopupTimeCheck = setTimeout(function(){showRstrCalendar(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);
	}
///////////////////////////////////Calendar Set/////////////////////////////////
