Months = new Array(12);
Months[0] = "<b>Janeiro</b>";
Months[1] = "<b>Fevereiro</b>";
Months[2] = "<b>Março</b>";
Months[3] = "<b>Abril</b>";
Months[4] = "<b>Maio</b>";
Months[5] = "<b>Junho</b>";
Months[6] = "<b>Julho</b>";
Months[7] = "<b>Agosto</b>";
Months[8] = "<b>Setembro</b>";
Months[9] = "<b>Outubro</b>";
Months[10] = "<b>Novembro</b>";
Months[11] = "<b>Dezembro</b>";
function PadSpaces(TheString)
{
	var Spaces = "             ";
	len = Math.round((9 - TheString.length)/2);
	return Spaces.substring(0,len) + TheString;
}
function NumLeapYears(StartYear, EndYear)
{
 	var LeapYears, i;
 	if (EndYear >= StartYear){
 		for(LeapYears = 0; StartYear <= EndYear; StartYear++)
 		if (IsLeapYear(StartYear)) LeapYears++;
	}else{
	for(LeapYears = 0; EndYear <= StartYear; EndYear++)
 		if (IsLeapYear(EndYear)) LeapYears++;
	}
 	return LeapYears;
}
function IsLeapYear(Year)
{
	if(Math.round(Year/4) == Year/4){
		if(Math.round(Year/100) == Year/100){
			if(Math.round(Year/400) == Year/400)
				return true;
			else return false;
		}else return true;
	}
	return false;
}
function Trim(TheString)
{
	var len;
	len = TheString.length;
 	while(TheString.substring(0,1) == " "){ //trim left
 		TheString = TheString.substring(1, len);
  		len = TheString.length;
	}
 	while(TheString.substring(len-1, len) == " "){ //trim right
 		TheString = TheString.substring(0, len-1);
  		len = TheString.length;
 	}
 	return TheString;
}
function DetermineMonthIdx()
{
	var i, month, month_s, len;
	month = Trim(document.calform.elements[4].value);
	len = month.length;
	for( i = 0; i <12; i++){
    		month_s = Months[i].substring(0,len);
		if (month_s.toUpperCase() == month.toUpperCase())
        		return (i);
  	}
  	return -1;
}
function FindNewYearStartingDay(Year)
{
 	var LeapYears, Years, Day;
 	LeapYears = NumLeapYears(1995, Year);
 	if  (Year >=1995)
 		Years = (Year -1995)+LeapYears;
 	else	Years = (Year -1995)-LeapYears;
 	if  (Year >=1995)
		Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
 	else	Day = Math.round(((Years/7 -  Math.ceil(Years/7))*7)-.1);
	if (Year >=1995){
 		if(IsLeapYear(Year)) Day--;
 	}else Day += 7;
 	if(Day < 0) Day = 6;
 	if(Day > 6) Day = 0;
 	return Day;
}
function FindNumDaysInMonth(Year, Month)
{
 	if(Month == 1){
   		if(IsLeapYear(Year)) return 29;
   		else return 28;
 	}else{
   		if(Month >6) Month++;
   		if(Month/2 == Math.round(Month/2))  return 31;
 	}
 return 30;
}
function FindMonthStartDay(NewYearDay, Year, Month)
{
  	var MonthStartDay;
  	AddArray = new Array(12);
  	AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
	AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
	AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;
  	MonthStartDay = NewYearDay + AddArray[Month];
  	if(IsLeapYear(Year)  && (Month ) > 1) MonthStartDay ++;
  	if (MonthStartDay > 6) MonthStartDay -= 7;
  	return MonthStartDay;
}
function  FillCalendar()
{
  	var Year, Month, Midx, NewYearDay, MonthStartDay;
	var NumDaysInMonth, i, t;
  	Year = parseFloat(document.calform.elements[1].value);
  	Month = document.calform.elements[4].value;
  	Midx  =  DetermineMonthIdx();
  	if (Midx == -1){
   		alert ("Can't recognize that month");
   		return;
  	}
  	NewYearDay = FindNewYearStartingDay(Year);
  	MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
  	NumDaysInMonth = FindNumDaysInMonth(Year, Midx);
  	for(i = 6;  i < 43;  i++){
		t = i-5-MonthStartDay;
		if ( t >= 1  &&  t <= NumDaysInMonth){
			if(myDate.getDate() == t){
				document.calform.elements[i].value =t;
				document.getElementById(i).innerHTML ='<a href='+url_clipping+'&data='+t+'/'+(Midx*1+1)+'/'+Year+' class="frmBranco"> '+t+' </a>'; // Modificado para escrever dentro de tags
				document.getElementById("celula_"+i).style.backgroundColor = "#FFFFFF";
				document.getElementById("celula_"+i).style.color = "#FFFFFF";
			}else{
				document.calform.elements[i].value =t;
				document.getElementById(i).innerHTML ='<a href='+url_clipping+'&data='+t+'/'+(Midx*1+1)+'/'+Year+' class=style7>'+t+'</a>'; // Modificado para escrever dentro de tags
				document.getElementById("celula_"+i).style.backgroundColor = "#FFFFFF";
				document.getElementById("celula_"+i).style.color = "#666666";
			}
		}else{
			document.calform.elements[i].value = "";
			document.getElementById(i).innerHTML = "";
		}
  	}
}
function IncDecYear(val)
{
	var valNum = parseInt(val);
	var valNum2 = parseInt(document.calform.elements[1].value)
	document.calform.elements[1].value = valNum2 + valNum;
	document.getElementById("ano").innerHTML = "<b>" + document.calform.elements[1].value + "</b>";
	FillCalendar()
}
function IncDecMonth(val)
{
	var valNum = parseInt(val);
  	var Midx  =  DetermineMonthIdx();
	Midx += valNum;
	if(Midx > 11) 
	{
		var valNum2 = parseInt(document.calform.elements[1].value)
		document.calform.elements[1].value = valNum2 + 1;
		document.getElementById("ano").innerHTML = "<b>" + document.calform.elements[1].value + "</b>";
		Midx = 0;
	}
	if(Midx < 0)  
	{
		var valNum2 = parseInt(document.calform.elements[1].value)
		document.calform.elements[1].value = valNum2 - 1;
		document.getElementById("ano").innerHTML = "<b>" + document.calform.elements[1].value + "</b>";
		Midx = 11;
	}		
	document.calform.elements[4].value = PadSpaces(Months[Midx]);
	document.getElementById("mes").innerHTML = PadSpaces(Months[Midx]); // Modificado para escrever dentro de tags
	FillCalendar()
}


