if (typeof(CALENDAR_JS) == 'undefined') { 
    var CALENDAR_JS = true;
	var target;																	// È£ÃâÇÑ ObjectÀÇ ÀúÀå
	var stime;
	document.write("<div id=minical oncontextmenu='return false' ondragstart='return false' onselectstart='return false' style=\"background-color:#FFFFFF; margin:2; padding:2;margin-top:2;border-top:1 solid buttonshadow;border-left: 1 solid buttonshadow;border-right: 1 solid buttonshadow;border-bottom:1 solid buttonshadow;width:160;display:none;position: absolute; z-index: 99\"></div>");

	function Calendar(obj) {														// jucke
		var now = obj.value.split("-");
		var x, y;
		
		target = obj;																// Object ÀúÀå;

		x = (document.layers) ? loc.pageX : event.clientX;
		y = (document.layers) ? loc.pageY : event.clientY;

		minical.style.pixelTop	= y+5;
		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 doOver() {																// ¸¶¿ì½º°¡ Ä®·»´ÙÀ§¿¡ ÀÖÀ¸¸é
		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';												// È­¸é¿¡¼­ Áö¿ò
	}

	function doOut() {
		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("ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä");
		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 ONMOUSEOVER=doOver(); ONMOUSEOUT=doOut(); STYLE='font-size:8pt;font-family:Tahoma;' BGCOLOR=WHITE>"
				+ "<TR ALIGN=CENTER><TD COLSPAN=7 nowrap=nowrap ALIGN=CENTER><SPAN TITLE='ÀÌÀü´Þ' STYLE=cursor:hand; onClick='Show_cal("+intPrevYear+","+intPrevMonth+",1);'><FONT COLOR=Navy>¢¸</FONT></SPAN> "
				+ "<B STYLE=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+"³â"+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+"¿ù</B>"
				+ " <SPAN TITLE='´ÙÀ½´Þ' STYLE=cursor:hand; onClick='Show_cal("+intNextYear+","+intNextMonth+",1);'><FONT COLOR=Navy>¢º</FONT></SPAN></TD></TR>"
				+ "<TR ALIGN=right BGCOLOR='white' STYLE='color:black;font-weight:bold;'><TD>ÀÏ</TD><TD>¿ù</TD><TD>È­</TD><TD>¼ö</TD><TD>¸ñ</TD><TD>±Ý</TD><TD>Åä</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 {														// ÀÔ·Â³¯Â¥°¡ ÇöÀç¿ù¿¡ ÇØ´ç µÇ¸é
						Cal_HTML += "<TD onClick=doClick(); title="+intThisYear+"-"+day2(intThisMonth).toString()+"-"+day2(thirdPrintDay).toString()+" STYLE=\"cursor:Hand;border:1px solid white;";
						if (intThisYear == NowThisYear && intThisMonth==NowThisMonth && thirdPrintDay==intThisDay) {
							Cal_HTML += "background-color:cyan;";
						}
						
						switch(intLoopDay) {
							case 1:													// ÀÏ¿äÀÏÀÌ¸é »¡°£ »öÀ¸·Î
								Cal_HTML += "color:red;"
								break;
							case 7:
								Cal_HTML += "color:blue;"
								break;
							default:
								Cal_HTML += "color:black;"
								break;
						}
						
						Cal_HTML += "\">"+thirdPrintDay;
						
					}
					thirdPrintDay++;
					
					if (thirdPrintDay > intLastDay) {								// ¸¸¾à ³¯Â¥ °ªÀÌ ¿ù¸» °ªº¸´Ù Å©¸é ·çÇÁ¹® Å»Ãâ
						Stop_Flag = 1;
					}
				}
				Cal_HTML += "</TD>";
			}
			Cal_HTML += "</TR>";
			if (Stop_Flag==1) break;
		}
		Cal_HTML += "</TABLE>";

		document.all.minical.innerHTML = Cal_HTML;
	}

	function get_Yearinfo(year,month,day) {											// ³â Á¤º¸¸¦ ÄÞº¸ ¹Ú½º·Î Ç¥½Ã
		var min = parseInt(year) - 10;
		var max = parseInt(year) + 10;
		var i = new Number();
		var str = new String();
		
		str = "<SELECT onChange='Show_cal(this.value,"+month+","+day+");' ONMOUSEOVER=doOver();>";
		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();>";
		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;
	}
}