var data_eve;
var ArrMonth = new Array();
ArrMonth[0] = "Gennaio";
ArrMonth[1] = "Febbraio";
ArrMonth[2] = "Marzo";
ArrMonth[3] = "Aprile";
ArrMonth[4] = "Maggio";
ArrMonth[5] = "Giugno";
ArrMonth[6] = "Luglio";
ArrMonth[7] = "Agosto";
ArrMonth[8] = "Settembre";
ArrMonth[9] = "Ottobre";
ArrMonth[10] = "Novembre";
ArrMonth[11] = "Dicembre";

function setToday() {
	var now   = new Date();
	var day   = now.getDate();
	var month = now.getMonth();
	var year  = now.getYear();
	if (year < 2000) {
		year = year + 1900;
	}
	this.focusDay = day;
	$("ctlMonth").value = month;
	$("ctlYear").value = year;
	displayCalendar(month, year);
}

function setPreviousMonth() {
	var year  = $("ctlYear").value;
	var day   = 0;
	var month = $("ctlMonth").value;
	if (month == 0) {
		month = 11;
		if (year > 1000) {
			year--;
			$("ctlYear").value = year;
		}
	} else { 
		month--; 
	}
	$("ctlMonth").value = month;
	displayCalendar(month, year);
}

function setNextMonth() {
	if ($("novita")!=null) {
		if ($("novita").style.display == "block") {
			$("novita").style.display = "none";
		}
	}
	var year  = $("ctlYear").value;
	var day   = 0;
	var month = $("ctlMonth").value;
	if (month == 11) {
		month = 0;
		year++;
		$("ctlYear").value = year;
	} else { 
		month++; 
	}
	$("ctlMonth").value = month;
	displayCalendar(month, year);
}

function displayCalendar(month, year) {
	month = parseInt(month);
	year = parseInt(year);
	$("ctlToday").innerHTML = ArrMonth[month] + " " + parseInt(year);
	var i = 0;
	var days = getDaysInMonth(month + 1, year);
	var ToDay = new Date();
	var firstOfMonth = new Date(year, month, 1);
	var startingPos = firstOfMonth.getDay()-1;
	if(startingPos==-1) {
		startingPos = 6;
	}
	days += startingPos;
	var textHtml = "<table width='100%' cellpadding='0' cellspacing='0' border='0' class='calendario'>\n"
	textHtml += "\t<tr>\n";
	textHtml += "\t\t<td>L</td>\n";
	textHtml += "\t\t<td>M</td>\n";
	textHtml += "\t\t<td>M</td>\n";
	textHtml += "\t\t<td>G</td>\n";
	textHtml += "\t\t<td>V</td>\n";
	textHtml += "\t\t<td>S</td>\n";
	textHtml += "\t\t<td style='color: red;'>D</td>\n";
	for (i = 0; i < startingPos; i++) {
		if ( i%7 == 0 )  {
			textHtml += "\t</tr>\n\t<tr>\n";
		}
		textHtml += "\t\t<td>&nbsp;</td>\n";
	}

	for (i = startingPos; i < days; i++) {
		if ( i%7 == 0 ) {
			textHtml += "\t</tr>\n\t<tr>\n";
		}
		textHtml += "\t\t<td align='center'  style='";
		if ((month+1) < 10) {
			var txtMonth = "0" + (month+1);
		} else {
			var txtMonth = (month+1);
		}
		if ((i-startingPos+1) < 10) {
			var txtDay = "0" + (i-startingPos+1);
		} else {
			var txtDay = (i-startingPos+1);
		}
		if (ToDay.getDate()==(i - startingPos + 1) && ToDay.getMonth()==month) {
			textHtml += "' class='today'><a href='/eventi." + year + "-" + txtMonth + "-" + txtDay + ".html'>";
		} else if ((typeof data_eve) == Object) {
			if (data_eve.getDate()==(i - startingPos + 1) && data_eve.getMonth()==month) {
				textHtml += "background-color: #F90; font-weight: bold;'><a href='/eventi." + year + "-" + txtMonth + "-" + txtDay + ".html' style='color: #fff; text-decoration: none;'>";
			}
		} else {
			textHtml += "'><a href='/eventi." + year + "-" + txtMonth + "-" + txtDay + ".html'";
			var testDay = new Date(year, month, (i-startingPos+1));
			if (testDay.getDay()==0) {
				textHtml += " style='color: #f00;'";
			}
			textHtml += ">";
		}

		if (i-startingPos+1 < 10) {
			textHtml += "&nbsp;" + (i - startingPos + 1);
		} else {
			textHtml += i - startingPos + 1;
		}
		textHtml += "</a></td>\n";
	}

	for (i=days; i<42; i++)  {
		if ( i%7 == 0 ) {
			textHtml += "\t</tr>\n\t<tr>\n";
		}
		textHtml += "<td style='padding:2px;'>&nbsp;</td>\n";
	}
	textHtml += "</table>\n"
	$("calPage").innerHTML = textHtml;
}

function getDaysInMonth(month,year)  {
	var days;
	if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) {
		days=31;
	} else if (month==4 || month==6 || month==9 || month==11) {
		days=30;
	} else if (month==2)  {
		if (isLeapYear(year)) { 
			days=29; 
		} else { 
			days=28; 
		}
	}
	return (days);
}

function isLeapYear (Year) {
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
		return (true);
	} else { 
		return (false); 
	}
}
