
var todaydate=new Date()
var curmonth=todaydate.getMonth()+1 //get current month (1-12)
var curyear=todaydate.getFullYear() //get current year
var mn=['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']

var sched = "2|8|2008,10|9|2008";

function buildCal(m, y, id){

var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st

var todaydate=new Date() //DD added
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added

dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
var t = '<table cellspacing="0"><thead><tr><td colspan="7">';
if((m - 1) == 0)
	t+='<a class="esquerda" href="javascript:updatecalendar('+ (m + 11)+ ','+ (y - 1) +','+ id +')" title="Mês anterior">Mês anterior</a>'
else if(y >= curyear)
	t+='<a class="esquerda" href="javascript:updatecalendar('+ (m - 1)+','+ y +','+ id +')" title="Mês anterior">Mês anterior</a>'

if((m + 1) == 13)
	t+='<a class="direita" href="javascript:updatecalendar('+ (1)+ ','+ (y + 1) +','+ id +')" title="Próximo mês">Próximo mês</a>'
else
	t+='<a class="direita" href="javascript:updatecalendar('+ (m + 1)+','+ y +','+ id +')" title="Próximo mês">Próximo mês</a>'

t+='<strong>'+mn[m-1]+' - '+y+'</strong>';

t+='</td></tr></thead>';
t+='<tbody><tr class="dias">';
for(s=0;s<7;s++)t+='<td>'+"DSTQQSS".substr(s,1)+'</td>';
t+='</tr><tr>';

var iTemp = 0;

for(i=1;i<=42;i++)	{

	iTemp++;
	if(iTemp == 7)
		iTemp = 0;

	var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '';
	
	if (x<scanfortoday || sched.indexOf((x +"|"+ m +"|"+ y)) != -1 || iTemp == 1)
		t+='<td class="days">'+x+'</td>';
	else if (x==scanfortoday)
		t+='<td class="days" id="today">'+x+'</td>';
	else
		t+='<td class="days"><a href="javascript:fillComboHora(\''+ zeroLeft(x) +'/'+ zeroLeft(m) +'/'+ y +'\','+ id +')">'+x+'</a></td>';
	if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
}
return t+='</tr></tbody></table>';
}


function updatecalendar(themonth, curyear, id){
var calendarstr=buildCal(themonth, curyear, id)
if (document.getElementById)
document.getElementById("calendar").innerHTML=calendarstr
}