var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();

function fToggleClass(myElement) 
{
	return;
	if (myElement.id == "calDateText") 
	{
		if (myElement.className == "cal_text_alt") 
		{
			myElement.className = "cal_text";
		} 
		else 
		{
			myElement.className = "cal_text_alt";
	   	}
	} 
	else if (myElement.id == "calCell") 
	{
		for (var i in myElement.children) 
		{
			if (myElement.children[i].id == "calDateText") 
			{
				if (myElement.children[i].className == "cal_text_alt") 
				{
					//myElement.children[i].className = "cal_text";
				} 
				else 
				{
					//myElement.children[i].className = "cal_text_alt";
            	}
         	}
      	}
   	}
}
function fSetSelectedDay(myElement)
{
	if (myElement.id == "calCell") 
	{
		if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) 
		{
			myElement.bgColor = "#c0c0c0";
			objPrevElement.bgColor = "";
			document.all.calSelectedDate.value = parseInt(myElement.children["calDateText"].innerText);
			objPrevElement = myElement;
      	}
   	}
}

function fGetDaysInMonth(iMonth, iYear) 
{
	var dPrevDate = new Date(iYear, iMonth, 0);
	return dPrevDate.getDate();
}

function fBuildCal(iYear, iMonth, iDayStyle) 
{
	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()-1;
	var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
	var iVarDate = 1;
	var i, d, w;
	if (iDayStyle == 2) 
	{
		aMonth[0][0] = "Monday";
		aMonth[0][1] = "Tuesday";
		aMonth[0][2] = "Wednesday";
		aMonth[0][3] = "Thursday";
		aMonth[0][4] = "Friday";
		aMonth[0][5] = "Saturday";
		aMonth[0][6] = "Sunday";
	} 
	else if (iDayStyle == 1) 
	{

		aMonth[0][0] = "Mon";
		aMonth[0][1] = "Tue";
		aMonth[0][2] = "Wed";
		aMonth[0][3] = "Thu";
		aMonth[0][4] = "Fri";
		aMonth[0][5] = "Sat";
		aMonth[0][6] = "Sun";		
	} 
	else 
	{
		aMonth[0][0] = "Mo";
		aMonth[0][1] = "Tu";
		aMonth[0][2] = "We";
		aMonth[0][3] = "Th";
		aMonth[0][4] = "Fr";
		aMonth[0][5] = "Sa";
		aMonth[0][6] = "Su";		
	}
	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;
}

var selYear,selMonth;
function fDrawCal(iYear, iMonth, iDayStyle, F) 
{
	var myMonth;
	var X;
	myMonth = fBuildCal(iYear, iMonth, iDayStyle);
	X= "<table border='1'>";
	X= X+"<tr>";	
	
	selYear=iYear;selMonth=iMonth;
	pYear=iYear;nYear=iYear;
	
	if (iMonth==1)
	{
		pYear=iYear-1;pMonth=12;
	}
	else
		pMonth=iMonth-1;
		
	if (iMonth==12)
	{
		nYear=iYear+1;nMonth=1;
	}
	else
		nMonth=iMonth+1;
		
	
	X= X+"<td onclick='redrawCal("+pYear+","+pMonth+",\""+F+"\")' onMouseOver='fToggleClass(this)' onMouseOut='fToggleClass(this)' id=calCell class='cal_cell'>";
	X= X+"<font id=calDateText class='cal_text' onclick=fSetSelectedDay(this)>" + "<"+ "</font></td>";
	
	X= X+"<td colspan='5' class='cal_monthtitle'>" + iMonth + "/" + iYear + "</td>";			
	
	X= X+"<td onclick='redrawCal("+nYear+","+nMonth+",\""+F+"\")' onMouseOver='fToggleClass(this)' onMouseOut='fToggleClass(this)' id=calCell class='cal_cell'>";
	X= X+"<font id=calDateText class='cal_text' onclick=fSetSelectedDay(this)>" + ">" + "</font></td>";		
	X= X+"</tr>";		
	X= X+"<tr>";
	X= X+"<td class='cal_days'>" + myMonth[0][0] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][1] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][2] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][3] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][4] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][5] + "</td>";
	X= X+"<td class='cal_days'>" + myMonth[0][6] + "</td>";
	X= X+"</tr>";
	for (w = 1; w < 7; w++) 
	{
		X= X+"<tr>";
		for (d = 0; d < 7; d++) 
		{
			X= X+"<td class='cal_cell' id=calCell onMouseOver='fToggleClass(this)' onMouseOut='fToggleClass(this)'>";
			if (!isNaN(myMonth[w][d])) 
			{
				X= X+"<font id=calDateText class='cal_text' onclick='finish(\""+F+"\"," + myMonth[w][d] + ")'>" + myMonth[w][d] + "</font>";
			} 
			else 
			{
				X= X+"<font id=calDateText class='cal_text'> </font>";
			}
			X= X+"</td>";
		}
		X= X+"</tr>";
	}
	X= X+"</table>";
	return X;
}

function fUpdateCal(iYear, iMonth) 
{
	myMonth = fBuildCal(iYear, iMonth);
	objPrevElement.bgColor = "";
	document.all.calSelectedDate.value = "";
	for (w = 1; w < 7; w++) 
	{
		for (d = 0; d < 7; d++) 
		{
			if (!isNaN(myMonth[w][d])) 
			{
				calDateText[((7*w)+d)-7].innerText = myMonth[w][d];
			} 
			else 
			{
				calDateText[((7*w)+d)-7].innerText = " ";
	        }
      	}
	}
}

var theCal;

function drawCal(O, F)
{
	theCal=O;
	var dCurDate = new Date();
	O.innerHTML=fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1, 1, F);
}

function redrawCal(iYear, iMonth, F)
{
	theCal.innerHTML=fDrawCal(iYear, iMonth, 1, F);
}

function finish(F, day)
{
	FTC=F+"("+day+","+selMonth+","+selYear+")";
	eval(FTC);
}

function StringC(S,x)
{
	R=String(S);
	for (i=R.length;i<x;i++)
		R="0"+R;
	return R;
}	