﻿function closeBox(elementID)
{
	element = document.getElementById(elementID);
	element.parentNode.removeChild(element);
}

function daysInMonth(month, year)
{
 	return 32 - new Date(year, month, 32).getDate();
}

function fillDate(updater,month,day,year)
{
	month += 1;
	month +="";
	if (month.length == 1)
		month = "0" + month;
	day+="";
	if(day.length == 1)
		day = "0" + day;
	document.getElementById(updater).value = month+"/"+day+"/"+year;
}

function popCalendar(parent,updater,month,year)
{
	newID = parent + "plastiCal";
	if(document.getElementById(newID))
		closeBox(newID);
	newelement = document.createElement('div');
	newelement.setAttribute("class","plastiform_calendar");	
	newelement.setAttribute("id",newID);
	inputID = parent + "plastiCal" + "inputField";
	updater.setAttribute("id",inputID);
	document.getElementById(parent).appendChild(newelement);
	plastiForm_makeCalendar(newID,inputID,month,year);		
}

function plastiForm_makeCalendar(calID,updater,month,year)
{
	var monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var currentDay = "";
	var currentDate = new Date();
	if(month == null)
		var month = currentDate.getMonth();
	if(!year)
		var year = currentDate.getFullYear();

	currentDate.setMonth(month);
	currentDate.setYear(year);

	
    var prevMonth = month - 1;
    var pmYear = year;
    if(prevMonth < 0)
    {
    	prevMonth = 11;
    	pmYear = year - 1;
    }

	var nextMonth = month + 1;
	var nmYear = year;
	if(nextMonth > 11)
	{
		nextMonth = 0;
		nmYear = year + 1;
	}
	var prevYear = year-1;
	var nextYear = year+1;

	currentDate.setDate(1);
	var day = currentDate.getDay(); //0=Sunday, 6=Saturday
	var totDays = daysInMonth(month,year);
	var rows = Math.floor((totDays+day)/7)+1;
	var calendar ="<table>";
	calendar+="<tr>";
	calendar+="<td align=center><a href=\"javascript:makeCalendar('"+calID+"','"+updater+"',"+prevMonth+","+pmYear+")\">\<</a></td>";
	calendar+="<td colspan=5 align=center>"+monthName[month]+" "+year+"</td>";
	calendar+="<td align=center><a href=\"javascript:makeCalendar('"+calID+"','"+updater+"',"+nextMonth+","+nmYear+")\">\></a></td>";
	calendar+="</tr>";
	calendar+="<tr>";
	calendar+="<tr><td align=center>S</td><td align=center>M</td><td align=center>T</td><td align=center>W</td><td align=center>T</td><td align=center>F</td><td align=center>S</td></tr>";
	for(row=1;row<=rows;row++)
	{
		calendar += "<tr>";
		for(column=0;column<=6;column++)
		{
			calendar += "<td align=center>";
			if(row == 1)
			{
				if(column == day)
				{
					currentDay = 1;
					calendar+="<a href=\"javascript:fillDate('"+updater+"',"+month+","+currentDay+","+year+"); closeBox('"+newID+"');\">"+currentDay+"</a>";
				}
				else
					calendar+="<a href=\"javascript:fillDate('"+updater+"',"+month+","+currentDay+","+year+"); closeBox('"+newID+"');\">"+currentDay+"</a>";
			}
			else
			{
				if(currentDay <= totDays)
					calendar += "<a href=\"javascript:fillDate('"+updater+"',"+month+","+currentDay+","+year+"); closeBox('"+newID+"');\">"+currentDay+"</a>";
			}
			if(currentDay >= 1)
				currentDay++;
			calendar += "</td>";
		}
		calendar += "</tr>";

	}
	calendar += "<tr>";
	calendar +="<td colspan=7 align=center><a href=\"javascript: closeBox('"+newID+"')\">Close</a></td>";
	calendar +="</tr>";
	calendar += "</table>";
	document.getElementById(newID).innerHTML = "";
	document.getElementById(newID).innerHTML = calendar;

}



