﻿var gTarget1, gTarget2, gTarget3;
var gS1, gS2, gS3;
var gTime;
var gSomeDay;
var gBreak	= 0;

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;
		}
	}
}

function MiniCalendar(pTarget1, pTarget2, pTarget3, e)
{
	gTarget1 = pTarget1;
	gTarget2 = pTarget2;
	gTarget3 = pTarget3;

	x = (document.layers) ? e.pageX : e.clientX;
	y = (document.layers) ? e.pageY : e.clientY;
	
	if(document.getElementById("minical").length > 1){
		//document.getElementById("minical")[0].style.pixelTop	=  document.body.scrollTop + y+10;
		//document.getElementById("minical")[0].style.pixelLeft	=  document.body.scrollLeft + x-10;
		document.getElementById("minical")[0].style.display = (document.getElementById("minical")[0].style.display == "block") ? "none" : "block";
	}else{
		//document.getElementById("minical").style.top	= y+"px";
		//document.getElementById("minical").style.left	= x+"px";
		document.getElementById("minical").style.display = (document.getElementById("minical").style.display == "block") ? "none" : "block";
	}

	//if(pTarget1.value) {
		ShowCalendar(pTarget1, pTarget2, pTarget3);
	//} else {
//		ShowCalendar(0,0,0);
//	}
}

function OnOver(e) {
	var el = e.srcElement || e.target;

	if (el.title.length > 7) {
		el.style.borderTopColor = el.style.borderLeftColor = "buttonhighlight";
		el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
	}
	window.clearTimeout(gTime);
}

function OnClick(e) {
	var el = e.srcElement || e.target;
	el.style.borderColor = "#990000";
	if (el.title.length > 7) {
		GetFixed(el.title);
		var thisDate 	= new Date();
		var minDate 	= new Date(2010,3,19);
		var weekDate	= new Date(gS1,gS2-1,gS3);
		if(thisDate < weekDate) {
			alert("미래는 볼수가 없다네.. 딴지가 점쟁이로 보이는가..");
		} else {
			if(weekDate > minDate) {
				if(weekDate.getDay() == 6) {
					alert("토요일은 마빡을 업데이트 하지 않는다네.. 딴지도 쉬어야 하지 않겠는가..");
				} else if(weekDate.getDay() == 0) {
					alert("일요일은 마빡을 업데이트 하지 않는다네.. 딴지도 쉬어야 하지 않겠는가..");
				} else {			
					CalendarLoadData(gS1,gS2,gS3);
					//setComboBox(gTarget1, gS1, gS1);
					//setComboBox(gTarget2, gS2, gS2);
					//setComboBox(gTarget3, gS3, gS3);
				}
			} else {
				alert("2010년 4월 20일이전의 마빡은 업데이트중이라 지금은 곤란하다. 조금만 기다려달라.");
			}
		}
	}
}


function OnOut(e) {
	var el = e.fromElement || e.target;

	if (el.title.length > 7) {
		el.style.borderColor = "white";
	}
	if(document.getElementById("minical").length > 1){
		gTime = window.setTimeout("document.getElementById('minical')[0].style.display='none';", 200);
	}else{
		gTime = window.setTimeout("document.getElementById('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];
		
		vStr = vStr;
	}else{
		vStr = pDate;
	}
	return vStr;
}

function ShowCalendar(pYear ,pMonth, pDay)
{
//	if(pYear < 1997) return;
	if(document.getElementById("minical").length > 1){
		document.getElementById("minical")[0].innerHTML="";
	}else{
		document.getElementById("minical").innerHTML="";
	}

	vHtml = "";

	//var datToday2=new Date().toLocaleString();
	var datToday = new Date();

	intThipYear = pYear;
	intThipMonth = pMonth;
	intThipDay = pDay;
	

	if (intThipDay==0) intThipDay = datToday.getDate();
	if (intThipMonth==0) intThipMonth = datToday.getMonth() + 1;
	if (intThipYear==0) intThipYear = datToday.getFullYear();

	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.getDate();
	if (NowThipMonth==0) NowThipMonth = datToday.getMonth() + 1;
	if (NowThipYear==0) NowThipYear = datToday.getFullYear();

	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='#ffffff' cellpadding='1' cellspacing='1' onmouseover='OnOver(window.event || event)' onmouseout='OnOut(window.event || event)' onclick='OnClick(window.event || event)' style='font-size : 12;font-family:굴림;8ab7fa' width='100%'>";
	vHtml=vHtml + "<tr align='center'>";
	vHtml=vHtml + "<td align='left'  title='이전달' style='cursor:pointer;' OnClick='JavaScript:ShowCalendar(" + intPrevYear.toString()  + "," + intPrevMonth.toString() + ",1)'><font color='#bbbbbb' size='2'>◀</font></td>";
	vHtml=vHtml + "<td colspan='5'><font color='#2a448f'><b>";
	vHtml=vHtml + intThipYear.toString() + "년 " + intThipMonth.toString() + "월";
	vHtml=vHtml + "</font></b></td>";
	vHtml=vHtml + "<td align='right' title='다음달' style='cursor:pointer;' OnClick='JavaScript:ShowCalendar(" + intNextYear.toString() + "," + intNextMonth.toString() + ",1)'><font color='#bbbbbb' size='2'>▶</font></a></td>";
	vHtml=vHtml + "</tr>";
	vHtml=vHtml + "<tr align='center' bgcolor='#dde4f7' style='color:#000100;'>";
	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:18px;height:16px;'>&nbsp;</td>";
				intThirdWeekDay=intThirdWeekDay-1;
			}
			else
			{
				if (thirdPrintDay > intLastDay)
				{
					vHtml=vHtml + "<td style='width:18px;height:16px;'>&nbsp;</td>";
				}
				else
				{
					vHtml=vHtml + "<td title='" + intThipYear.toString() + "-" + intThipMonth.toString() + "-" + thirdPrintDay.toString() + "' style='cursor: pointer;border: 1px solid white;width:18px;padding-right:3px;";
					if (intThipYear-NowThipYear==0 && intThipMonth-NowThipMonth==0 && thirdPrintDay-intThipDay==0)
					{
						vHtml=vHtml + "background-color:#8ab7fa;";
					}

					if  (intLoopDay==1)
					{
						vHtml=vHtml + "color:#990000;";
					}
					else if  (intLoopDay==7)
					{
						vHtml=vHtml + "color:blue;";
					}
					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.getElementById("minical").length > 1){
		document.getElementById("minical")[0].innerHTML=vHtml;
	}else{
		document.getElementById("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;
		}
	}
}