var gTarget1, gTarget2, gTarget3;
var gS1, gS2, gS3;
var gTime;
var gSomeDay;

function setComboBox(pTarget, pOptName, pOptValue)
{
/*	vLast = pTarget.length;

	for(i=0; i<vLast; i++){
		if(pTarget.options[i].value == pOptValue){
			pTarget.selectedIndex = i;
			pTarget.options[i].selected;
			return;
		}
	}
*/
	pTarget.value=pOptValue;
}

function MiniCalendar(pTarget)
{
	gTarget = pTarget
//	gTarget1 = pTarget.value.substr(0,4);
//	gTarget2 = pTarget.value.substr(5,2);
//	gTarget3 = pTarget.value.substr(8,2);

	x = (document.layers) ? loc.pageX : event.clientX;
	y = (document.layers) ? loc.pageY : event.clientY;

	if(document.all.minical.length > 1){
		minical[0].style.pixelTop	=  document.body.scrollTop + y+10;
		minical[0].style.pixelLeft	=  document.body.scrollLeft + x-10;
		minical[0].style.display = (minical[0].style.display == "block") ? "none" : "block";
	}else{
		minical.style.pixelTop	= y+10;
		minical.style.pixelLeft	= x-10;
		minical.style.display = (minical.style.display == "block") ? "none" : "block";
	}

	ShowCalendar(pTarget.value.substr(0,4), pTarget.value.substr(5,2), pTarget.value.substr(8,2));
}

function OnOver() {
	var el = window.event.srcElement;

	if (el.title.length > 7) {
		el.style.borderTopColor = el.style.borderLeftColor = "buttonhighlight";
		el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
	}
	window.clearTimeout(gTime);
}

function OnClick() {
	var el = window.event.srcElement;
	el.style.borderColor = "#990000";
	if (el.title.length > 7) {
		GetFixed(el.title);
		setComboBox(gTarget, gS1, gS1+"-"+gS2+"-"+gS3);
//		setComboBox(gTarget2, gS2, gS2);
//		setComboBox(gTarget3, gS3, gS3);

	}
}


function OnOut() {
	var el = window.event.fromElement;

	if (el.title.length > 7) {
		el.style.borderColor = "white";
	}
	if(document.all.minical.length > 1){
		gTime = window.setTimeout("minical[0].style.display='none';", 200);
	}else{
		gTime = window.setTimeout("minical.style.display='none';", 200);
	}
}

function GetFixed(pDate){
	var vStr;
	var vArr;

	vStr = new String(pDate);
	vArr = vStr.split("-");
	if(vArr.length == 3){
		vStr = vArr[0] + "-";
		if(vArr[1].length == 1) vArr[1] = "0" + vArr[1];
		gS1 = vArr[0];
		vStr = vStr + vArr[1] + "-";
		gS2 = vArr[1];
		if(vArr[2].length == 1) vArr[2] = "0" + vArr[2];
		gS3 = vArr[2];
		vStr = vStr + vArr[2];
	}else{
		vStr = pDate;
	}
	return vStr;
}

function ShowCalendar(pYear ,pMonth, pDay)
{
//	if(pYear < 1997) return;

	if(document.all.minical.length > 1){
		document.all.minical[0].innerHTML="";
	}else{
		document.all.minical.innerHTML="";
	}

	vHtml = "";

	//var datToday=new Date().toLocaleString();
	var datToday = new Date();

	intThipYear = pYear;
	intThipMonth = pMonth;
	intThipDay = pDay;
	

	if (intThipDay==0) intThipDay = datToday.getDay();
	if (intThipMonth==0) intThipMonth = datToday.getMonth();
	if (intThipYear==0) intThipYear = datToday.getYear();

	if (intThipMonth == 1)
	{
		intPrevYear=intThipYear-1;
		intPrevMonth=12;
		intNextYear=intThipYear;
		intNextMonth=2;
	}
	else if (intThipMonth==12)
	{
		intPrevYear=intThipYear;
		intPrevMonth=11;
		intNextYear=(parseInt(intThipYear) + 1);
		intNextMonth=1;
	}
	else
	{
		intPrevYear=intThipYear;
		intPrevMonth=intThipMonth -1;
		intNextYear=intThipYear;
		intNextMonth=Math.ceil(intThipMonth) + 1;
	}

	NowThipYear = pYear;
	NowThipMonth = pMonth;
	NowThipDay = pDay;

	if (NowThipDay==0) NowThipDay = datToday.getDay();
	if (NowThipMonth==0) NowThipMonth = datToday.getMonth();
	if (NowThipYear==0) NowThipYear = datToday.getYear();


	var first_date=new Date(intThipYear,intThipMonth-1,1)
		intFirstWeekday=first_date.getDay();
		intFirstWeekday++

	intThirdWeekDay=intFirstWeekday

	intPrintDay=1;
	secondPrintDay=1;
	thirdPrintDay=1;

	Stop_Flag=0;


	if (intThipMonth == 4 || intThipMonth==6 || intThipMonth==9 || intThipMonth==11)
	{
		intLastDay=30;
	}
	else if (intThipMonth==2 && !(intThipYear % 4 == 0))
	{
		intLastDay=28;
	}
	else if (intThipMonth==2 && intThipYear % 4 == 0)
	{
		if (intThipYear % 100 == 0)
		{
			if (intThipYear % 400 == 0)
				intLastDay=29;
			else
				intLastDay=28;
		}
		else
		{
			intLastDay=29;
		}
	}
	else
	{
		intLastDay=31;
	}



	if (intPrevMonth==4 || intPrevMonth==6 || intPrevMonth==9 || intPrevMonth==11)
		intPrevLastDay=30;
	else if (intPrevMonth==2 &&  !(intPrevYear % 4 == 0))
		intPrevLastDay=28;
	else if (intPrevMonth==2 && intPrevYear % 4 == 0)
	{
		if (intPrevYear % 100 == 0)
		{
			if (intPrevYear % 400 == 0)
				intPrevLastDay=29;
			else
				intPrevLastDay=28;
		}
		else
		{
			intPrevLastDay=29;
		}
	}
	else
	{
		intPrevLastDay=31;
	}


	Stop_Flag=0;
	vHtml=vHtml + "<table class='none' border='0' bgcolor='#DCDCDC' cellpadding='1' cellspacing='1' onmouseover='OnOver()' onmouseout='OnOut()' onclick='OnClick()' style='font-size : 12;font-family:±¼¸²;'>";
	vHtml=vHtml + "<tr align='center'>";
	vHtml=vHtml + "<td align='left'  title='ÀÌÀü´Þ' style='cursor:hand;' OnClick='JavaScript:ShowCalendar(" + intPrevYear.toString()  + "," + intPrevMonth.toString() + ",1)'><font color='#006699' size='2'>¢¸</font></td>";
	vHtml=vHtml + "<td colspan='5'><font color='#990000'><b>";
	vHtml=vHtml + intThipYear.toString() + "³â " + intThipMonth.toString() + "¿ù";
	vHtml=vHtml + "</font></b></td>";
	vHtml=vHtml + "<td align='right' title='´ÙÀ½´Þ' style='cursor:hand;' OnClick='JavaScript:ShowCalendar(" + intNextYear.toString() + "," + intNextMonth.toString() + ",1)'><font color='#006699' size='2'>¢º</font></a></td>";
	vHtml=vHtml + "</tr>";
	vHtml=vHtml + "<tr align='center' bgcolor='#8DCFF4' style='color:#000000;'>";
	vHtml=vHtml + "<td>ÀÏ</td><td>¿ù</td><td>È­</td><td>¼ö</td><td>¸ñ</td><td>±Ý</td><td>Åä</td>";
	vHtml=vHtml + "</tr>";



	for (intLoopWeek=1;intLoopWeek<=6;intLoopWeek++)
	{

		vHtml=vHtml + "<tr align=right valign=top bgcolor='#F6F9F3'>";
		for (intLoopDay=1;intLoopDay<=7;intLoopDay++)
		{
			if (intThirdWeekDay > 1)
			{
				vHtml=vHtml + "<td style='width:18;height:16;'>&nbsp;</td>";
				intThirdWeekDay=intThirdWeekDay-1;
			}
			else
			{
				if (thirdPrintDay > intLastDay)
				{
					vHtml=vHtml + "<td style='width:18;height:16;'>&nbsp;</td>";
				}
				else
				{
					vHtml=vHtml + "<td title='" + intThipYear.toString() + "-" + intThipMonth.toString() + "-" + thirdPrintDay.toString() + "' style='cursor: hand;border: 1px solid white;width:18;";
					if (intThipYear-NowThipYear==0 && intThipMonth-NowThipMonth==0 && thirdPrintDay-intThipDay==0)
					{
						vHtml=vHtml + "background-color:#FACD8A;";
					}

					if  (intLoopDay==1)
					{
						vHtml=vHtml + "color:#990000;";
					}
					else
					{
						vHtml=vHtml + "color:black;";
					}

					vHtml=vHtml+ "'>" + thirdPrintDay.toString();
				}
				thirdPrintDay++;

				if (thirdPrintDay > intLastDay)	Stop_Flag=1;

			}
			vHtml=vHtml + "</td>";
		}
		vHtml=vHtml + "</tr>";
		if (Stop_Flag==1) break;
	}

	vHtml=vHtml+ "</table>";
	if(document.all.minical.length > 1){
		document.all.minical[0].innerHTML=vHtml;
	}else{
		document.all.minical.innerHTML=vHtml;
	}

}

function ChkMaxDay(CheckYear,CheckMonth,CheckDay)
{
	var MaxDay = 30;
	switch (CheckMonth.value)
	{
		case "01":
			MaxDay = 31;
			break;
		case "02":
			MaxDay = 28;
			TempYear = Number(CheckYear.value) % 4
			if ( TempYear == 0 )
			{			
				MaxDay = 29;
			}
			TempYear = Number(CheckYear.value) % 100				
			if ( TempYear == 0 )
			{
				MaxDay = 28;
			}
			TempYear = Number(CheckYear.value) % 400				
			if ( TempYear == 0 )
			{
				MaxDay = 29;
			}			
			break;				
		case "03":
			MaxDay = 31;
			break;				
		case "04":
			MaxDay = 30;
			break;				
		case "05":
			MaxDay = 31;
			break;				
		case "06":
			MaxDay = 30;
			break;				
		case "07":
			MaxDay = 31;
			break;				
		case "08":
			MaxDay = 31;
			break;				
		case "09":
			MaxDay = 30;
			break;				
		case "10":
			MaxDay = 31;
			break;				
		case "11":
			MaxDay = 30;
			break;				
		case "12":
			MaxDay = 31;			
			break;				
	}
	for ( i = 0; i < 31; i++ )
	{
		CheckDay.options[i] = null;
	}

	var toDate = new Date();

	var toDay = toDate.getDate();
	var toMonth = toDate.getMonth()+1;
	var toYear = toDate.getYear();

	for ( j = 1 ; j <= MaxDay ; j++ )
	{
		chgDay = j;
		if ( j < 10 )
		{
			chgDay = "0" + j;
		}

		var newDay = new Option(chgDay, chgDay);
		CheckDay.options[j-1] = newDay;
	}

	if ( toMonth == Number(CheckMonth.value) && toYear == Number(CheckYear.value) )
	{
		if ( toDay < 10 ) {
			CheckDay.value = "0" + toDay;
		} else {
			CheckDay.value = toDay;
		}
	}
}