var dataSelecionada;
var dataInicial;

var dataDiv;

var NomeMeses = [
		"Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho",
		"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];

var NomeSemanas = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "S&aacute;b"];

function showCalendario(id) {
	dataDiv = document.getElementById(id);
	
	dataSelecionada = new Date();
	dataInicial = new Date(dataSelecionada);
	dataSelecionada.setDate(1);
	
	atualiza();
}

function setDay(day) {
}

function prevAno() {
	dataSelecionada.setFullYear(dataSelecionada.getFullYear() - 1);
	atualiza();
}

function nextAno() {
	dataSelecionada.setFullYear(dataSelecionada.getFullYear() + 1);
	atualiza();
}

function prevMes() {
	if (dataSelecionada.getMonth() == 0) // Janeiro
		dataSelecionada.setMonth(11);
	else
		dataSelecionada.setMonth(dataSelecionada.getMonth() - 1);
	atualiza();
}

function nextMes() {
	if (dataSelecionada.getMonth() == 11) // Dezembro
		dataSelecionada.setMonth(0);
	else
		dataSelecionada.setMonth(dataSelecionada.getMonth() + 1);
	atualiza();
}

function atualiza() {
	var result =
		'<table width="100%">' +
			'<tr>' +
				'<td colspan="7">' +
					'<table width="100%" class="mesAno">' +
						'<tr>' +
							'<td><a href="javascript:prevAno()"><img src="images/calendario/ano-prev.png" border="0" title="Ano Anterior"></a></td>' +
							'<td><a href="javascript:prevMes()"><img src="images/calendario/mes-prev.png" border="0" title="M&ecirc;s Anteriror"></a></td>' +
							'<td align="center" width="100%">' + NomeMeses[dataSelecionada.getMonth()] + ' ' + dataSelecionada.getFullYear() + '</td>' +
							'<td><a href="javascript:nextMes()"><img src="images/calendario/mes-next.png" border="0" title="Pr&oacute;ximo M&ecirc;s"></a></td>' +
							'<td><a href="javascript:nextAno()"><img src="images/calendario/ano-next.png" border="0" title="Pr&oacute;ximo Ano"></a></td>' +
						'</tr>' +
					'</table>' +
				'</td>' +
			'</tr>';
	
	// Imprime Nome das Semanas
	result += '<tr>';
	for (var i = 0; i < 7; i++)
		result += '<td align="center" width="' + 100/7 + '%" class="semana">' + NomeSemanas[i%7] + '</td>';
	result += '</tr>';
	
	// Imprime Calendario
	var primeiroDiaSemana = new Date(dataSelecionada);
	primeiroDiaSemana.setDate(1);
	primeiroDiaSemana.setDate(1 - (7 + primeiroDiaSemana.getDay()) % 7);
	
	var dataAux = new Date(primeiroDiaSemana);
	
	while (dataAux.getMonth() == dataSelecionada.getMonth() || dataAux.getMonth() == primeiroDiaSemana.getMonth()) {
		result += '<tr>';
		
		for (var i = 0; i < 7; i++) {
			if (dataAux.getMonth() == dataSelecionada.getMonth()) {
				result += 
					'<td align="center" bgcolor="' + (dataAux.getDate() == dataInicial.getDate() && dataAux.getMonth() == dataInicial.getMonth() && dataAux.getFullYear() == dataInicial.getFullYear() ? "#BABABA" : "#FFFFFF") + '">' +
						//'<a href="javascript:setDay(' + dataAux.getDate() + ');" class="dia">' +
						'<a class="dia">' +
							dataAux.getDate() +
						'</a>' +
					'</td>';
			} else {
				result += '<td></td>';
			}
			
			dataAux.setDate(dataAux.getDate() + 1);
		}
		
		result += '</tr>';
	}
	
	result += '</table>';
	
	dataDiv.innerHTML = result;
}