var days = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
var months = new Array(	"January",		"February",	"March",	"April", 
						"May", 			"June",		"July", 	"August", 
						"September",	"October", 	"November",	"December");
firstDayCurrentMonth = new Date();
var sDate;
function drawBlankCalendar() {
	var nameCounter;
	var weeksLoop;
	var daysLoop;
	var cal=""
	// Draw The First Row That Contains Navigation Images and Month+Year....
	cal="<table width='100%' height='160' cellspacing=0 cellpadding=0 class='outline'><tr><td>"	
	cal=cal+"<table width='100%' height='160' cellspacing=1 cellpadding=1 border=0>";
	cal=cal+"<tr>";
	cal=cal+"<td align='center'><div id='prevImage'  style='width:100%; height:100%;text-align=center;'></div></td>";	
	cal=cal+"<td class='header' colspan=5 width=80%>";
	cal=cal+"<div id='title'  style='width:100%; height:100%;text-align=center;'>";
	cal=cal+"m yyyy";
	cal=cal+"</div>";
	cal=cal+"</td>";
	cal=cal+"<td align='right'><div id='nextImage'  style='width:100%; height:100%;text-align=center;'></div></td>";	
	cal=cal+"</tr>";
	// seperator
	cal=cal+ "<tr><td colspan='7' height='1' bgcolor='000000'></td></tr>"
	// Draw the days of the week labels
	cal=cal+"<tr>"; 
	nameCounter = 0;
	for (daysLoop = 0; daysLoop <= 6; daysLoop++) {
		cal=cal+"<td class='nameofdays' width='15%'>";
		//cal=cal+"<div>";
		cal=cal+days[daysLoop];
		//cal=cal+"</div>";
		cal=cal+"</td>";
		nameCounter++;
	}
	cal=cal+"</tr>";
	// seperator
	cal=cal+ "<tr><td colspan='7' height='1' bgcolor='000000'></td></tr>"
	// Loop to draw a row for each week in a month
	nameCounter = 0;
	for (weeksLoop = 0; weeksLoop <= 5; weeksLoop++)
	{ 
		cal=cal+"<tr>";

		// Draw a cell for each day in a week
		for (daysLoop = 0; daysLoop <= 6; daysLoop++)
		{
			cal=cal+"<td class='noofdays'>";
			cal=cal+"<div style='width:100%; height:100%;text-align=center;' id='d" + nameCounter.toString() + "'>";
			cal=cal+"XX" ;
			cal=cal+"</div>";
			cal=cal+"</td>";
			nameCounter++;
		}

		cal=cal+"</tr>";
	}
	cal=cal+"</table>";
	cal=cal+"</td></tr></table>";
document.write (cal)
}
function goNext() {
	var selectedDate = new Date();
	var selectedMonth;
	var selectedDay;
	var selectedYear;
	selectedDay = firstDayCurrentMonth.getDate();
	selectedYear = firstDayCurrentMonth.getFullYear();
	selectedMonth = firstDayCurrentMonth.getMonth();
	selectedMonth = selectedMonth + 1;
	if (selectedMonth > 11) {
		selectedMonth = 0;
		selectedYear = selectedYear + 1;
	}
	selectedDate.setTime(Date.parse(
			months[selectedMonth] + " " + 
			selectedDay.toString() + ", " + 
			selectedYear.toString()
			));
	updateCalendar(selectedDate);
}
function goPrevious() {
	var selectedDate = new Date;
	var selectedMonth;
	var selectedDay;
	var selectedYear;

	selectedDay = firstDayCurrentMonth.getDate();
	selectedYear = firstDayCurrentMonth.getFullYear();
	selectedMonth = firstDayCurrentMonth.getMonth();

	selectedMonth = selectedMonth - 1;
	if (selectedMonth < 0) {
		selectedMonth = 11;
		selectedYear = selectedYear - 1;
	}
	selectedDate.setTime(Date.parse(
			months[selectedMonth] + " " + 
			selectedDay.toString() + ", " + 
			selectedYear.toString()
			));
	updateCalendar(selectedDate);

}

function updateCalendar(selectedDate)
{
	var currentDay =new Date();
	var nameCounter;
	var divPointer;
	var dayCounter;
	var now =new Date(selectedDate);
	// set the upper row with month and year
	document.getElementById("title").innerHTML = months[selectedDate.getMonth()] + ", " + selectedDate.getFullYear().toString();
	document.getElementById("prevImage").innerHTML = "<a  href='javascript:goPrevious();'><img src='images/calendar_previous.gif' border='0' align='center' alt='Previous Month'></a>"	
	document.getElementById("nextImage").innerHTML = "<a  href='javascript:goNext();'><img src='images/calendar_next.gif' border='0' align='center' alt='Next Month'></a>"
	
	// empty cells
	for (nameCounter = 0; nameCounter < 42; nameCounter++) {
		divPointer = document.getElementById("d" + nameCounter.toString());
		divPointer.innerHTML = "&nbsp;&nbsp;";
	}
	
	// knowing what is the current day after updation
	currentDay.setTime(Date.parse(
		months[selectedDate.getMonth()] + 
		" 1, " + 
		selectedDate.getFullYear().toString()
		));
	nameCounter = currentDay.getDay();
	dayCounter = 1;
	firstDayCurrentMonth.setTime(currentDay.getTime());
	
	while (selectedDate.getMonth() == currentDay.getMonth())	
	 {
		divPointer = document.getElementById("d" + nameCounter.toString());
		
		if (sDate.getMonth()==selectedDate.getMonth() && sDate.getFullYear()==selectedDate.getFullYear())
		{
			divPointer.innerHTML = "<a class='noofdays' style='text-decoration:none' title='View Reminders' href='reminders.aspx?Month="+(currentDay.getMonth()+1)+"&Day="+currentDay.getDate()+"&Year="+currentDay.getFullYear()+"'>" + dayCounter.toString() + "</a>";	
		}
		else 
		{
			divPointer.innerHTML = "<a class='noofdays' style='text-decoration:none'  title='View Reminders' href='reminders.aspx?Month="+(currentDay.getMonth()+1)+"&Day="+currentDay.getDate()+"&Year="+currentDay.getFullYear()+"'>" + dayCounter.toString() + "</a>";
		}

		nameCounter++;
		dayCounter++;
		currentDay.setTime(Date.parse(
			months[currentDay.getMonth()] + " " + 
			dayCounter.toString() + ", " + 
			currentDay.getFullYear().toString()
			));
	}
}
function startCalendar(startDate)
{

drawBlankCalendar()
startDate=new Date(startDate);
sDate=startDate
updateCalendar(startDate)
}
