// Variável para os nomes dos meses em português
aMeses = new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");

// Pega o nome do arquivo para saber qual calendário exibir.
cFile = location.href;
nMesPos = cFile.indexOf('mes=');
nIndex = cFile.indexOf('index.jhtm');
nDatePos = cFile.indexOf('.jhtm');

// Objeto data com o dia atual
dToday = new Date();

// Define o ano atual com 2 dígitos
cYear = dToday.getFullYear().toString().substring(2,4);
// Define o mês atual com 2 dígitos
cMonth = dToday.getMonth()+1;
cMonth = ((cMonth) > 9) ? cMonth.toString() : "0"+cMonth.toString();

// se não for o arquivo index.htm utiliza a data expressa no nome do arquivo ex: horario020820.jhtm
if (nDatePos >= 0 && nIndex < 0)
{
	cMonth = cFile.substring(nDatePos-4,nDatePos-2)
	cYear = cFile.substring(nDatePos-6,nDatePos-4)
}

// se existir a váriavel "mes=" na URL utiliza o mês indicado e
// substitui "cFile" com o endereço sem a variável "mes=" para evitar erros na criação do link do mês anterior e próximo
if (nMesPos >= 0)
{
	cMonth = cFile.substring(nMesPos+4,nMesPos+7);
	cFile = cFile.substring(0,nMesPos-1);
}

// Define o mês em INT
nMonth = parseInt(cMonth,10);

// Cria objeto de Data com o dia primeiro do mês identificado/selecionado (para gerar o calendário na posição correta)
dCalendar = new Date(dToday.getFullYear(),--nMonth,1)

// Variável com 35 posições do calendário
aDays = Array(35);
// Inicia as variáveis com "&nbsp;" para que o html seja exibido corretamente
for (i=0;i<35;i++) aDays[i] = '&nbsp;';

// Identifica o dia da semana para a impressão do HTML
firstDay = dCalendar.getDay()

// Imprime apenas o calendário do mês selecionado
while (nMonth == dCalendar.getMonth())
{
	// Dia a ser impresso (com dois dígitos)
	dCurDay = dCalendar.getDate()
	cDate = ((dCurDay) > 9) ? dCurDay.toString() : "0"+dCurDay.toString();

	// Marca com uma borda amarela (definida no arquivo de estilos) caso o dia atual esteja no calendário, OU simplesmente imprime o dia atual
	if (dToday.getDate() == dCurDay && dCalendar.getMonth() == dToday.getMonth())
		aDays[firstDay++] = '<span class=cal_today>'+dCurDay+'</span>';
	else
		aDays[firstDay++] = dCalendar.getDate();

	// Se a data que está sendo impressa constar na variavel "data" no arquivo "arquivo.js", adiciona um link no dia identificado no calendário
	if (data.indexOf(cYear+cMonth+cDate) >= 0)
		aDays[firstDay-1] = '<a target=_top href="horario'+cYear+cMonth+cDate+'.jhtm" class=cal_link>'+aDays[firstDay-1]+'</a>';

	// Incrementa um dia no objeto Data
	dCalendar.setDate(++dCurDay);
}

// Variável com ano de 4 dígitos
cFullYear = dCalendar.getFullYear();

// Variável com link para o mês anterior
cPrevMonth = ((nMonth) > 9) ? nMonth.toString() : "0"+nMonth.toString();
cPrevLink = '<a class=cal_acao href="'+cFile+'?mes='+cPrevMonth+'">&nbsp;&laquo;&nbsp;anterior</a>';

// Variável com link para o mês seguinte
cNextMonth = ((nMonth+2) > 9) ? (nMonth+2).toString() : "0"+(nMonth+2).toString();
cNextLink = '<a class=cal_acao href="'+cFile+'?mes='+cNextMonth+'">próximo&nbsp;&raquo;&nbsp</a>';

// Contador para impressão dos meses
nCounter = 0; 

// Monta calendário
calendario =  '';
calendario += '<table cellpadding=0 cellspacing=0 border=0 width=128><tr><td bgcolor=#3299CE align=center><table width=128 cellpadding=5 cellspacing=1 border=0><tr><td bgcolor=#FFFFFF align=center><font class=preto_10b>Clique na data correspondente para saber como foram os programas já veiculados</font></td></tr></table>';
calendario += '<table width=128 height=100 border=0 cellpadding=0 cellspacing=0 bgcolor=#329CCE>';
calendario += '<tr><td bgcolor=#329CCE class=cal_mes align=center colspan=9>'+aMeses[nMonth]+' '+cFullYear+'</td></tr>';
calendario += '<tr bgcolor=#CCCCCC><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td width=16 class=cal_dia align=center>D</td><td width=16 class=cal_dia align=center>S</td><td width=16 class=cal_dia align=center>T</td><td width=16 class=cal_dia align=center>Q</td><td width=16 class=cal_dia align=center>Q</td><td width=16 class=cal_dia align=center>S</td><td width=16 class=cal_dia align=center>S</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr bgcolor=#FFFFFF><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr bgcolor=#FFFFFF><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr bgcolor=#FFFFFF><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr bgcolor=#FFFFFF><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr bgcolor=#FFFFFF><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td class=cal_dia align=center>'+aDays[nCounter++]+'</td><td bgcolor=#329CCE width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '<tr><td bgcolor=#329CCE colspan=9 width=1><img src=http://img.uol.com.br/x.gif width=1 height=1></td></tr>';
calendario += '</table></td></tr></table>';
calendario += '<img src=http://img.uol.com.br/x.gif width=1 height=4><br>';

// Variáveis para identicação da existencia de uma data do mês anterior ou do próximo
lPrev = (data.indexOf(cYear+cPrevMonth) >= 0)
lNext = (data.indexOf(cYear+cNextMonth) >= 0)

// Se alguma data do mês anterior ou próximo for localizada na variavel "data", imprime tabela com botões "próximo" e/ou "anterior"
if ( lPrev || lNext)
{
	// Se não existe um data do mês anterior, zera o link definido anteriormente
	if (!lPrev)
		cPrevLink = "";
	// Se não existe um data do mês seguinte, zera o link definido anteriormente		
	if (!lNext)
		cNextLink = "";
	// Monta tabela com botões "próximo" e/ou "anterior"
	calendario += '<table width=128 height=10 border=0 cellpadding=0 cellspacing=0 bgcolor=#329CCE><tr><td bgcolor=#329CCE align=left colspan=3>'+cPrevLink+'</td><td bgcolor=#329CCE align=right colspan=3>'+cNextLink+'</td></tr></table>';
	calendario += '<img src=http://img.uol.com.br/x.gif width=1 height=8><br>';
}

// Escreve calendário
document.write(calendario);