﻿//<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
//calendar 영역 html
var nowdt = new Date();

var calendarFormHtml = ""
+ "<style>"
+ "	TABLE#tblCalendar TABLE,TABLE#tblCalendarControl TABLE  { "
+ "		font-family:arial;color:menutext; "
+ "		border:1px solid threedface; cursor:hand; padding:1px; "
+ "	}"
+ "	.weekDay {font-family:arial,굴림;font-size:12px;font-weight:bold;color:#000000}"
+ "	.calDay {font-family:arial;font-size:10px}"
+ "	</style>"
+ " <div id=CalendarNote style=position:absolute;display:none;z-index:10>"
+ "	<input type=hidden name=selYear>"
+ "	<input type=hidden name=selMonth>"
+ "	<table width=150 border=1 cellspacing=0 cellpadding=3 bordercolorlight=#000000 bordercolordark=#FFFFFF bgcolor=threedface>"
+ "		<tr><td align=center valign=top style=padding=5>"
+ "				<TABLE ID='tblCalendarControl' CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH='100%' ONSELECTSTART='return false;'>"
+ "					<tr align=center>               "
+ "						<td height=16 align=center><table ID='tblPrevYear' cellspacing=0 cellpadding=0 style='background-Color:threedface;color:menutext;border-Color:threedhighlight threedshadow threedshadow threedhighlight;'  ONMOUSEDOWN='button2_down(this);' ONMOUSEUP='button2_up(this);setPrevYear();'>"
+ "					   		<tr><td>←</td></tr></table></td>              "
+ "						<td height=16 align=center><table width=18 height=18 ID='tblPrevMonth' cellspacing=0 cellpadding=0 style='background-Color:threedface;color:menutext;border-Color:threedhighlight threedshadow threedshadow threedhighlight;'  ONMOUSEDOWN='button2_down(this);' ONMOUSEUP='button2_up(this);setPrevMonth();'>"
+ "					   		<tr><td align=center><</td></tr></table></td>              "
+ "						<td align=center width=80><b><span id=curYear></span>-<span id=curMonth></span> </b></td>"
+ "					   	<td height=16 align=center><table width=18 height=18 ID='tblNextMonth' cellspacing=0 cellpadding=0 style='background-Color:threedface;color:menutext;border-Color:threedhighlight threedshadow threedshadow threedhighlight;'  ONMOUSEDOWN='button2_down(this);' ONMOUSEUP='button2_up(this);setNextMonth();'>"
+ "					   		<tr><td align=center>></td></tr></table></td>              "
+ "						<td height=16 align=center><table ID='tblNextYear' cellspacing=0 cellpadding=0 style='background-Color:threedface;color:menutext;border-Color:threedhighlight threedshadow threedshadow threedhighlight;'  ONMOUSEDOWN='button2_down(this);' ONMOUSEUP='button2_up(this);setNextYear();'>"
+ "					   		<tr><td>→</td></tr></table></td>   "
+ "					  </tr>"
+ "				</table>"
+ "			</td>"
+ "		</tr>"
+ "		<tr><td align=center>	"
+ "				<TABLE ID='tblCalendar' CELLPADDING=0 CELLSPACING=0 BORDER=0 ONSELECTSTART='return false;'>"
+ "				 <tr align=center height=17>               "
+ "					<td width=20 class=weekDay><font color='#FF3333'>일</font></b></td>            "
+ "				    <td width=20 class=weekDay>월</td>                        "
+ "				    <td width=20 class=weekDay>화</td>                        "
+ "				    <td width=20 class=weekDay>수</td>                        "
+ "				    <td width=20 class=weekDay>목</td>                        "
+ "				    <td width=20 class=weekDay>금</td>                        "
+ "				    <td width=20 class=weekDay><font color='#0000FF'>토</font></td>                        "
+ "				  </tr>  "
+ "				  <tr align='center' height=17>                   ";

for (var i = 0 ; i < 42; i++) {
calendarFormHtml += "<td><table width=100% height=100% ID='tblDayButton" + i + "' cellspacing=0 cellpadding=0 ONMOUSEOVER='button0_over(this);' ONMOUSEOUT='button0_out(this);' ONMOUSEDOWN='button0_down(this);' ONMOUSEUP='button0_up(this);'>"
+ "							<tr><td align=center id='tdDay" + i + "' class=calDay></td></tr></table></td>";
	if ((i+1) % 7 == 0 ) calendarFormHtml += "</tr><tr>  ";
	if (i==36) {
		calendarFormHtml += "<td colspan=5 align=right></td></tr>";
		break;
	}
}

calendarFormHtml += "</table>"
+"<div style=text-align:right><a href='javascript:closeCalendar()' style=font-family:verdana;font-size:10px;font-weight:bold>CLOSE(X)</a></div>";

calendarFormHtml += "</td></tr></table>"
+ "</div>	";


document.writeln(calendarFormHtml);


function showCalendar() {
	var xoffset = -130 ; yoffset = -50;
	x=event.x + xoffset; 
	y=event.y + yoffset;
	x=event.x + document.body.scrollLeft + xoffset; 
	y=event.y + document.body.scrollTop + yoffset; 
	objCalendar.style.left = x;
	objCalendar.style.top = y;
	objCalendar.style.display = 'inline';
}
function closeCalendar() {
	CalendarNote.style.display='none';
}













// 양력 각달의 일수를 저장한 배열
var MonthTable = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
// 현재 페이지에 Display될 날짜에 관한 변수
var currentDate = new Date();

ADD_WIN_ONLOAD("calendar_onload()");


// 서기 1년 1월 1일 이후 지난 날짜수를 반환
function totalDays(solar_date) {
	var i, sum, tdays, nYears366;
	
	if (((solar_date.year % 4 == 0) && (solar_date.year % 100 != 0)) || (solar_date.year % 400 == 0)) MonthTable[1] = 29;
	else MonthTable[1] = 28;
	
	sum = 0;
	for (i=0;i<solar_date.month;i++) {
		sum = sum + MonthTable[i];
	}
	
	nYears366 = parseInt((solar_date.year - 1) / 4) - parseInt((solar_date.year - 1) / 100) + parseInt((solar_date.year - 1) / 400);

	tdays = (solar_date.year - 1) * 365 + sum + nYears366 + solar_date.day - 1;

	return tdays;
}


// 페이지의 테이블에 계산된 달력 데이터를 삽입한다. (달력을 그린다.)
function drawCalendar(solar_date) {
	var i, week, dayTextCol;
	
	initButton();
	
	solar_date.year = selYear.value;
	solar_date.month = selMonth.value - 1;
	solar_date.day = 1;
	
	curYear.innerHTML = solar_date.year;
	curMonth.innerHTML = solar_date.month + 1;
	
	week = (totalDays(solar_date) + 1) % 7;		// 현재 월의 첫번째 날짜의 요일을 계산 (0:월, 1:화, 2:수...)
	
	// 달력의 첫번째 날짜까지의 빈공란을 안보이게 한다.
	for (i=0;i<week;i++) {
		eval("tdDay" + i + ".innerHTML='&nbsp;'");
		eval("tblDayButton" + i + ".style.visibility = 'hidden'");
	
	}
	
	// 양력 날짜들을 각 칸에 삽입한다. if 절이 있는 이유는 일요일, 토요일의 색깔을 틀리게 하기위해.
	do {
		if ((solar_date.day + week - 1) % 7 == 0) {dayTextCol = '#FF3333'}
		else if ((solar_date.day + week - 1) % 7 == 6) {dayTextCol = '#0000FF'}
		else {dayTextCol = '#000000'}
		eval("tblDayButton" + (week + solar_date.day - 1) + ".style.visibility = 'visible'");
		eval("tdDay" + (week + solar_date.day - 1) + ".innerHTML='<span style=color:" + dayTextCol + ";font-size:11px;cursor:hand;>" + solar_date.day + "</span>'");
	} while(++solar_date.day <= MonthTable[solar_date.month]);
	
	
	
	// 달력 마지막 날짜 이후의 빈공란을 안보이게 한다.
	for (i=week+MonthTable[solar_date.month];i<37;i++) {
		eval("tblDayButton" + i + ".style.visibility = 'hidden'");
	}
}

//######## Event Hanler ##############
// 각 양식필드들에 관한 이벤트 핸들러 함수들
function calendar_onload() {
	
	var today = new Date();
	
	selYear.value = today.getYear();
	selMonth.value = today.getMonth() + 1;
	
	today.year = selYear.value;
	today.month = selMonth.value - 1;
	
	drawCalendar(currentDate);
}

function setYearMonth() {
	
	currentDate.year = selYear.value;
	currentDate.month = selMonth.value - 1;
	
	drawCalendar(currentDate);	
}

function setNextMonth() {
	if (currentDate.month < 11) selMonth.value = ++currentDate.month + 1;
	else {
		selYear.value = ++currentDate.year;
		currentDate.month = 0;
		selMonth.value = currentDate.month + 1;
	}
	
	drawCalendar(currentDate);
}

function setNextYear() {
	selYear.value = ++currentDate.year;
	
	drawCalendar(currentDate);
}

function setPrevMonth() {
	if (currentDate.month > 0) selMonth.value = --currentDate.month + 1;
	else {
		selYear.value = --currentDate.year;
		currentDate.month = 11;
		selMonth.value = currentDate.month + 1;
	}
	drawCalendar(currentDate);
}

function setPrevYear() {
	selYear.value = --currentDate.year;
	
	drawCalendar(currentDate);
}





// ########## Button Handler ##############3

//button handling 함수

//button0 : Calendar Day button
//button2 : General Button

var flagGlobalMenu = false;
function toggleGlobalMenu() {
	if(flagGlobalMenu) {GlobalMenuButton.style.visibility = 'hidden';flagGlobalMenu=false;GlobalMenuButton.style.zIndex=-1;}
	else {GlobalMenuButton.style.visibility = 'visible';flagGlobalMenu=true;GlobalMenuButton.style.zIndex=11;}
}


	var sOffBackColor = "threedface";var sOffTextColor = "menutext"
	var sOffBorderColor = "threedface";var sOffPadding = "1px 1px 1px 1px";
	var sOverBackColor = "threedface";var sOverTextColor = "menutext"
	var sOverBorderColor = "threedhighlight threedshadow threedshadow threedhighlight";
	var sOverPadding = "1px 1px 1px 1px";var sDownBackColor = "window"
	var sDownTextColor = "menutext"
	var sDownBorderColor = "threedshadow threedhighlight threedhighlight threedshadow";
	var sDownPadding = "2px 0px 0px 2px";

	var sActiveButtonName = "";
	var eActiveButton0 = null,eActiveButton1 = null;

	function SetButtonPadding(eButton,sPaddingStyle)
		{
			eButton.rows[0].cells[0].style.padding = sPaddingStyle;
		}

	function SetButtonImage(eButton,sState)
		{
		}

	function button0_over(eButton)
		{
			// IF WE'RE JUST MOUSING ABOUT WITHIN THE BUTTON, EXIT WITHOUT DOING A THING

				if (window.event && eButton.contains(window.event.fromElement)) return false;

				// OTHERWISE CHANGE BUTTON STYLE

				eButton.style.backgroundColor = sOverBackColor;
				eButton.style.color = sOverTextColor;
				if (eActiveButton0 != eButton)
					{
						eButton.style.borderColor = sOverBorderColor;
						SetButtonImage(eButton,"over");
					}
			
		}

	function button0_out(eButton)
		{
		// IF WE'RE JUST MOUSING ABOUT WITHIN THE BUTTON, EXIT WITHOUT DOING A THING

			if (window.event && eButton.contains(window.event.toElement)) return false;

			// OTHERWISE CHANGE BUTTON STYLE

			if (eActiveButton0 != eButton)
				{
					eButton.style.backgroundColor = sOffBackColor;
					eButton.style.borderColor = sOffBorderColor;
					eButton.style.color = sOffTextColor;
					SetButtonPadding(eButton,sOffPadding);
					SetButtonImage(eButton,"off")
				}
			else 
				{
					eButton.style.backgroundColor = sDownBackColor;
					eButton.style.borderColor = sDownBorderColor;
					eButton.style.color = sDownTextColor;
				}
		}

	function button0_down(eButton)
		{
			eButton.style.borderColor = sDownBorderColor;
			SetButtonPadding(eButton,sDownPadding);
		}

	
	
	function button0_up(eButton)
		{
		if (null != eActiveButton0 && eButton != eActiveButton0) {
				eActiveButton0.style.backgroundColor = sOffBackColor;
				eActiveButton0.style.borderColor = sOffBorderColor;
				eActiveButton0.style.color = sOffTextColor;
				SetButtonImage(eActiveButton0,"off");
				SetButtonPadding(eActiveButton0,sOffPadding);    
				eActiveButton0 = null; 
		
				
				
		// insert code here for button resetting 
				
			}
					
			eActiveButton0 = eButton;
			eActiveButton0.style.borderColor = sDownBorderColor;
			eActiveButton0.style.color = sDownTextColor;
			SetButtonPadding(eActiveButton0,sDownPadding);
					
					
		// insert code here for button activating
			sDayId = eActiveButton0.id.replace(/tblDayButton/,"")
			sDay = eval('tdDay' + sDayId + '.innerText')
			clickDay(selYear.value,selMonth.value,sDay,'day')
		}
		
	
		
	function button2_down(eButton)
		{
			eButton.style.borderColor = sDownBorderColor;
			SetButtonPadding(eButton,sDownPadding);
		}
	
	function button2_up(eButton)
		{
			eButton.style.borderColor = sOverBorderColor;
			eButton.style.color = sOverTextColor;
			SetButtonPadding(eButton,sOverPadding);
		}	
		
	
	
	function initButton() {
		initButton0();
	}
	
	
	function initButton0() {
		if (eActiveButton0 != null) {
			eActiveButton0.style.backgroundColor = sOffBackColor;
			eActiveButton0.style.borderColor = sOffBorderColor;
			eActiveButton0.style.color = sOffTextColor;
			SetButtonPadding(eActiveButton0,sOffPadding);
			eActiveButton0 = null;
		}
	}

