function jsEventDate()
{
	this.today = new Date();
	this.Year = (isIE)? this.today.getYear():(this.today.getYear()+1900);
	this.Month = this.today.getMonth();
	this.TodayMonth = this.today.getMonth();
	this.Day = this.today.getDate();
	this.show = showEventDateDivOnObj;
	this.setNewDate = setNewEventDateAndShow;
	this.setNewDateByObj = setNewEventDateByObjAndShow;
	this.resetYear = resetEventDateObjYear;
	this.closeDiv = closeEventDivObjShow;
	this.setOK = setEventDateComplete;
	this.ssYear = (isIE)? this.today.getYear():(this.today.getYear()+1900);
	this.eeYear = (isIE)? (this.today.getYear()-60):(this.today.getYear()-60+1900);
	this.setYear = setTheEventYear;
	this.xoffset = 80;
	this.yoffset = -110;
	this.eventDate = [];
}
function setTheEventYear(ss, ee)
{
	if(ee > ss)
	{
		this.ssYear = ee-1;
		this.eeYear = ss;
	}
	else
	{
		this.ssYear = ss;
		this.eeYear = ee-1;
	}
}
function showEventDateDivOnObj()
{
	var divobj = document.getElementById("eventCal");
	var monthStr = [_MONTH_1, _MONTH_2, _MONTH_3, _MONTH_4, _MONTH_5, _MONTH_6, _MONTH_7, _MONTH_8, _MONTH_9, _MONTH_10, _MONTH_11, _MONTH_12];
	var monthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
	var weekStr = [
		[_WEEK_0, "#FFFFFF", "#FFCCCC", "#C00000"],
		[_WEEK_1, "#000000", "#FFFFFF", "#A7E5FF"],
		[_WEEK_2, "#000000", "#FFFFFF", "#A7E5FF"],
		[_WEEK_3, "#000000", "#FFFFFF", "#A7E5FF"],
		[_WEEK_4, "#000000", "#FFFFFF", "#A7E5FF"],
		[_WEEK_5, "#000000", "#FFFFFF", "#A7E5FF"],
		[_WEEK_6, "#FFFFFF", "#E6FFC3", "#008000"]
	];
	var i, j, k, fweek, isThisMonth, day_n, isOutDay, kn, is_event_d, todayCss;
	if((this.Year % 4) == 0)
		monthDays[1] = 29;
	var jsTable  = "<form name=\"DateFrm\" action=\"\" onsubmit=\"return false;\"><table id=\"DateTable\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n";
	jsTable += "	<tr>\n";
	jsTable += "		<td align=\"center\">\n";
	jsTable += "		<table bgcolor=\"#BFDBFF\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"98%\" height=\"16\">\n";
	jsTable += "			<tr>\n";
	jsTable += "				<td><a href=\"Javascript:EventJsDate.setNewDate(" + this.Year + ", " + (this.Month-1) + ")\"><img src=\"/images/event/calprev.jpg\" width=\"11\" height=\"10\" border=\"0\" alt=\"\"></a></td>";
	jsTable += "				<td style=\"color:#000000;\">";
	jsTable += this.Year;
	jsTable += " " + _YEAR + "\n";
	jsTable += monthStr[this.Month] + "\n";
	jsTable += "</td>\n";
	jsTable += "				<td><a href=\"Javascript:EventJsDate.setNewDate(" + this.Year + ", " + (this.Month+1) + ")\"><img src=\"/images/event/calnext.jpg\" width=\"11\" height=\"10\" border=\"0\" alt=\"\"></a></td>\n";
	jsTable += "			</tr>\n";
	jsTable += "		</table>\n";
	jsTable += "		</td>\n";
	jsTable += "	</tr>\n";
	jsTable += "	<tr>\n";
	jsTable += "		<td align=\"center\" bgcolor=\"#FFFFFF\">";
	jsTable += "		<table border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"98%\">\n";
	jsTable += "			<tr>\n";
	for(i=0; i<weekStr.length; i++)
	{
		jsTable += "				<td align=\"center\" style=\"color:" + weekStr[i][1] + "; background-color:" + weekStr[i][3] + ";\">" + weekStr[i][0] + "</td>\n";
	}
	jsTable += "			</tr>\n";
	var dd = new Date(this.Year, this.Month, 1);
	fweek = dd.getDay();
	isThisMonth = true;
	day_n = 1;
	isOutDay = false;
	if(fweek > 0)
	{
		isThisMonth = false;
		if(this.Month > 0)
			day_n = monthDays[this.Month-1]-fweek+1;
		else
			day_n = monthDays[11]-fweek+1;
	}
	for(i=0; i<6; i++)
	{
		jsTable += "			<tr>\n";
		for(j=0; j<weekStr.length; j++)
		{
			jsTable += "				<td align=\"center\" style=\"font-weight:bold;";
			if(isThisMonth)
			{
				todayCss = "";
				if(day_n == this.Day && this.TodayMonth == this.Month)
				{
					todayCss = "border:1px solid #BB5503; background-color: #FDC64F;";
				}
				is_event_d = false;
				for(k=0; k<this.eventDate.length; k++)
				{
					if(this.Year == this.eventDate[k].Y && (this.Month+1) == this.eventDate[k].M && day_n == this.eventDate[k].D){
						is_event_d = true;
						break;
					}
				}
				if(is_event_d)
				{
					if(todayCss == "")
						jsTable += " border:1px solid #333333; color:#000000; background-color: " + weekStr[j][2] + "; cursor:pointer;\" onclick=\"EventJsDate.setOK(" + day_n + ");\">";
					else
						jsTable += todayCss + " color:#000000; cursor:pointer;\" onclick=\"EventJsDate.setOK(" + day_n + ");\">";
				}
				else
				{
					if(todayCss == "")
						jsTable += " color:#000000; background-color: " + weekStr[j][2] + ";\">";
					else
						jsTable += todayCss + " color:#000000;\">";
				}
			}
			else
			{
				jsTable += " color:#999999; font-size:10px; background-color: " + weekStr[j][2] + ";\">";
			}
			jsTable += day_n;
			jsTable += "</td>\n";
			day_n++;
			if(!isThisMonth)
			{
				if(this.Month > 0)
					kn = monthDays[this.Month-1];
				else
					kn = monthDays[11];
				if(day_n > kn)
				{
					day_n = 1;
					isThisMonth = true;
				}
			}
			if(isThisMonth)
			{
				if(day_n > monthDays[this.Month])
				{
					day_n = 1;
					isThisMonth = false;
					isOutDay = true;
				}
			}
		}
		jsTable += "			</tr>\n";
		if(isOutDay)
			break;
	}
	jsTable += "		</table>\n";
	jsTable += "		</td>\n";
	jsTable += "	</tr>\n";
	jsTable += "</table></form>\n";
	divobj.innerHTML = jsTable;
}
function setNewEventDateAndShow(y, m)
{
	if(m < 0)
	{
		m = 11;
		y --;
	}
	if(m > 11)
	{
		m = 0;
		y ++;
	}
	this.Year = y;
	this.Month = m;
	this.show();
	this.setOK(this.Day);
}
function setNewEventDateByObjAndShow()
{
	if(obj.value == "")
	{
		var d = new Date();
		var yyyy, mm, dd;
		yyyy = d.getYear();
		mm = d.getMonth() + 1;
		dd = d.getDate();
		if(mm < 10) mm = "0" + mm;
		if(dd < 10) dd = "0" + dd;
		 obj.value = yyyy + "/" + mm + "/" + dd;
	}
	var ddd = obj.value.split('/');
	y = parseInt(ddd[0], 10);
	m = parseInt(ddd[1], 10)-1;
	d = parseInt(ddd[2], 10);
	if(y == 0) y = this.today.getYear();
	if(m < 0) m = this.today.getMonth();
	if(d == 0) d = this.today.getDate();
	this.Year = y;
	this.Month = m;
	this.Day = d;
	this.show();
	this.setOK(d);
}
function resetEventDateObjYear(newY)
{
	var ddd = obj.value.split('/');
	y = newY;
	m = parseInt(ddd[1], 10)-1;
	d = parseInt(ddd[2], 10);
	if(y == 0) y = this.today.getYear();
	if(m < 0) m = this.today.getMonth();
	if(d == 0) d = this.today.getDate();
	this.Year = y;
	this.Month = m;
	this.Day = d;
	this.show();
	this.setOK(d);
}
function closeEventDivObjShow()
{
}
function setEventDateComplete(day_n)
{
	var monthStr = (parseInt(this.Month)+1);
	var dateString = "";
	
	if(monthStr < 10)
		monthStr = "0" + monthStr;
	
	if(day_n < 10)
		day_n = "0" + parseInt(day_n);
	
	dateString = parseInt(this.Year) + "-" + monthStr + "-" + day_n;
	getNewEventByDate(dateString);
}
function setEventDateAfter()
{
}
var EventJsDate = new jsEventDate();


