		/* 환경변수 ****************************************************/
			var formObj = null;
			var formRadioObj = null;

		/* Common Function *********************************************/

			function $(objID) { //element obj
				if (document.getElementById) {return document.getElementById(objID);}
				else if (document.all) {return document.all[objID];}
				else if (document.layers) {return document.layers[objID];}
			}

			function isChild(s,d) { //자식 element 인지 여부
				while(s) {
					if (s==d) return true;
					s=s.parentNode;
				}
				return false;
			}

			function Left(obj) { //위치값 (obj.style.left)
				var curleft = 0;
				if (obj.offsetParent) {
					while (obj.offsetParent) {
						curleft += obj.offsetLeft
						obj = obj.offsetParent;
					}
				} else if (obj.x) {
					curleft += obj.x;
				}
				return curleft;
			}

			function Top(obj) { //위치값 (obj.style.top)
				var curtop = 0;
				if (obj.offsetParent) {
					while (obj.offsetParent) {
						curtop += obj.offsetTop
						obj = obj.offsetParent;
					}
				} else if (obj.y) {
					curtop += obj.y;
				}
				return curtop;
			}


		/* design Function *********************************************/

			function EvtObj(e) {
				if(!e) e=window.event;
				return e;
			}

			function evtTgt(e) {
				var el;
				if(e.target) el=e.target;
				else if(e.srcElement) el=e.srcElement;
				if(el.nodeType==3)el=el.parentNode; // defeat Safari bug
				return el;
			}

			function date_over(e) { /* mouse over 날짜 */
				if(evtTgt(EvtObj(e)).style.background != '#ff6633')
					evtTgt(EvtObj(e)).style.background='skyblue';
				//evtTgt(EvtObj(e)).style.textDecoration='underline';
			}

			function date_out(e) { /* mouse out 날짜 */
				if(evtTgt(EvtObj(e)).style.background != '#ff6633')
					evtTgt(EvtObj(e)).style.background='#f2f2f2';
				//evtTgt(EvtObj(e)).style.textDecoration='';
			}

			function date_available(obj) { /* 선택이 가능한 날짜 */
				obj.style.cursor='pointer';
				obj.style.background='#f2f2f2';
				if (obj.className=='sun') obj.style.color='#ff0000';
				else if(obj.className=='sat') obj.style.color='#4260b6';
				else obj.style.color='#494949';
			}

			function date_unavailable(obj) { /* 선택이 불가능한 날짜 */
				obj.style.cursor='default';
				obj.style.color='#9f9f9f';
				obj.style.background='#f2f2f2';
			}

			function date_selected(obj) { /* 현재 선택된 날짜 */
				obj.style.cursor='default';
				obj.style.color='#ffffff';
				obj.style.background='#ff6633';
			}

		/* calendar engine *********************************************/

			var now = new Date;
			var sccm=now.getMonth();
			var sccy=now.getFullYear();
			var mn=new Array('1','2','3','4','5','6','7','8','9','10','11','12');
			var mnn=new Array('31','28','31','30','31','30','31','31','30','31','30','31');
			var mnl=new Array('31','29','31','30','31','30','31','31','30','31','30','31');
			var weekday = ['','sun','day','day','day','day','day','sat'];

			var ccm=now.getMonth();
			var ccy=now.getFullYear();
			var ccm2=now.getMonth();
			var ccy2=now.getFullYear();

			var calvalarr=new Array(42);
			var curObj;
			var updObj;
			var calvalarr2=new Array(42);
			var curObj2;
			var updObj2;

			function drawCalendarLayer() {

				document.write('<div id="calendar_wrap" class="calendar_wrap">');

					document.write('<div id="calLayer">');
					document.write('<ul>');
					document.write('<li><ul><li class="title_left"></li><li class="title_right"><p><img src="/AB/airbusan/reservation/new/img/title01.gif"></p></li></ul></li>');
					document.write('<li class="calendar_top"></li>');
					document.write('<li class="calendar_bg">');
					document.write('<p class="prev"><img src="/AB/airbusan/reservation/img_kr/btn_calendar_prev.gif" title="이전달" onclick="prevMonth();" style="cursor:pointer"></p><span class="month" id="mns"> </span><p class="next"><img src="/AB/airbusan/reservation/img_kr/btn_calendar_next.gif" title="다음달" onclick="nextMonth();" style="cursor:pointer"></p>');
					document.write('<table cellpadding="0" cellspacing="0">');
					document.write('<tr><td class="sun">일</td><td class="day">월</td><td class="day">화</td><td class="day">수</td><td class="day">목</td><td class="day">금</td><td class="sat">토</td></tr>');

					for (var kk=1;kk<=6;kk++) {
						document.write('<tr>');
						for(var tt=1;tt<=7;tt++) {
							num=7 * (kk-1) - (-tt);
							document.write('<td bgcolor="#f2f2f2" class="' + weekday[tt] + '" id="v' + num + '">&nbsp;</td>');
						}
						document.write('</tr>');
					}

					document.write('</table>');
					document.write('</li></ul>');
					document.write('</div>');


					document.write('<div id="calLayer2">');
					document.write('<ul>');
					document.write('<li><ul><li class="title_left"></li><li class="title_right"><p><img src="/AB/airbusan/reservation/new/img/title02.gif"></p></li></ul></li>');
					document.write('<li class="calendar_top"></li>');
					document.write('<li class="calendar_bg">');
					document.write('<p class="prev"><img src="/AB/airbusan/reservation/img_kr/btn_calendar_prev.gif" title="이전달" onclick="prevMonth2();" style="cursor:pointer"></p><span class="month" id="mns2"> </span><p class="next"><img src="/AB/airbusan/reservation/img_kr/btn_calendar_next.gif" title="다음달" onclick="nextMonth2();" style="cursor:pointer"></p>');
					document.write('<table cellpadding="0" cellspacing="0">');
					document.write('<tr><td class="sun">일</td><td class="day">월</td><td class="day">화</td><td class="day">수</td><td class="day">목</td><td class="day">금</td><td class="sat">토</td></tr>');

					for (var kk=1;kk<=6;kk++) {
						document.write('<tr>');
						for(var tt=1;tt<=7;tt++) {
							num=7 * (kk-1) - (-tt);
							document.write('<td bgcolor="#f2f2f2" class="' + weekday[tt] + '" id="x' + num + '">&nbsp;</td>');
						}
						document.write('</tr>');
					}

					document.write('</table>');
					document.write('</li></ul>');
					document.write('</div>');
				document.write('<div class="finish"><p><img src="/AB/airbusan/reservation/new/img/btn_finish.gif" onclick="getSchd()" style="cursor:pointer"></p></div>');
				document.write('</div>');
			}

			function calendarPosition(aID, aObj) {
				//$(aID).style.left=Left(aObj) + 50;
				//$(aID).style.top=Top(aObj)+aObj.offsetHeight + 20;
				$(aID).style.display='block';
			}

			function calendarPosition2(aID, aObj) {
				//$(aID).style.left=Left(aObj) + 70;
				//$(aID).style.top=Top(aObj)+aObj.offsetHeight + 20;
				$(aID).style.display='block';
			}

			function viewCalendar(ielem,targetObj) {
				/*
				if($('calLayer').style.display == '') {
					$('calLayer').style.display = 'none';
					return;
				}
				*/
				$('calLayer').style.display == 'block';

				if(typeof ielem == "string") ielem = eval(ielem);
				if(typeof targetObj == "string") targetObj = eval(targetObj);

				curObj = ielem;
				updObj = targetObj;
				calendarPosition('calLayer', ielem); /* 달력 표시 위치 제어 */
				drawCalendar();
			}

			function viewCalendar2(ielem,targetObj) {
				/*
				if($('calLayer2').style.display == '') {
					$('calLayer2').style.display = 'none';
					return;
				}
				*/
				$('calLayer2').style.display == 'block';

				if(typeof ielem == "string") ielem = eval(ielem);
				if(typeof targetObj == "string") targetObj = eval(targetObj);

				curObj2 = ielem;
				updObj2 = targetObj;
				calendarPosition2('calLayer2', ielem); /* 달력 표시 위치 제어 */
				drawCalendar2();
			}

			function drawCalendar() {
				curdt = updObj.value; /* input의 값 읽어옴 */
				curdtarr = curdt.split('/');
				isdt = true;
				for(var k=0;k<curdtarr.length;k++) {
					if (isNaN(curdtarr[k]))
						isdt = false;
				}
				if (isdt&(curdtarr.length==3)) {
					ccy = curdtarr[0]; /* 년 */
					ccm = curdtarr[1]-1; /* 월 */
					prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]); /* 달력 표시 호출, parameter: 년,월,일 */
				}
			}

			function drawCalendar2() {
				curdt = updObj2.value; /* input의 값 읽어옴 */
				curdtarr = curdt.split('/');
				isdt = true;
				for(var k=0;k<curdtarr.length;k++) {
					if (isNaN(curdtarr[k]))
						isdt = false;
				}
				if (isdt&(curdtarr.length==3)) {
					ccy2 = curdtarr[0]; /* 년 */
					ccm2 = curdtarr[1]-1; /* 월 */
					prepcalendar2(curdtarr[0],curdtarr[1]-1,curdtarr[2]); /* 달력 표시 호출, parameter: 년,월,일 */
				}
			}

			function prepcalendar(cy,cm,hd) { /* 달력 표시 함수, parameter: 년,월,일(선택된 날짜가 있는 경우만) */
				now=new Date();
				sd=now.getDate();
				td=new Date();
				td.setDate(1);
				td.setFullYear(cy);
				td.setMonth(cm);
				cd=td.getDay();
				$('mns').innerHTML=cy + '년 ' + mn[cm] + '월';
				marr=((cy%4)==0)?mnl:mnn;

				for(var d=1;d<=42;d++) {

					date_available($('v'+parseInt(d))); /* style 적용 */

					if ((d >= (cd -(-1))) && (d<=cd-(-marr[cm]))) {
						dip = ((d-cd < sd)&&(cm==sccm)&&(cy==sccy));
						htd = ((hd!='')&&(d-cd==hd));
						if (dip)
							date_unavailable($('v'+parseInt(d))); /* 선택 불가 날짜 style 적용 */
						else if (htd)
							date_selected($('v'+parseInt(d))); /* 선택한 날짜 style 적용 */
						else
							date_available($('v'+parseInt(d))); /* 선택 가능 날짜 style 적용 */

						$('v'+parseInt(d)).onmouseover=(dip)?null:date_over; /* mouse over 처리 함수 */
						$('v'+parseInt(d)).onmouseout=(dip)?null:date_out; /* mouse out 처리 함수 */
						$('v'+parseInt(d)).onclick=(dip)?null:date_click; /* click 처리 함수 */
						$('v'+parseInt(d)).innerHTML=d-cd; /* 달력에 날짜 넣기 */
						calvalarr[d]=''+cy+'/'+(cm-(-1))+'/'+(d-cd); /* Input에 넣는 값 */
					} else {
						$('v'+d).innerHTML='&nbsp;';
						$('v'+parseInt(d)).onmouseover=null; /* mouse over 처리 */
						$('v'+parseInt(d)).onmouseout=null; /* mouse out 처리 */
						$('v'+parseInt(d)).onclick=null; /* click 처리 함수 */
						$('v'+parseInt(d)).style.cursor='default';
					}
				}
			}

			function prepcalendar2(cy,cm,hd) { /* 달력 표시 함수, parameter: 년,월,일(선택된 날짜가 있는 경우만) */
				now=new Date();
				sd=now.getDate();
				td=new Date();
				td.setDate(1);
				td.setFullYear(cy);
				td.setMonth(cm);
				cd=td.getDay();
				$('mns2').innerHTML=cy + '년 ' + mn[cm] + '월';
				marr=((cy%4)==0)?mnl:mnn;

				for(var d=1;d<=42;d++) {

					date_available($('x'+parseInt(d))); /* style 적용 */

					if ((d >= (cd -(-1))) && (d<=cd-(-marr[cm]))) {
						dip=((d-cd < sd)&&(cm==sccm)&&(cy==sccy));
						htd=((hd!='')&&(d-cd==hd));
						if (dip)
							date_unavailable($('x'+parseInt(d))); /* 선택 불가 날짜 style 적용 */
						else if (htd)
							date_selected($('x'+parseInt(d))); /* 선택한 날짜 style 적용 */
						else
							date_available($('x'+parseInt(d))); /* 선택 가능 날짜 style 적용 */

						$('x'+parseInt(d)).onmouseover=(dip)?null:date_over; /* mouse over 처리 함수 */
						$('x'+parseInt(d)).onmouseout=(dip)?null:date_out; /* mouse out 처리 함수 */
						$('x'+parseInt(d)).onclick=(dip)?null:date_click2; /* click 처리 함수 */
						$('x'+parseInt(d)).innerHTML=d-cd; /* 달력에 날짜 넣기 */
						calvalarr2[d]=''+cy+'/'+(cm-(-1))+'/'+(d-cd); /* Input에 넣는 값 */
					} else {
						$('x'+d).innerHTML='&nbsp;';
						$('x'+parseInt(d)).onmouseover=null; /* mouse over 처리 */
						$('x'+parseInt(d)).onmouseout=null; /* mouse out 처리 */
						$('x'+parseInt(d)).onclick=null; /* click 처리 함수 */
						$('x'+parseInt(d)).style.cursor='default';
					}
				}
			}

		/* Click event Function *********************************************/

			function nextMonth() {
				marr=((ccy%4)==0)?mnl:mnn;

				ccm+=1;
				if (ccm>=12) {
					ccm=0;
					ccy++;
				}
				cdayf();
				var theDay = selecetedDate(ccy,ccm); /* 선택된 날짜가 있는 달인지 확인 */
				prepcalendar(ccy,ccm,theDay);
			}

			function nextMonth2() {
				marr=((ccy2%4)==0)?mnl:mnn;

				ccm2+=1;
				if (ccm2>=12) {
					ccm2=0;
					ccy2++;
				}
				cdayf2();
				var theDay = selecetedDate2(ccy2,ccm2); /* 선택된 날짜가 있는 달인지 확인 */
				prepcalendar2(ccy2,ccm2,theDay);
			}

			function prevMonth() {
				marr=((ccy%4)==0)?mnl:mnn;

				ccm-=1;
				if (ccm<0) {
					ccm=11;
					ccy--;
				}
				cdayf();
				var theDay = selecetedDate(ccy,ccm); /* 선택된 날짜가 있는 달인지 확인 */
				prepcalendar(ccy,ccm,theDay);
			}

			function prevMonth2() {
				marr=((ccy2%4)==0)?mnl:mnn;

				ccm2-=1;
				if (ccm2<0) {
					ccm2=11;
					ccy2--;
				}
				cdayf2();
				var theDay = selecetedDate2(ccy2,ccm2); /* 선택된 날짜가 있는 달인지 확인 */
				prepcalendar2(ccy2,ccm2,theDay);
			}

			function date_click(e) { /* 날짜를 클릭할 경우, 선택한 날짜를 input 폼에 넣는 함수 */
				updObj.value=calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)]; /* 스크립트에게 필요한 날짜정보 저장 input */
				tmp_date = calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
				tmp_date_arr = tmp_date.split('/');
				curObj.value= tmp_date_arr[0] + '년 ' + tmp_date_arr[1] + '월 ' + tmp_date_arr[2] + '일'; /* 날짜가 표시되는 input */
				date_selected(evtTgt(EvtObj(e)));
				//$('calLayer').style.display='none';

				drawCalendar();
				formObj.return_date.value = updObj.value;
				formObj.return_day.value = curObj.value;
				drawCalendar2();

			}


			function date_click2(e) { /* 날짜를 클릭할 경우, 선택한 날짜를 input 폼에 넣는 함수 */
				updObj2.value=calvalarr2[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)]; /* 스크립트에게 필요한 날짜정보 저장 input */
				tmp_date = calvalarr2[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
				tmp_date_arr = tmp_date.split('/');
				curObj2.value= tmp_date_arr[0] + '년 ' + tmp_date_arr[1] + '월 ' + tmp_date_arr[2] + '일'; /* 날짜가 표시되는 input */
				date_selected(evtTgt(EvtObj(e)));
				drawCalendar2();
			}

			function cdayf() {
				if ((ccy>sccy)|((ccy==sccy)&&(ccm>=sccm))) {
					return;
				} else {
					ccy=sccy;
					ccm=sccm;
				}
			}

			function cdayf2() {
				if ((ccy2>sccy)|((ccy2==sccy)&&(ccm2>=sccm))) {
					return;
				} else {
					ccy2=sccy;
					ccm2=sccm;
				}
			}

			function selecetedDate(cy,cm) { /* 선택된 날짜가 있는 달이면 선택된 날짜를 리턴, 아니면 공백 리턴 */
				curdt = updObj.value; /* input의 값 읽어옴 */
				curdtarr = curdt.split('/');
				isdt = true;
				for(var k=0;k<curdtarr.length;k++) {
					if (isNaN(curdtarr[k]))
						isdt = false;
				}
				if (isdt&(curdtarr.length==3)) {
					if (cy == curdtarr[0] && cm == curdtarr[1]-1) {
						return curdtarr[2];
					} else {
						return '';
					}
				} else {
					return '';
				}
			}

			function selecetedDate2(cy,cm) { /* 선택된 날짜가 있는 달이면 선택된 날짜를 리턴, 아니면 공백 리턴 */
				curdt = updObj2.value; /* input의 값 읽어옴 */
				curdtarr = curdt.split('/');
				isdt = true;
				for(var k=0;k<curdtarr.length;k++) {
					if (isNaN(curdtarr[k]))
						isdt = false;
				}
				if (isdt&(curdtarr.length==3)) {
					if (cy == curdtarr[0] && cm == curdtarr[1]-1) {
						return curdtarr[2];
					} else {
						return '';
					}
				} else {
					return '';
				}
			}

			function getSchd() {
				if(formObj['start_date'].value=='') {
					alert('출발하시는 날짜를 지정해주세요');
				} else if(formRadioObj.checked && formObj['return_date'].value=='') {
					alert('돌아오시는 날짜를 지정해주세요');
				} else {
					var start_day = formObj['start_date'].value;
					var return_day = formObj['return_date'].value;
					var start_day_arr = start_day.split('/');
					var return_day_arr = return_day.split('/');

					if(start_day_arr[1]<10) start_mm = "0" + start_day_arr[1];
					else start_mm =start_day_arr[1];

					if(start_day_arr[2]<10) start_dd = "0" + start_day_arr[2];
					else start_dd = start_day_arr[2];

					if(return_day_arr[1]<10) return_mm = "0" + return_day_arr[1];
					else return_mm =return_day_arr[1];

					if(return_day_arr[2]<10) return_dd = "0" + return_day_arr[2];
					else return_dd = return_day_arr[2];

					var start_yyyymmdd = start_day_arr[0]+""+start_mm+""+start_dd;
					var return_yyyymmdd = return_day_arr[0]+""+return_mm+""+return_dd;

					if(formRadioObj.checked && parseInt(start_yyyymmdd)>parseInt(return_yyyymmdd)) {
						alert('돌아오 날은 출발일보다 이후이어야 합니다');
					} else {
						//ajaxSchd();
						hideCalendar();
					}
				}
			}

			var isCalendarDisplay = false;

			function popupCalendar(formName) {
				formObj = document.forms[formName];
				formRadioObj = document.getElementById(formName+'_cycle1');
				//IE6에서 셀렉트박스 문제 있음
				//document.getElementById('adult').style.display = 'none';
				//document.getElementById('child').style.display = 'none';
				//document.getElementById('infant').style.display = 'none';
				formObj.calendar_check.value = "1";//달력을 사용했는지 여부 확인용
				//setCalPosition();
				/*
				if(isCalendarDisplay) {
					$('calendar_wrap').style.display = 'none';
					isCalendarDisplay = false;
					return;
				} else {
					isCalendarDisplay = true;
				}
				*/

				if(formRadioObj.checked) { //왕복
					$('calendar_wrap').style.display = 'block';
					$('calendar_wrap').style.width = '332px';
					$('calendar_wrap').style.left = '-150px';
					viewCalendar(formObj.start_day,formObj.start_date);
					viewCalendar2(formObj.return_day,formObj.return_date);
				} else { //편도
					$('calendar_wrap').style.display = 'block';
					$('calendar_wrap').style.width = '166px';
					//$('calendar_wrap').style.left = '16px';
					$('calendar_wrap').style.left = '-150px';
					viewCalendar(formObj.start_day,formObj.start_date);
					$('calLayer2').style.display = 'none';
				}
			}

			function hideCalendar() {
				$('calendar_wrap').style.display = 'none';
				document.getElementById('adult').style.display = '';
				document.getElementById('child').style.display = '';
				document.getElementById('infant').style.display = '';
			}

			function popupCalendar2(aID,key) {
				$(aID).style.display = 'block';
				if(key==1) { //편도
					$(aID).style.width = '166px';
					viewCalendar(formObj.start_day,formObj.start_date);
					$('calLayer2').style.display = 'none';
				} else {
					$(aID).style.width = '332px';
					viewCalendar(formObj.start_day,formObj.start_date);
					viewCalendar2(formObj.return_day,formObj.return_date);
				}
			}

			function setCalPosition() {
				var obj = $('btn_calendar');
				//alert(Left(obj));
				$('calendar_wrap').style.display='';
				$('calendar_wrap').style.left = (Left(obj) - 30) + 'px';
				$('calendar_wrap').style.top = (Top(obj)+obj.offsetHeight + 2) + 'px';
			}