/**************************************************
*
*	SODA Calendar Control ver 2.0
*
*	¸¸µç³¯Â¥: 2004.04.03
*	¸¸µç»ç¶÷: È«ÁØÇ¥(sorisoda72@hotmail.com)
*
*	ÇâÈÄ¹öÀü: BtnCalendar¿¡ textindex¸¦ ¼³Á¤ ÅØ½ºÆ®¹Ú½º¹è¿­¿¡ Àû¿ëÅä·Ï ÇÒ °Í
*
*	<»ç¿ë¹ý>
*	1. ¹Ýµå½Ã <BODY>¿Í </BODY>ÅÂ±× »çÀÌ¿¡¼­ Calendar.js¸¦ INCLUDEÇÏ´Â ¼Ò½º¸¦ ³Ö´Â´Ù.
*		¿¹) <script language="JavaScript" src="/Calendar.js"></script>
*	2. Calendar ControlÀ» ºÒ·¯¿Ã ÀÌ¹ÌÁö¾ÆÀÌÄÜ(ÇÊ)ÀÌ µé¾î°¥ À§Ä¡¿¡ 
*		<script language="JavaScript">Exec_Calendar("´Þ·Â°ú ÇÔ²² »ç¿ëµÉ ÅØ½ºÆ®¹Ú½ºÀÌ¸§","¾ÆÀÌÄÜ°æ·Î");</script>
*		¿¹) <script language="JavaScript">Exec_Calendar("SDATE","/images/calendar.gif");</script>
*
**************************************************/

/**************************************************
	¡Ü Àü¿ªº¯¼ö ¼±¾ð
**************************************************/

// Calendar Show OR Hide
var bShowHideCalendarDisplay;

// Calendar ±âº»Æû ±¸¼º¿©ºÎ
var bInitCalendar;

// Calendar Size
var CalendarX,CalendarY;

// Year,Month,Dayº¯¼ö(¼ø¼­´ë·Î-¿À´Ã,ÀÔ·ÂÀÏÀÚ,Ã³¸®(³â,¿ù))
var ToDay_Y,ToDay_M,ToDay_D;
var TxDay_Y,TxDay_M,TxDay_D;
var iCalendarYear,iCalendarMonth;

// FORM°ú TEXTBOX
var eleCalendarF,eleCalendarN;

// Calendar À§Ä¡(true:À§,false:¾Æ·¡)
var bCalendar_Pos,bCalendar_Pos_Old;

// CalendarÀÇ ¼ö¿Í º¸ÀÌ´Â Çü½Ä
var CalendarImageCount;

var Opacity_Run;

// default: none, ÃÊ±âÈ­ÁøÇà
bShowHideCalendarDisplay = false;
bInitCalendar = true;

CalendarX = 180;
CalendarY = 200;

bCalendar_Pos = false;
bCalendar_Pos_Old = false;

CalendarImageCount = 0;

/**************************************************
	¡Ü Page HTML ±¸¼º ¹× ÀÌº¥Æ® ¹ß»ý
**************************************************/

// Calendar ControlÀÌ µé¾î°¥ À§Ä¡(DIV) ¸¸µé±â
document.write('<DIV id="CalendarControl" class="CalendarControl" STYLE="width:' + CalendarX + '; height:' + CalendarY + '; display:none;"></DIV>');

// ¸¶¿ì½º Å¬¸¯ ÀÌº¥Æ® ¹ß»ý½Ã ÇÔ¼ö·Îµù
document.onmouseup = ShowHide_Calendar;

function Exec_Calendar(tN,iM)
{
	CalendarImageCount = CalendarImageCount + 1;
	document.write('<img id="BtnCalendar'+CalendarImageCount+'" textname="'+tN+'" align="absmiddle" src="'+iM+'" border="0" style="cursor:hand;">');
}

/**************************************************
	¡Ü ÀÌº¥Æ® ¹ß»ý¿¡ µû¸¥ Ã³¸®
**************************************************/

function ShowHide_Calendar()
{
	if(bShowHideCalendarDisplay) Hide_Calendar();
	else Show_Calendar();
}

function Hide_Calendar()
{
	CalendarControl.style.position = 'absolute';
	CalendarControl.style.left = 0;
	CalendarControl.style.top = 0;
	CalendarControl.style.width = 0;
	CalendarControl.style.display = 'none';
	bShowHideCalendarDisplay = false;
}

function Calendar_Show(cx,cy)
{
	CalendarControl.style.position = 'absolute';
	CalendarControl.style.left = cx;
	CalendarControl.style.top = cy;
	CalendarControl.style.width = CalendarX;
	CalendarControl.style.display = 'block';
	bShowHideCalendarDisplay = true;
	
	Calendar_Opacity(10);
}

function Calendar_Opacity(iOpacity)
{
	if(iOpacity < 90)
	{
		document.all["frmCalendarControl"].filters.alpha.opacity = iOpacity;
		Opacity_Run = setTimeout("Calendar_Opacity("+(iOpacity + 5)+");",50);
	}
	else
	{
		document.all["frmCalendarControl"].filters.alpha.opacity = 90;
		Opacity_Run = null;
	}
}

function Show_Calendar()
{
	var elt,eltTN;
	var eltCN;
	// BtnCalendar·Î ½ÃÀÛµÇ´Â ID¸¦ °¡Áø Image Tag¿¡¼­ Event¹ß»ý
	elt = window.event.srcElement;
	
	eltTN = elt.tagName;

	if(eltTN == "IMG")
	{
		eltCN = elt.id;
		if(eltCN.substring(0,11) == "BtnCalendar")
		{
			// ¼Ò½º°ËÁõ ÈÄ ½ÇÃ³¸®ÇÔ¼ö ½ÇÇà
			if(Check_Calendar(elt))
			{
				Calendar_Display(elt);
			}
		}
	}
}

function Calendar_Display(elt)
{
	// Position ¼³Á¤
	var frmPosX,frmPosY;
	if(elt != null)
	{
		frmPosX = GetLayerPositionX(elt);
		frmPosY = GetLayerPositionY(elt);
	}

	// ¿À´Ã³¯Â¥È®ÀÎ(To_Day)
	Set_ToDay(elt);
	
	// ÀÔ·ÂÀÏÀÚÈ®ÀÎ(Tx_Day)
	Set_TxDay(elt);
	
	// ÀÏ¼ö¿Í ¿ù½ÃÀÛ¿äÀÏ °¡Á®¿À±â
	var nDays,iWeek;
	nDays = GetDaysOfMonths(iCalendarYear,iCalendarMonth);
	iWeek = GetWeekOfDays(iCalendarYear,iCalendarMonth);
	
	// ÃÊ±âÈ­ÁøÇà
	if(bInitCalendar || bCalendar_Pos != bCalendar_Pos_Old)
	{
		Calendar_Init();
		bCalendar_Pos_Old = bCalendar_Pos;
		bInitCalendar = false; // ÃÊ±âÈ­¿Ï·á
	}
	
	// ÇØ´ç¿ù¿¡ µû¸¥ ½Ç±¸¼º
	Make_Calendar(nDays,iWeek);
	
	document.frames["frmCalendarControl"].CalendarYear.innerHTML = iCalendarYear;
	if(iCalendarMonth < 10) document.frames["frmCalendarControl"].CalendarMonth.innerHTML = "0"+iCalendarMonth;
	else document.frames["frmCalendarControl"].CalendarMonth.innerHTML = iCalendarMonth;
	
	if(elt != null) Calendar_Show(frmPosX,frmPosY);
	
}

// Calendar Basic Form ¸¸µé±â
function Calendar_Init()
{
	var str;
	var strScript,sPos;
	var rt;
	var tM,tD;
	
	if(ToDay_M < 10) tM = "0"+ToDay_M;
	else tM = ToDay_M;
	if(ToDay_D >= 10) tD = ToDay_D;
	else tD = "0"+ToDay_D;
	
	if(bCalendar_Pos) sPos="bottom";
	else sPos="top";
	
	rt = '\r\n';
	strScript = "SCRIPT";
	
	str = '' +
	'<HTML><HEAD>' + rt +
	'<META HTTP-EQUIV="Content-Type" Content="text/html; charset=ks_c_5601-1987">' + rt +
	'<style type="text/css">' + rt +
	'' + rt +
	'BODY,TD{font-size:12px;}' + rt +
	'' + rt +
	'TD.col' + rt +
	'{' + rt +
	'	width:20px;' + rt +
	'	height:20px;' + rt +
	'	text-align:center;' + rt +
	'	font-family:µ¸¿ò;' + rt +
	'}' + rt +
	'' + rt +
	'TD.col1' + rt +
	'{' + rt +
	'	width:20px;' + rt +
	'	height:20px;' + rt +
	'	text-align:center;' + rt +
	'	color:#ff0000;' + rt +
	'	font-family:µ¸¿ò;' + rt +
	'}' + rt +
	'' + rt +
	'TD.col7' + rt +
	'{' + rt +
	'	width:20px;' + rt +
	'	height:20px;' + rt +
	'	text-align:center;' + rt +
	'	color:#0000ff;' + rt +
	'	font-family:µ¸¿ò;' + rt +
	'}' + rt +
	'' + rt +
	'A' + rt +
	'{' + rt +
	'	text-decoration:none;' + rt +
	'	color:#459954;' + rt +
	'}' + rt +
	'A:hover' + rt +
	'{' + rt +
	'	text-decoration:none;' + rt +
	'	color:#459954;' + rt +
	'}' + rt +
	'</style>' + rt +
	'<' + strScript + ' language="JavaScript">' + rt +
	'' + rt +
	'function MoveCalendar(mcv)' + rt +
	'{' + rt +
	'	parent.GetYMDOfMC(mcv);' + rt +
	'}' + rt +
	'' + rt +
	'function ClickDay(mcv)' + rt +
	'{' + rt +
	'	parent.GetYMDOfCD(mcv);' + rt +
	'}' + rt +
	'' + rt +
	'function ToDayCalendar()' + rt +
	'{' + rt +
	'	parent.GetYMDOfTD();' + rt +
	'}' + rt +
	'' + rt +
	'</' + strScript + '>' + rt +
	'</HEAD><BODY leftmargin="0" topmargin="0" rightmargin="0" scroll="no">' + rt +
	'<table width="180" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td width="100%" valign="' + sPos + '">' + rt +
	'<table width="180" border="0" cellpadding="0" cellspacing="1" bgcolor="#aaaaaa">' + rt +
	'<tr>' + rt +
	'	<td width="100%" bgcolor="#cccccc" align="center" valign="top" style="padding-top:3px;padding-bottom:3px;">' + rt +
	'	<table width="170" border="0" cellpadding="0" cellspacing="1" bgcolor="#666666">' + rt +
	'	<tr>' + rt +
	'		<td width="100%" align="center" valign="top" bgcolor="#ffffff">' + rt +
	'		<table width="168" border="0" cellpadding="0" cellspacing="0">' + rt +
	'		<tr>' + rt +
	'			<td width="100%" height="25" align="center">' + rt +
	'			<table border="0">' + rt +
	'			<tr>' + rt +
	'				<td style="cursor:hand;" OnClick="JavaScript:MoveCalendar(-1);"><font color="#bbbbbb">¢¸</font></td>' + rt +
	'				<td><b><font color="#459954" face="±¼¸²"><span id="CalendarYear"></span></font></b></td>' + rt +
	'				<td><font color="#999999" face="±¼¸²">³â</font></td>' + rt +
	'				<td><b><font color="#000000" face="±¼¸²"><span id="CalendarMonth"></span></font></b></td>' + rt +
	'				<td><font color="#999999" face="±¼¸²">¿ù</font></td>' + rt +
	'				<td style="cursor:hand;" OnClick="JavaScript:MoveCalendar(1);"><font color="#bbbbbb">¢º</font></td>' + rt +
	'			</tr>' + rt +
	'			</table>' + rt +
	'			</td>' + rt +
	'		</tr>' + rt +
	'		</table>' + rt +
	'		<table width="168" border="0" cellpadding="0" cellspacing="0">' + rt +
	'		<tr>' + rt +
	'			<td class="col1">ÀÏ</td>' + rt +
	'			<td class="col">¿ù</td>' + rt +
	'			<td class="col">È­</td>' + rt +
	'			<td class="col">¼ö</td>' + rt +
	'			<td class="col">¸ñ</td>' + rt +
	'			<td class="col">±Ý</td>' + rt +
	'			<td class="col7">Åä</td>' + rt +
	'		</tr>' + rt +
	'		</table><span name="CalendarTable" id="CalendarTable"></span>' + rt +
	'		<table width="168" border="0" cellpadding="0" cellspacing="0">' + rt +
	'		<tr>' + rt +
	'			<td align="right" style="cursor:hand;" OnClick="JavaScript:MoveCalendar(-12);"><font color="#bbbbbb">¢¸</font></td>' + rt +
	'			<td colspan="5" align="center" height="25"><font face="µ¸¿ò" color="#459954"><span id="ToDaySPAN" style="cursor:hand;" OnClick="JavaScript:ToDayCalendar();">¿À´Ã <b>'+ToDay_Y+'.'+tM+'.'+tD+'</b></span></font></td>' + rt +
	'			<td style="cursor:hand;" OnClick="JavaScript:MoveCalendar(12);"><font color="#bbbbbb">¢º</font></td>' + rt +
	'		</tr>' + rt +
	'		</table>' + rt +
	'		</td>' + rt +
	'	</tr>' + rt +
	'	</table>' + rt +
	'	</td>' + rt +
	'</tr>' + rt +
	'</table>' + rt +
	'</td></tr></table>' + rt +
	'</body></html>' + rt +
	'';
//	'				<td style="cursor:hand;" OnClick="JavaScript:MoveCalendar(-12);"><font color="#bbbbbb">¢¸</font></td>' + rt +
//	'				<td style="cursor:hand;" OnClick="JavaScript:MoveCalendar(12);"><font color="#bbbbbb">¢º</font></td>' + rt +

	var istrTemp;
	istrTemp = '<iframe width="'+CalendarX+'" height="'+CalendarY+'" name="frmCalendarControl" frameborder="0" scrolling="no" style="filter: Alpha(Opacity=10);"></iframe>';
	
	document.all["CalendarControl"].innerHTML = istrTemp;
	frmCalendarControl.document.open();
	frmCalendarControl.document.write(str);
	frmCalendarControl.document.close();
	str = null;
}

// ÀÔ·ÂÀÏ È®ÀÎ
function Set_TxDay(elt)
{
	if(elt != null)
	{
		if(CheckYMD())
		{
			var YMDValue;
			var YMDArr;
			
			YMDValue = eleCalendarN.value;
			YMDArr = YMDValue.split('/');
			
			TxDay_Y = parseInt(YMDArr[0],10);
			TxDay_M = parseInt(YMDArr[1],10);
			TxDay_D = parseInt(YMDArr[2],10);
			
			iCalendarYear = TxDay_Y;
			iCalendarMonth = TxDay_M;
		}
		else
		{
			TxDay_Y = 0;
			TxDay_M = 0;
			TxDay_D = 0;
		}
	}
}

/**************************************************
	¡Ü º¸Á¶ÇÔ¼ö
**************************************************/

// Position °è»ê
function GetLayerPositionX(ele)
{
	var sx,scx,ix,iw,rx,wx;
	
	wx	= window.document.body.offsetWidth - 21;
	sx	= window.event.clientX;
	scx	= document.body.scrollLeft;
	ix	= window.event.offsetX;
	iw	= ele.offsetWidth;
	
	rx	= sx + scx - ix;
	if(wx < (rx + CalendarX))
	{
		rx = wx - CalendarX + scx;
		if(rx < 0) rx = 10;
	}
	return rx;
}

function GetLayerPositionY(ele)
{
	var sy,scy,iy,ih,ry,wy;
	
	wy	= window.document.body.offsetHeight - 5;
	sy	= window.event.clientY;
	scy	= document.body.scrollTop;
	iy	= window.event.offsetY;
	ih	= ele.offsetHeight;
	
	bCalendar_Pos = false;
	ry = sy + scy + (ih - iy);
	if(wy < (ry + CalendarY))
	{
		if(CalendarY < (ry - ih))
		{
			ry = sy - (iy + CalendarY + 3) + scy;
			bCalendar_Pos = true;
		}
	}
	return ry;
}

// ¿À´Ã
function Set_ToDay(elt)
{
	var Today = new Date();
	ToDay_Y = Today.getFullYear();
	ToDay_M = Today.getMonth() + 1;
	ToDay_D = Today.getDate();
	
	if(elt != null)
	{
		iCalendarYear = ToDay_Y;
		iCalendarMonth = ToDay_M;
	}
}

// ¿ùº°ÀÏ¼ö
function GetDaysOfMonths(iY,iM)
{
	var intTemp;
	
	if(iM == 2) intTemp = CheckLeapYear(iY);
	else intTemp = CheckMonthDays(iM);
	
	return intTemp;
}

// ÁÖ½ÃÀÛ¿äÀÏ
function GetWeekOfDays(iY,iM)
{
	var intTemp;
	var iDate;
	iDate = new Date(iY + '/' + iM + '/1');
	intTemp = iDate.getDay();
	
	return intTemp;
}

// À±´Þ°è»ê
function CheckLeapYear(iY)
{
	var iDays;
	if(((iY % 4 == 0) && (iY % 100 != 0)) || (iY % 400 == 0)) iDays = 29;
	else iDays = 28;
	return iDays;
}

// ÀÏ¼ö¸®ÅÏ
function CheckMonthDays(iM)
{
	var iDays;
	if((iM == 4 || iM == 6) || (iM == 9 || iM == 11)) iDays = 30;
	else iDays = 31;
	return iDays;
}

// ÀÔ·ÂÀÏ °ËÁõ ¹× °¡Á®¿À±â(°ËÁõ:true)
function CheckYMD()
{
	var YMDValue;
	var cFlag;
	var yVal,mVal,dVal,cVal;
	
	YMDValue = eleCalendarN.value;
	cFlag = false;

	YMDValue = YMDValue.replace(/\-/g,"/");
	eleCalendarN.value = YMDValue;
	
	if(YMDValue.match(/\d+\/\d+\/\d+/g) == YMDValue) cFlag = true;
	if(cFlag)
	{
		ymdArr = YMDValue.split('/');
		if(ymdArr[0].length == 4 && ymdArr[1].length <= 2 && ymdArr[2].length <= 2)
		{
			yVal = parseInt(ymdArr[0],10);
			if(1900 > yVal || 2200 < yVal) cFlag = false;
			mVal = parseInt(ymdArr[1],10);
			if(12 < mVal || 0 >= mVal) cFlag = false;
			dVal = parseInt(ymdArr[2],10);
			if(mVal == 2) cVal = CheckLeapYear(yVal);
			else cVal = CheckMonthDays(mVal)
			if(cVal < dVal || 0 >= dVal) cFlag = false;
		}
		else
		{
			cFlag = false;
		}
	}
	if(cFlag) return true;
	return false;
}

/**************************************************
	¡Ü ¼Ò½º°ËÁõ
**************************************************/
function Check_Calendar(elt)
{
	var strCalendar;
	var parentEle;
	var strFORM;
	var bRUN;
	var ieleN;

	// Ã³¸®Àü°ËÁõ1 - TextBox¿Í Calendar Image Icon Connect1
	strCalendar = elt.getAttribute("textname");
	if(strCalendar == null || strCalendar == "")
	{
		alert('Calendar Image Icon¿¡ "textname"ÀÌ¶õ Property¸¦ ¸¸µé°í,\n\n°ü·Ã TextBoxÀÇ Name°ªÀ» ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.');
		return false;
	}
	else
	{
		// Ã³¸®Àü°ËÁõ2 - FORM Tage Á¸Àç
		strFORM = "";
		bRUN = false;
			
		parentEle = elt.parentElement;
		while(strFORM == "")
		{
			if(parentEle.tagName == "FORM" || parentEle.tagName == "BODY" || parentEle.tagName == "HTML")
			{
				if(parentEle.tagName == "FORM")
				{
					strFORM = parentEle.name;
					bRUN = true;
				}
				else
				{
					strFORM = "BODY";
				}
			}
			else
			{
				parentEle = parentEle.parentElement;
			}
		}
		if(!bRUN)
		{
			alert('Calendar ControlÀº FORMÅÂ±× ¾È¿¡¼­¸¸ »ç¿ë°¡´ÉÇÕ´Ï´Ù.\n\nFORMÅÂ±×¸¦ ¸¸µé¾î ÁÖ½Ê½Ã¿À.');
			return false;
		}

		var iMax;
		bRUN = false;

		// Ã³¸®Àü°ËÁõ3 - TextBox¿Í Calendar Image Icon Connect2
		eleCalendarF = eval('document.' + strFORM);
		iMax = eleCalendarF.elements.length;
		ieleN = 0;
		for(var i = 0; i < iMax; i++)
		{
			if(eleCalendarF.elements[i].name == strCalendar)
			{
				bRUN = true;
				eleCalendarN = eval('document.' + strFORM + '.' + strCalendar);
				ieleN += 1;
				//i = iMax + 1;
			}
		}
eleCalendarN = eval('document.' + strFORM + '.' + strCalendar);
/**************************************************
		if(ieleN > 1)
		{
			alert('µ¿ÀÏÇÑ ÀÌ¸§ÀÇ TextBox°¡ '+ieleN+'°³ ÀÖ½À´Ï´Ù.\n\nCalendar ControlÀº µ¿ÀÏÇÑ ÀÌ¸§ÀÇ TextBox¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.');
			return false;
		}
		if(!bRUN)
		{
			alert('Calendar Image°¡ Á¾¼ÓµÈ TextBox°¡ ¾ø½À´Ï´Ù.\n\ntextnameÀÇ °ª°ú ÀÏÄ¡ÇÏ´Â TextBox¸¦ ¼³Á¤ÇØ ÁÖ½Ê½Ã¿À.');
			return false;
		}
**************************************************/
	}
	return true;
}
/**************************************************
	¡Ü ÁÖ¿ä¼Ò½º(´Þ·Â¸¸µé±â)
**************************************************/
function Make_Calendar(nD,iW)
{
	var str;
	var rt;
	var strnbsp;
	var irow;
	var i;
	var iDay_o,iDay_x;
	var sD1,sD2;
	
	rt = "\r\n";
	strnbsp = '	<td>&nbsp;</td>' + rt;
	irow = 0;
	iDay_o = 0;
	iDay_x = 0;
	sD1 = '';
	sD2 = '';
	
	// ÀÔ·ÂÀÏ°ú °°Àº ´ÞÀÎ °æ¿ì
	if(TxDay_Y == iCalendarYear && TxDay_M == iCalendarMonth)
	{
		iDay_x = TxDay_D;
		sD1 = 'font-weight:bold;text-decoration:underline;';
	}
	// ¿À´ÃÀÌ ÀÖ´Â ´ÞÀÎ °æ¿ì
	if(ToDay_Y == iCalendarYear && ToDay_M == iCalendarMonth) iDay_o = ToDay_D;
	
	str = '<table width="168" border="0" cellpadding="0" cellspacing="0">' + rt + '<tr>' + rt;
	
	for(i = 0; i < iW; i++)
	{
		str += strnbsp;
		irow += 1;
	}
	
	for (i = 1; i <= nD; i++)
	{
		if (irow % 7 == 0 && irow > 0) str += '</tr>' + rt + '<tr>' + rt;
		if(iDay_x == i) sD2 = ' style="cursor:hand;'+sD1+'"';
		else sD2 = ' style="cursor:hand;"';
		switch (irow % 7)
		{
			case 0:
				if(iDay_o == i) str += '<td class="col1" bgcolor="#dddddd"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				else str += '<td class="col1"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				break;
			case 6:
				if(iDay_o == i) str += '<td class="col7" bgcolor="#dddddd"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				else str += '<td class="col7"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				break;
			default:
				if(iDay_o == i) str += '<td class="col" bgcolor="#dddddd"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				else str += '<td class="col"'+sD2+' OnClick="JavaScript:ClickDay('+i+')";>' + i + '</td>' + rt;
				break;
		}
		irow += 1;
	}
	
	irow = 7 - (irow % 7);
	if(irow == 7) irow = 0;
	for(i = 1; i <= irow; i++)
	{
		str += strnbsp;
	}
	
	str += '</tr>' + rt + '</table>';
	
	document.frames["frmCalendarControl"].CalendarTable.innerHTML = str;
	str = null;
}

/**************************************************
	¡Ü ´Þ·Â ³» ÀÌº¥Æ®
**************************************************/

// ¿ùÀÌµ¿
function GetYMDOfMC(mcv)
{
	var itmp;
	
	itmp = iCalendarMonth + mcv;
	if(itmp >= 1 && itmp <= 12)
	{
		iCalendarMonth = itmp;
	}
	else
	{
		if(itmp < 1)
		{
			iCalendarMonth = 12 + itmp;
			iCalendarYear -= 1;
		}
		else
		{
			iCalendarMonth = itmp - 12;
			iCalendarYear += 1;
		}
	}
	
	Move_Calendar();
}

function GetYMDOfTD()
{
	iCalendarMonth = ToDay_M;
	iCalendarYear = ToDay_Y;
	//eleCalendarN.focus();
	Move_Calendar();
}

function GetYMDOfCD(mcv)
{
	var	mcvMonth, mcvDay;
	if(iCalendarMonth < 10) mcvMonth = '0' + iCalendarMonth;
	else mcvMonth = '' + iCalendarMonth;
	if(mcv < 10) mcvDay = '0' + mcv;
	else mcvDay = '' + mcv
	eleCalendarN.value = iCalendarYear + '/' + mcvMonth + '/' + mcvDay;
	Hide_Calendar();
}

function Move_Calendar()
{
	Calendar_Display(null);
}

//=====[¾î¶²Çü½ÄÀÇ ¹®ÀÚ¿­ÀÌµç "2001-01-01" ·Î º¯È¯ÇØ¼­ ¸®ÅÏ]=============================================
function conDate(value){
	var num = 0;
	value = value.replace(/(^\s+)|(\s+$)/g,'');
	value = value.replace(/ /g,'/');
	value = value.replace(/\//g,'/');
	value = value.replace(/\./g,'/');
	value = value.replace(/\,/g,'/');
	value = value.replace(/³â/g,'/');
	value = value.replace(/¿ù/g,'/');
	value = value.replace(/ÀÏ/g,'/');
	value = value.replace(/-/g,'/');
	for(i=0 ; i < value.length; i++){
		if(value.substring(i,i+1) == "/"){
			num++;
		}
	}
	if(num == 2){
		value = value.split("/");
		
		if(value[0].length == 2){
			value[0] = "20" + value[0];
		}
		if(value[1].length == 1){
			value[1] = "0" + value[1];
		}
		if(value[2].length == 1){
			value[2] = "0" + value[2];
		}
		if(value[0].length == 4 && value[1].length == 2 && value[2].length == 2){
			if(isDate(value[0],value[1],value[2]))
			{
				return value[0] + "/" + value[1] + "/" + value[2];
			}
			else
			{
				return "";
			}
		}
		else
		{
			return "";
		}
	}
	else{
		if(!(isNaN(value)) && (value.length == 8 || value.length == 6)){
			if(value.length ==8){
				if(isDate(value.substring(0,4),value.substring(4,6),value.substring(6,8))){
					
					return value.substring(0,4) + "/" + value.substring(4,6) + "/" + value.substring(6,8);
				}else{
					return "";
				}
			}
			else{
				if(isDate("20" + value.substring(0,2),value.substring(2,4),value.substring(4,6))){
					
					return "20" + value.substring(0,2) + "/" + value.substring(2,4) + "/" + value.substring(4,6);
				}else{
					return "";
				}
			}
		}
		else{
			return "";
		}
	}
}

//=====[³â¿ùÀÏÀ» ÀÔ·ÂÇÏ¿© Á¤È®ÇÑ ³¯Â¥ÀÌ¸é true ¾Æ´Ï¸é false ¸®ÅÏ]=================================== 
function isDate(strYear,strMonth,strDay){

  var err = 0;   //¿¡·¯ º¯¼ö
  var d_arr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  if(strYear%1000 !=0 && strYear%4 ==0){d_arr[1] =29;}  //À±³â
  if(strDay > d_arr[strMonth-1] || strDay<1) err=1;          //³¯Â¥ Ã¼Å©
  if(strMonth < 1 || strMonth >12) err=1;                 //¿ù Ã¼Å©
  if(strMonth%1 !=0 || strYear%1 !=0 || strDay%1 !=0) err=1;  //Á¤¼ö Ã¼Å©
  if(err ==1){
        return false;
  }else{
        return true;
  }
}//end of chkDate


