<!--//

var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();
var dayDisplayId;
var EndDay;

function fToggleColor(myElement) 
{
	var toggleColor = "#ff0000";
	var e = event || window.event;
	switch(e.type)
	{
		case "mouseover":
			myElement.className = "";
		break;
		case "mouseout":
			myElement.className = "";
		break;
	}

	if (myElement.id == "calDateText") 
	{
		if (myElement.color == toggleColor) 
			myElement.color = "";
		else 
			myElement.color = toggleColor;
	} 
	else if (myElement.id == "calCell") 
	{
		for (var i in myElement.children) 
		{
			if (myElement.children[i].id == "calDateText") 
			{
				if (myElement.children[i].color == toggleColor) 
					myElement.children[i].color = "";
				else 
					myElement.children[i].color = toggleColor;
			}
		}
	}
}

function fSetSelectedDay(myElement)
{
	if (myElement.id == "calCell") 
	{
		if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) 
		{

			myElement.bgColor = "#FFFFFF";
			if(typeof(objPrevElement.id) != "undefined")
				objPrevElement.bgColor = "#FFFFFF";
			Dom("calSelectedDate").value = parseInt(myElement.children["calDateText"].innerText);
			if(myElement.children["calDateText"].v == 0 || myElement.children["calDateText"].v =='0')
				return;
			myElement.bgColor = "#c0c0c0";

			objPrevElement = myElement;
			var T = Dom("ListDate").innerText.split(".");
			T.push(Dom("calSelectedDate").value);
			Dom("res_day").value = sprintf("%04d-%02d-%02d", T[0],parseInt(T[1].trim()), parseInt(T[2]));
			Dom("cDate").style.display = "none";
		}
	}
}

function fGetDaysInMonth(iMonth, iYear) 
{
	var dPrevDate = new Date(iYear, iMonth, 0);
	return dPrevDate.getDate();
}

function fBuildCal(iYear, iMonth) 
{
	var aMonth = new Array();
	aMonth[0] = new Array(7);
	aMonth[1] = new Array(7);
	aMonth[2] = new Array(7);
	aMonth[3] = new Array(7);
	aMonth[4] = new Array(7);
	aMonth[5] = new Array(7);
	aMonth[6] = new Array(7);
	var dCalDate = new Date(iYear, iMonth-1, 1);
	var iDayOfFirst = dCalDate.getDay();
	var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
	var iVarDate = 1;
	var i, d, w;

	aMonth[0][0] = "일";
	aMonth[0][1] = "월";
	aMonth[0][2] = "화";
	aMonth[0][3] = "수";
	aMonth[0][4] = "목";
	aMonth[0][5] = "금";
	aMonth[0][6] = "토";

	for (d = iDayOfFirst; d < 7; d++) 
	{
		aMonth[1][d] = iVarDate;
		iVarDate++;
	}
	for (w = 2; w < 7; w++) 
	{
		for (d = 0; d < 7; d++) 
		{
			if (iVarDate <= iDaysInMonth) 
			{
				aMonth[w][d] = iVarDate;
				iVarDate++;
			}
		}
	}
	return aMonth;
}


function fDrawCal(iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle, EDay) 
{
	EndDay = EDay;
	var ToDay = new Date();
	var ResDate = new Date();
	ResDate.setFullYear(iYear, iMonth-1, ToDay.getDate()+EDay);
	var myMonth = fBuildCal(iYear, iMonth);
	document.write('<fieldset style="width: 189px; padding: 3px;">');
	document.write('<LEGEND style="color:#0000ff;">예약희망일</LEGEND>');
	document.write('<div style="text-align:center;">');
	document.write('<img src="image/btn_cal_prev.gif" align="absmiddle" class="hand" onclick="OnDwDate(1)" />');
	document.write(' &nbsp; &nbsp; <span id="ListDate" style="text-align: center;font-weight: bold;"></span> &nbsp; &nbsp; ');
	document.write('<img src="image/btn_cal_next.gif" align="absmiddle" class="hand" onclick="OnDwDate(2)" />');
	document.write('</div>');
	document.write('<table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">');
	document.write("<tr>");
	document.write("<td align='center' height='18' id='CalHead' style='color:#FF0000'>" + myMonth[0][0] + "</td>");
	document.write("<td align='center' id='CalHead'>" + myMonth[0][1] + "</td>");
	document.write("<td align='center' id='CalHead'>" + myMonth[0][2] + "</td>");
	document.write("<td align='center' id='CalHead'>" + myMonth[0][3] + "</td>");
	document.write("<td align='center' id='CalHead'>" + myMonth[0][4] + "</td>");
	document.write("<td align='center' id='CalHead'>" + myMonth[0][5] + "</td>");
	document.write("<td align='center' id='CalHead' style='color:#FF0000'>" + myMonth[0][6] + "</td>");
	document.write("</tr>");

	for (w = 1; w < 7; w++) 
	{
		document.write("<tr>");
		for (d = 0; d < 7; d++) 
		{
			var isToday = (myMonth[w][d] == ToDay.getDate() && iYear == ToDay.getFullYear() && (iMonth-1) == ToDay.getMonth() ) ? "background-color: #BDDEFF;font-weight:bold;" : "";
			var isSunday = (d == 0 || d == 6) ? ";color: #FF0000;" : "";
			var DenyRes  = (d == 0) ? true : false;
			if (!isNaN(myMonth[w][d])) 
			{
				var cDate = new Date();
				cDate.setFullYear(iYear, iMonth-1, myMonth[w][d]);
				if((cDate.getTime() <= ResDate.getTime() || DenyRes))
				{
					document.write("<td align='center' id='calCell' style='"+isToday+"' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick='fSetSelectedDay(this)'>");
					document.write("<strike style='color:red;' id='calDateText' v='0'>" + myMonth[w][d] + "</strike>");
				}
				else
				{
					document.write("<td align='center' id='calCell' style='"+isToday+isSunday+"' " +
					" onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick='fSetSelectedDay(this)'>");
					if(DenyRes)
						document.write("<strike style='color:red;' id='calDateText' v='0'>" + myMonth[w][d] + "</strike>");
					else
						document.write("<font id='calDateText' v='1'>" + myMonth[w][d] + "</font>");
				}
			}
			else
			{
				document.write("<td align='center' id='calCell' style='cursor:pointer;' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick='fSetSelectedDay(this)'>");
				document.write("<font id='calDateText' v='0'>&nbsp;</font>");
			}
			document.write("</td>");
		}
		document.write("</tr>");
	}
	document.write("</table>");
	document.write('</fieldset>');
	dayDisplayId = Dom("ListDate");
	dayDisplayId.innerHTML = iYear+"."+((iMonth<10) ? "0"+iMonth : iMonth);
}

function fUpdateCal(iYear, iMonth) 
{
	myMonth = fBuildCal(iYear, iMonth);
	var cDate = new Date();
	cDate.setDate(cDate.getDate()+EndDay);
	var nDate = new Date();
	objPrevElement.bgColor = "";
	Dom("calSelectedDate").value = "";
	dayDisplayId.innerHTML = iYear+"."+((iMonth<10) ? "0"+iMonth : iMonth);
	var ToDay = new Date();
	for (w = 1; w < 7; w++) 
	{
		for (d = 0; d < 7; d++) 
		{
			var RowId = ((7*w)+d)-7;
			var isToday = (myMonth[w][d] == ToDay.getDate() && iYear == ToDay.getYear() && (iMonth-1) == ToDay.getMonth() ) ? true : false;
			
			if (!isNaN(myMonth[w][d]))
			{
				nDate.setFullYear(iYear, iMonth-1, myMonth[w][d]);
				var isDeny = (nDate.getDay() == 0 || nDate.getDay() == 6) ? true : false;
				calDateText[RowId].innerText = myMonth[w][d];
				if(nDate.getTime() < cDate.getTime() || isDeny)
					calCell[RowId].innerHTML = "<strike style='color:red;' id='calDateText' v='0'>" + myMonth[w][d] + "</strike>"; 
				else
					calCell[RowId].innerHTML = "<font id='calDateText' v='1'>" + myMonth[w][d] + "</font>"; 

			} else {
				calCell[RowId].innerText = " ";
			}
			calCell[RowId].style.backgroundColor = (isToday) ? "#BDDEFF" : "#FFFFFF";
		}
	}
}

function OnDwDate(v)
{
	var Vx = dayDisplayId.innerText.split(".");
	var Y = parseInt(Vx[0]);
	var M = parseInt("1"+Vx[1])-100;
	var iY = Y;
	var iM = M;
	switch(v)
	{
		case 1:
			if(M == 1)
			{
				iM = 12;
				iY = Y - 1;
			}
			else
				iM = M - 1;

		break;
		case 2:
			if(M == 12)
			{
				iM = 1;
				iY = Y + 1;
			}
			else
				iM = M + 1;
		break;

	}
	
	fUpdateCal(iY, iM);
}

function SelCal(o)
{
	Dom("CalToDay").className = "tabCol";
	Dom("CalWeekDay").className = "tabCol";
	o.className = "selTabCss";
	var DS = Dom("DaySchedule");
	var WS = Dom("WeekSchedule");
	var dss = (o.id == "CalToDay") ? "" : "none";
	var wss = (o.id == "CalWeekDay") ? "" : "none";

	DS.style.display = dss;
	WS.style.display = wss;
}


//-->
