
// ºê¶ó¿ìÀú Á¾·ù¿Í ¹öÀü Ã¼Å©ÇÏ´Â °´Ã¼ »ý¼ºÀÚ ÇÔ¼ö
function objDetectBrowser() {
	var strUA, s, i;
	this.isIE = false;  // ÀÎÅÍ³Ý ÀÍ½ºÇÃ·Î·¯ÀÎÁö¸¦ ³ªÅ¸³»´Â ¼Ó¼º
	this.isNS = false;  // ³Ý½ºÄÉÀÌÇÁÀÎÁö¸¦ ³ªÅ¸³»´Â ¼Ó¼º
	this.version = null; // ºê¶ó¿ìÀú ¹öÀüÀ» ³ªÅ¸³»´Â ¼Ó¼º
	// Agent Á¤º¸¸¦ ´ã°í ÀÖ´Â ¹®ÀÚ¿­.
	// ÀÌ °ªÀÌ ±Ã±ÝÇÑ »ç¶÷Àº alert ¹®À» ÀÌ¿ëÇÏ¿© strUA °ªÀ» È®ÀÎÇÏ±â ¹Ù¶õ´Ù!
	strUA = navigator.userAgent; 
 
	s = "MSIE";
	// Agent ¹®ÀÚ¿­(strUA) "MSIE"¶õ ¹®ÀÚ¿­ÀÌ µé¾î ÀÖ´ÂÁö Ã¼Å©
	if ((i = strUA.indexOf(s)) >= 0) {
		this.isIE = true;
		// º¯¼ö i¿¡´Â strUA ¹®ÀÚ¿­ Áß MSIE°¡ ½ÃÀÛµÈ À§Ä¡ °ªÀÌ µé¾îÀÖ°í,
		// s.length´Â MSIEÀÇ ±æÀÌ Áï, 4°¡ µé¾î ÀÖ´Ù.
		// strUA.substr(i + s.length)¸¦ ÇÏ¸é strUA ¹®ÀÚ¿­ Áß MSIE ´ÙÀ½¿¡ 
		// ³ª¿À´Â ¹®ÀÚ¿­À» Àß¶ó¿Â´Ù.
		// ±× ¹®ÀÚ¿­À» parseFloat()·Î º¯È¯ÇÏ¸é ¹öÀüÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù.
		this.version = parseFloat(strUA.substr(i + s.length));
		return;
	}
 
	s = "Netscape6/";
	// Agent ¹®ÀÚ¿­(strUA) "Netscape6/"ÀÌ¶õ ¹®ÀÚ¿­ÀÌ µé¾î ÀÖ´ÂÁö Ã¼Å©
	if ((i = strUA.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = parseFloat(strUA.substr(i + s.length));
		return;
	}
 
	// ´Ù¸¥ "Gecko" ºê¶ó¿ìÀú´Â NS 6.1·Î Ãë±Þ.
 
	s = "Gecko";
	if ((i = strUA.indexOf(s)) >= 0) {
		this.isNS = true;
		this.version = 6.1;
		return;
	}
}
 
var objDetectBrowser = new objDetectBrowser();
// ÇöÀç È°¼ºÈ­µÈ ¹öÆ°À» ÃßÀûÇÏ±â À§ÇÑ Àü¿ª º¯¼ö.
var gvActiveButton = null;
 
// ¹öÆ°ÀÌ ¾Æ´Ñ ´Ù¸¥ °÷¿¡ ¸¶¿ì½º¸¦ Å¬¸¯ÇÏ¸é È°¼ºÈ­µÈ ¹öÆ°À» ºñÈ°¼ºÈ­·Î º¯°æ.
 
if (objDetectBrowser.isIE)
	document.onmousedown = mousedownPage;
if (objDetectBrowser.isNS)
	document.addEventListener("mousedown", mousedownPage, true);
	 
function mousedownPage(event) 
{

	if(minical.style.display == "block" && gvActiveButton == null) minical.style.display = "none" ;
}

var target;																	// È£ÃâÇÑ ObjectÀÇ ÀúÀå
var stime;
document.write("<div id=minical oncontextmenu='return false' ondragstart='return false' onselectstart='return false' style=\"background:buttonface; margin:0; padding:0;margin-top:0;border-top:1 solid buttonshadow;border-left: 1 solid buttonshadow;border-right: 1 solid buttonshadow;border-bottom:1 solid buttonshadow;width:170;display:none;position: absolute; z-index: 99\"></div>");

function Calendar(obj) {														// jucke
	var now = obj.value.split("-");
	var x, y;
	var dedate = document.all.Check_In.value.split("/");						// Ã¼Å©ÀÎ ¼±ÅÃÁ¤º¸
	var oedate = document.all.Check_Out.value.split("/");						// Ã¼Å©¾Æ¿ô ¼±ÅÃÁ¤º¸
	dedates = dedate[2] + dedate[0] + dedate[1]

	target = obj;																// Object ÀúÀå;

	x = (document.layers) ? loc.pageX : event.clientX;
	y = (document.layers) ? loc.pageY : event.clientY;
	
	x = document.body.scrollLeft + x;											// ½ºÅ©·Ñ ¿µ¿ª º¸Á¤
	y = document.body.scrollTop + y;

	minical.style.pixelTop	= y+7;
	minical.style.pixelLeft	= x-50;
	minical.style.display = (minical.style.display == "block") ? "none" : "block";

	if (now.length == 3) {														// Á¤È®ÇÑÁö °Ë»ç
		Show_cal(now[0],now[1],now[2]);											// ³Ñ¾î¿Â °ªÀ» ³â¿ùÀÏ·Î ºÐ¸®
	} else {
		now = new Date();
		Show_cal(now.getFullYear(), now.getMonth()+1, now.getDate());			// ÇöÀç ³â/¿ù/ÀÏÀ» ¼³Á¤ÇÏ¿© ³Ñ±è.
	}
}

function totalDays(month, year)
{
	var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)

	//À±³âÀÎÁö¸¦ °Ë»çÇÏ¿© 2¿ùÀÇ ÀÏ¼ö¸¦ ÁöÁ¤
	if ((year % 4)==0) {													// 4³â¸¶´Ù 1¹øÀÌ¸é (»ç·Î³ª´©¾î ¶³¾îÁö¸é)
		if ((year % 100) == 0) {
			if ((year % 400) == 0) {
				Months_day[2] = 29;
			}
		} else {
			Months_day[2] = 29;
		}
	}
	return Months_day[month];									// ¸¶Áö¸· ÀÏÀÚ ±¸ÇÔ
}

function calSum(enDate)															//	´Þ·ÂÀ» Ã¼Å©ÇÑ ³¯¸¸Å­ Stay ¼±ÅÃÁ¶°Ç ¸¸µé¾î ÁÖ±â
{
	var stdate = document.all.Check_In.value.split("/");						// Ã¼Å©ÀÎ ¼±ÅÃÁ¤º¸
	var endate = enDate.split("/");												// Ã¼Å©¾Æ¿ô ¼±ÅÃÁ¤º¸

	stdates = new Date(stdate[2], stdate[0]-1, stdate[1]).getTime();
	endates = new Date(endate[2], endate[0]-1, endate[1]).getTime();
	sumdate = (endates-stdates) / (1000*60*60*24);

	//	ÇöÀç µî·ÏµÇ¾î ÀÖ´Â option Á¤º¸¸¦ ¸ðµÎ »èÁ¦ÇÑ´Ù.
	for(i = 0 ; moduleForm.stayDay.length ; i++) {
		moduleForm.stayDay.options[moduleForm.stayDay.selectedIndex] = null ;
	}

	//	³¯Â¥ ¼ö·®¸¸Å­ ´Ù½Ã option À» ¸¸µç´Ù.
	for(i = 0 ; i <= sumdate ; i++) {
		option = (i == 0) ? new Option("-", "-") : new Option(i, i);
		moduleForm.stayDay.options[moduleForm.stayDay.length] = option ;
	}
	moduleForm.elements['stayDay'].options[sumdate].selected = true;			//	Çà´çÀÏÀ» Ã¼Å© ÇØ ÁØ´Ù.
}
	
function doOver() {																// ¸¶¿ì½º°¡ Ä®·»´ÙÀ§¿¡ ÀÖÀ¸¸é

	gvActiveButton = '1';
//	document.all.divfrm.value=gvActiveButton
	var el = window.event.srcElement;
	cal_Day = el.title;

	if (cal_Day.length > 7) {													// ³¯ÀÚ °ªÀÌ ÀÖÀ¸¸é.
		el.style.borderTopColor = el.style.borderLeftColor = "buttonhighlight";
		el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
	}
	window.clearTimeout(stime);													// Clear
}

function doClick() {															// ³¯ÀÚ¸¦ ¼±ÅÃÇÏ¿´À» °æ¿ì
	cal_Day = window.event.srcElement.title;
	window.event.srcElement.style.borderColor = "red";							// Å×µÎ¸® »öÀ» »¡°£»öÀ¸·Î
	if (cal_Day.length > 7) {													// ³¯ÀÚ °ªÀÌÀÖÀ¸¸é
		target.value=cal_Day													// °ª ¼³Á¤
	}
	minical.style.display='none';												// È­¸é¿¡¼­ Áö¿ò

	if(target.name == "Check_Out") calSum(cal_Day);
}

function doHid() {
	gvActiveButton = null;
//	document.all.divfrm.value=gvActiveButton
//	var el = window.event.fromElement;
//	cal_Day = el.title;

//	if (cal_Day.length > 7) {
//		el.style.borderColor = "white";
//	}
	//stime=window.setTimeout("minical.style.display='none';", 200);
}

function doOut() {
//	gvActiveButton = null;
	var el = window.event.fromElement;
	cal_Day = el.title;

	if (cal_Day.length > 7) {
		el.style.borderColor = "white";
	}
	//stime=window.setTimeout("minical.style.display='none';", 200);
}

function day2(d) {																// 2ÀÚ¸® ¼ýÀÚ·á º¯°æ
	var str = new String();
	
	if (parseInt(d) < 10) {
		str = "0" + parseInt(d);
	} else {
		str = "" + parseInt(d);
	}
	return str;
}

function Show_cal(sYear, sMonth, sDay) {
	var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)
	var Weekday_name = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
	var intThisYear = new Number(), intThisMonth = new Number(), intThisDay = new Number();
	document.all.minical.innerHTML = "";
	datToday = new Date();													// ÇöÀç ³¯ÀÚ ¼³Á¤
	
	intThisYear = parseInt(sYear);
	intThisMonth = parseInt(sMonth);
	intThisDay = parseInt(sDay);
	
	if (intThisYear == 0) intThisYear = datToday.getFullYear();				// °ªÀÌ ¾øÀ» °æ¿ì
	if (intThisMonth == 0) intThisMonth = parseInt(datToday.getMonth())+1;	// ¿ù °ªÀº ½ÇÁ¦°ª º¸´Ù -1 ÇÑ °ªÀÌ µÅµ¹·Á Áø´Ù.
	if (intThisDay == 0) intThisDay = datToday.getDate();
	
	switch(intThisMonth) {
		case 1:
				intPrevYear = intThisYear -1;
				intPrevMonth = 12;
				intNextYear = intThisYear;
				intNextMonth = 2;
				break;
		case 12:
				intPrevYear = intThisYear;
				intPrevMonth = 11;
				intNextYear = intThisYear + 1;
				intNextMonth = 1;
				break;
		default:
				intPrevYear = intThisYear;
				intPrevMonth = parseInt(intThisMonth) - 1;
				intNextYear = intThisYear;
				intNextMonth = parseInt(intThisMonth) + 1;
				break;
	}

	NowThisYear = datToday.getFullYear();										// ÇöÀç ³â
	NowThisMonth = datToday.getMonth()+1;										// ÇöÀç ¿ù
	NowThisDay = datToday.getDate();											// ÇöÀç ÀÏ
	
	datFirstDay = new Date(intThisYear, intThisMonth-1, 1);						// ÇöÀç ´ÞÀÇ 1ÀÏ·Î ³¯ÀÚ °´Ã¼ »ý¼º(¿ùÀº 0ºÎÅÍ 11±îÁöÀÇ Á¤¼ö(1¿ùºÎÅÍ 12¿ù))
	intFirstWeekday = datFirstDay.getDay();										// ÇöÀç ´Þ 1ÀÏÀÇ ¿äÀÏÀ» ±¸ÇÔ (0:ÀÏ¿äÀÏ, 1:¿ù¿äÀÏ)
	
	intSecondWeekday = intFirstWeekday;
	intThirdWeekday = intFirstWeekday;
	
	datThisDay = new Date(intThisYear, intThisMonth, intThisDay);				// ³Ñ¾î¿Â °ªÀÇ ³¯ÀÚ »ý¼º
	intThisWeekday = datThisDay.getDay();										// ³Ñ¾î¿Â ³¯ÀÚÀÇ ÁÖ ¿äÀÏ

	varThisWeekday = Weekday_name[intThisWeekday];								// ÇöÀç ¿äÀÏ ÀúÀå

	intPrintDay = 1																// ´ÞÀÇ ½ÃÀÛ ÀÏÀÚ
	secondPrintDay = 1
	thirdPrintDay = 1
	
	Stop_Flag = 0
	
	if ((intThisYear % 4)==0) {													// 4³â¸¶´Ù 1¹øÀÌ¸é (»ç·Î³ª´©¾î ¶³¾îÁö¸é)
		if ((intThisYear % 100) == 0) {
			if ((intThisYear % 400) == 0) {
				Months_day[2] = 29;
			}
		} else {
			Months_day[2] = 29;
		}
	}
	intLastDay = Months_day[intThisMonth];										// ¸¶Áö¸· ÀÏÀÚ ±¸ÇÔ
	Stop_flag = 0

	Cal_HTML = "<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 bgcolor='buttonface'><tr><td height=8 ONMOUSEOVER=doHid(); colspan=3></td></tr><tr><td ONMOUSEOVER=doHid(); width=8><img src='/images/calendar/blank.gif' width=8 height=0></td><td><TABLE WIDTH=160 BORDER=0 CELLPADDING=4 CELLSPACING=1 bgcolor='CCCCCC'><tr><td><TABLE WIDTH=150 BORDER=0 CELLPADDING=0 CELLSPACING=0 ONMOUSEOVER=doOver(); ONMOUSEOUT=doOut(); STYLE='font-size:8pt;font-family:Tahoma;'>"
			+ "<TR ALIGN=CENTER><TD COLSPAN=7 nowrap=nowrap ALIGN=CENTER><SPAN STYLE=cursor:hand; onClick='Show_cal("+intPrevYear+","+intPrevMonth+","+intThisDay+");'><img src=/images/calendar/icon_01.gif></SPAN> "
			+ "<B STYLE=color:red class='text8'>"+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+" / "+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+"</B>"
			+ " <SPAN STYLE=cursor:hand; onClick='Show_cal("+intNextYear+","+intNextMonth+","+intThisDay+");'><img src=/images/calendar/icon_02.gif></SPAN></TD></TR>"
			+ "<TR ALIGN=CENTER BGCOLOR=ThreedFace STYLE='color:White;font-weight:bold;;font-size:8pt' class='text8'><TD><img src=/images/calendar/day_01.gif></TD><TD><img src=/images/calendar/day_02.gif></TD><TD><img src=/images/calendar/day_03.gif></TD><TD><img src=/images/calendar/day_04.gif></TD><TD><img src=/images/calendar/day_05.gif></TD><TD><img src=/images/calendar/day_06.gif></TD><TD><img src=/images/calendar/day_07.gif></TD></TR>";
			
	for (intLoopWeek=1; intLoopWeek < 7; intLoopWeek++) {						// ÁÖ´ÜÀ§ ·çÇÁ ½ÃÀÛ, ÃÖ´ë 6ÁÖ
		Cal_HTML += "<TR ALIGN=RIGHT BGCOLOR=WHITE>"
		for (intLoopDay=1; intLoopDay <= 7; intLoopDay++) {						// ¿äÀÏ´ÜÀ§ ·çÇÁ ½ÃÀÛ, ÀÏ¿äÀÏ ºÎÅÍ
			if (intThirdWeekday > 0) {											// Ã¹ÁÖ ½ÃÀÛÀÏÀÌ 1º¸´Ù Å©¸é
				Cal_HTML += "<TD onClick=doClick();>";
				intThirdWeekday--;
			} else {
				if (thirdPrintDay > intLastDay) {								// ÀÔ·Â ³¯Â¦ ¿ù¸»º¸´Ù Å©´Ù¸é
					Cal_HTML += "<TD onClick=doClick();>";
				} else {														// ÀÔ·Â³¯Â¥°¡ ÇöÀç¿ù¿¡ ÇØ´ç µÇ¸é
					if((day2(NowThisYear).toString() + day2(NowThisMonth).toString() + day2(NowThisDay).toString()) > (day2(intThisYear).toString() + day2(intThisMonth).toString() + day2(thirdPrintDay).toString()) && target.name == "Check_In") {	// ¿À´Ã³¯Â¥º¸´Ù µÞ³¯ÀÌ¸é ¸µÅ©¸¦ »©°í »ö»óÀ» Èå¸®°Ô ÇÑ´Ù.
						Cal_HTML += "<TD style='COLOR: DDDDDD;' title="+day2(intThisMonth).toString()+"/"+day2(thirdPrintDay).toString()+"/"+intThisYear+" STYLE=\"cursor:Hand;border:1px solid white;";
					}else if(dedates >= (day2(intThisYear).toString() + day2(intThisMonth).toString() + day2(thirdPrintDay).toString()) && target.name == "Check_Out") {	// Ã¼Å©ÀÎº¸´Ù µÞ³¯ÀÌ¸é ¸µÅ©¸¦ »©°í »ö»óÀ» Èå¸®°Ô ÇÑ´Ù.
						// Ã¼Å© ¾Æ¿ôÀÏ ¶§ °è»ê
						Cal_HTML += "<TD style='COLOR: DDDDDD;' title="+day2(intThisMonth).toString()+"/"+day2(thirdPrintDay).toString()+"/"+intThisYear+" STYLE=\"cursor:Hand;border:1px solid white;";
					}else {
						Cal_HTML += "<TD onClick=doClick(); class='text8' title="+day2(intThisMonth).toString()+"/"+day2(thirdPrintDay).toString()+"/"+intThisYear+" STYLE=\"cursor:Hand;border:1px solid white;";
					}

					if (intThisYear == NowThisYear && intThisMonth==NowThisMonth && thirdPrintDay==intThisDay && target.name == "Check_In") {  // ¿À´Ã»ö»ó
						Cal_HTML += "background-color:#99FFCC;";
					}
					else if (dedates == (day2(intThisYear).toString() + day2(intThisMonth).toString() + day2(thirdPrintDay).toString()) && target.name == "Check_Out") { // Ãâ¹ßÀÏ »ö»ó
						Cal_HTML += "background-color:#FFCC99;";
					}
					
					switch(intLoopDay) {
						case 1:													// ÀÏ¿äÀÏÀÌ¸é »¡°£ »öÀ¸·Î
							Cal_HTML += "color:red;"
							break;
						case 7:													//	Åä¿äÀÏÀÌ¸é ÆÄ¶õ»öÀ¸·Î
							Cal_HTML += "color:blue;"
							break;
						default:
							Cal_HTML += "color:black;"
							break;
					}
					
					Cal_HTML += "\" height=20>"+thirdPrintDay;
					
				}
				thirdPrintDay++;
				
				if (thirdPrintDay > intLastDay) {								// ¸¸¾à ³¯Â¥ °ªÀÌ ¿ù¸» °ªº¸´Ù Å©¸é ·çÇÁ¹® Å»Ãâ
					Stop_Flag = 1;
				}
			}
			Cal_HTML += "</TD>";
		}
		Cal_HTML += "</TR>";
		if (Stop_Flag==1) break;
	}
	Cal_HTML += "</TABLE></td></tr></table></td><td ONMOUSEOVER=doHid(); width=8><img src='/images/calendar/blank.gif' width=8 height=0></td></tr><tr><td height=8 ONMOUSEOVER=doHid(); colspan=3></td></tr></table>";

	document.all.minical.innerHTML = Cal_HTML;
}

function get_Yearinfo(year,month,day) {											// ³â Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
	var min = parseInt(year) - 100;
	var max = parseInt(year) + 10;
	var i = new Number();
	var str = new String();
	
	str = "<SELECT onChange='Show_cal(this.value,"+month+","+day+");' ONMOUSEOVER=doOver(); class='text8'>";
	for (i=min; i<=max; i++) {
		if (i == parseInt(year)) {
			str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		} else {
			str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		}
	}
	str += "</SELECT>";
	return str;
}


function get_Monthinfo(year,month,day) {										// ¿ù Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
	var i = new Number();
	var str = new String();
	
	str = "<SELECT onChange='Show_cal("+year+",this.value,"+day+");' ONMOUSEOVER=doOver(); class='text8'>";
	for (i=1; i<=12; i++) {
		if (i == parseInt(month)) {
			str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		} else {
			str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		}
	}
	str += "</SELECT>";
	return str;
}
