	var layerName;
	var bodyCode;

	var DOMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
	var lDOMonth = [31,29,31,30,31,30,31,31,30,31,30,31];
	var day_header = ["ÀÏ","¿ù","È­","¼ö","¸ñ","±Ý","Åä"];
	
	var gNow = new Date();
	var today = new Date();

	var func_call_yn;

	var src_val_yy;
	var src_val_m;
	var src_val_d;

	var ret_name_yy;
	var ret_name_m;
	var ret_name_d;	

	function getXY(Obj) 
	{
		for (var sumTop=0,sumLeft=0;Obj!=document.body;sumTop+=Obj.offsetTop,sumLeft+=Obj.offsetLeft, Obj=Obj.offsetParent);
		return {left:sumLeft,top:sumTop}
	}

	function clickon(day)
	{
		var mon = (gNow.getMonth()+1).toString();
		var dat = day.toString();
		var retval_yy;
		var retval_m;
		var retval_d;

		retval_yy = gNow.getFullYear().toString();
		retval_m = (mon.length < 2? "0" + mon:mon);
		retval_d = (dat.length < 2? "0" + dat:dat);

		if(ret_name_yy != null) ret_name_yy.value = retval_yy;
		if(ret_name_m != null) ret_name_m.value = retval_m;
		if(ret_name_d != null) ret_name_d.value = retval_d;
		
		if(func_call_yn == "Y") setCheckOut("d");
		hide();
	}
	
	function get_day_of_month(monthNo, p_year)
	{
		if(monthNo == -1) 
		{
			monthNo = 11;
			p_year--;
		} 
		else if(monthNo == 12) 
		{
			monthNo = 0;
			p_year++;
		}
	
		if ((p_year % 4) == 0) 
		{
			if ((p_year % 100) == 0 && (p_year % 400) != 0) return Calendar.DOMonth[monthNo];
			return lDOMonth[monthNo];
		} 
		else 
			return DOMonth[monthNo];
	}

	function get_dow_of_mfirst(monthNo, p_year)
	{
		if(monthNo == -1) {
			monthNo = 11;
			p_year--;
		} else if(monthNo == 12) {
			monthNo = 0;
			p_year++;
		}

		var vDate = new Date();
		vDate.setDate(1);
		vDate.setMonth(monthNo);
		vDate.setFullYear(p_year);
		return vDate.getDay();
	}

	function makeDay(sel, day, thrd, curday)
	{
		var colorCode = "";

		bodyCode += "<td";
		if(thrd < 0 || thrd > 6) 
		{
			bodyCode += " style='COLOR: gray;'>" + day + "</td>";
		} 
		else 
		{
			if(day == curday)
			{ // ¿À´Ã
				colorCode = " COLOR: #C000C0;";
			} 
			else if(gNow.getFullYear() == src_val_yy && (gNow.getMonth()+1) == parseInt(src_val_m,10) && day == parseInt(src_val_d,10))
			{
				colorCode = " COLOR: #FF9402;";				
			}
			else 

			
			{
				if(sel == 0){ // ÀÏ¿äÀÏ
					colorCode = " COLOR: #C00000;";
				}else if(sel == 6){ // Åä¿äÀÏ
					colorCode = " COLOR: #0000C0;";
				}else{
					colorCode = " COLOR: #000000;";
				}
			}
			bodyCode += ">";
			bodyCode += "<a href=\"javascript:clickon('"+day+"');\" style='TEXT-DECORATION: none; " + colorCode + "'>";
			bodyCode += day;
			bodyCode += "</a>";
			bodyCode += "</td>";
		}
	}
	
	function makeWeek(startD, thrd)
	{
		var startDay = startD;
		var cur_date = -1;
		var i;

		if(gNow.getFullYear() == today.getFullYear() && gNow.getMonth() == today.getMonth())
			cur_date = today.getDate();
		
		bodyCode += "<tr align=center>";

		if(thrd < 0) 
		{  // Ã¹¹øÂ° ÁÖ 
			startDay = get_day_of_month(gNow.getMonth()-1, gNow.getFullYear()) + thrd + 1;
			for(i=0; i<7; i++, startDay++, thrd++) 
			{
				if(startDay > get_day_of_month(gNow.getMonth()-1, gNow.getFullYear()) ) startDay = 1;
				makeDay(i, startDay, thrd, cur_date);
			}
		} 
		else if(thrd > 0 && thrd < 7) 
		{ // ¸¶Áö¸· ÁÖ
			for(i=0; i<7; i++, startDay++, thrd++) 
			{
				if(startDay > get_day_of_month(gNow.getMonth(), gNow.getFullYear())) startDay = 1;
				makeDay(i, startDay, thrd, cur_date);
			}
		} 
		else 
		{
			for(i=0; i<7; i++, startDay++, thrd++) 
			{
				makeDay(i, startDay, thrd, cur_date);
			}
		}
 		bodyCode += "</tr>"
		return startDay;
	}
	
	function makebody()
	{
		var startDay;
		startDay = makeWeek(1, 0-get_dow_of_mfirst(gNow.getMonth(), gNow.getFullYear()));

		while(startDay < (get_day_of_month(gNow.getMonth(), gNow.getFullYear())-6)) 
		{
			startDay = makeWeek(startDay, 0);
		}
		startDay = makeWeek(startDay, (7-get_dow_of_mfirst(gNow.getMonth()+1, gNow.getFullYear()))%7);
	}

	function makeCal()
	{
		var i, startDay;
		bodyCode = "<table width=160 BORDER=0 CELLPADDING=0 BGCOLOR='cdcdcd'>";
		bodyCode += "  <tr>";
		bodyCode += "    <td height='142' valign='top'>";
		bodyCode += "      <table width=100%  bgcolor='F3EFE8'>";
		bodyCode += "        <tr align=center>";
		bodyCode += "          <td width=10% align=center> <a href=\"javascript:changeCal("+ (gNow.getMonth()) +","+ gNow.getFullYear() +");\"><img src='../image/sub/sch_arr_l.gif' width='5' height='9' border=0></a> </td>";
		bodyCode += "          <td width=79% align=center class='fontsiz8'><strong> " + gNow.getFullYear() + "³â " + (parseInt(gNow.getMonth(),10) + 1) + "¿ù </strong></td>";
		bodyCode += "          <td width=11% align=center> <a href=\"javascript:changeCal("+ (parseInt(gNow.getMonth(),10) + 2) +","+ gNow.getFullYear() +");\"><img src='../image/sub/sch_arr_r.gif' width='5' height='9' border=0></a> </td>";
		bodyCode += "        </tr>";
		bodyCode += "        <tr>";
		bodyCode += "          <td colspan=3>";
		bodyCode += "            <table width=100%  bgcolor='ffffff'>";
		bodyCode += "              <tr align=center>";
		bodyCode += "                <td width='12%' height='15'><img src='../image/sub/sch_m1.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m2.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m3.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m4.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m5.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m6.gif' width='17' height='5'></td>";
		bodyCode += "                <td width='12%'><img src='../image/sub/sch_m7.gif' width='17' height='5'></td>";
/*
		bodyCode += "                <td style='color: #C00000'> ÀÏ </td>";
		bodyCode += "                <td style='color: #000000'> ¿ù </td>";
		bodyCode += "                <td style='color: #000000'> È­ </td>";
		bodyCode += "                <td style='color: #000000'> ¼ö </td>";
		bodyCode += "                <td style='color: #000000'> ¸ñ </td>";
		bodyCode += "                <td style='color: #000000'> ±Ý </td>";
		bodyCode += "                <td style='color: #0000C0'> Åä </td>";
*/
		bodyCode += "              </tr>";
		bodyCode += "              <tr height=1>";
		bodyCode += "                <td colspan=7 bgcolor='#555555'></td>";
		bodyCode += "              </tr>";

		makebody();
		
		bodyCode += "            </table>";
		bodyCode += "          </td>";
		bodyCode += "        </tr>";
		bodyCode += "        <tr align=center>";
		bodyCode += "          <td colspan=3 align='center' class='fontsiz8'>Today : " 
		bodyCode +=					(today.getMonth() + 1) +"¿ù " + today.getDate() + "ÀÏ (" + day_header[today.getDay()] + ")</td>";
		bodyCode += "        </tr>";
		bodyCode += "        <tr align=center>";
		bodyCode += "          <td colspan=3 height='16' align='right' bgcolor='#FFFFFF'> <b><a href='javascript:hide();'> <img src='../image/sub/sch_close.gif' width='44' height='16' border='0'> </a></b> </td>";
		bodyCode += "        </tr>";
		bodyCode += "      </table>";
		bodyCode += "    </td>";
		bodyCode += "  </tr>";
		bodyCode += "</table>";
	}

	function changeCal(s_mon, s_year)
	{
		if(s_mon != null && s_year != null )
		{
			if(s_mon == 0) 
			{
				s_mon = 12;
				s_year--;
			} 
			else if(s_mon == 13) 
			{
				s_mon = 1;
				s_year++;
			}

			gNow.setMonth(s_mon-1);
			gNow.setFullYear(s_year);
			//alert(gNow.getFullYear() + " : " + gNow.getMonth());
			
		}
		makeCal();
		document.all[layerName].innerHTML = bodyCode;
	}

	function showXY(location)
	{
		var X, Y;
		//X = getXY(location).left - 30;
		//Y = getXY(location).top + 30;
		X = getXY(location).left + 10;
		Y = getXY(location).top + 15;
		document.all[layerName].style.left = X;
		document.all[layerName].style.top = Y;

		if(src_val_yy != null && src_val_m != null && src_val_d != null)
		{
			changeCal(parseInt(src_val_m,10), parseInt(src_val_yy,10));
		}
		else
		{
			changeCal();
		}
	}
	
	function hide()
	{
		document.all[layerName].innerHTML = "";
	}

	function createLayer(Lname)
	{
		layerName = Lname;
		document.write("<DIV ID="+ Lname +" STYLE='position:absolute;top:10;left:15;z-index=4'></DIV>");
	}


