//CALENDÁRIO
    var esperaMontagem;

	function ajaxFunction() { //CRIA O OBJETO XMLHttpRequest (AJAX)
		try	{
			// Firefox, Opera 8.0+, Safari
			xmlHttp=new XMLHttpRequest();
		} catch (e) {
			// Internet Explorer
			try {
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e)	{
					alert("Seu browser não suporta AJAX, logo, o calendário de "
							+"eventos não estará disponível.");
				return false;
				}
			}
		}
	}

	function montarCalendario() {
		var url = "geraCalendario.asp";
		var params = "data=1/"+document.getElementById("formCal").calMes.value
					+ "/" + document.getElementById("formCal").calAno.value;

		xmlHttp.open("POST", url, true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 1) {
				document.getElementById("corpoCalendario").innerHTML='<div align="center" style="verticalAlign=middle;"><br /><br /><br />Aguarde...</div>';
			}
			if(xmlHttp.readyState == 4) {
				document.getElementById("corpoCalendario").innerHTML=(unescape(xmlHttp.responseText));
			}
		}		
		xmlHttp.send(params);
		esperaMontagem = setTimeout('acaoRedimensionar()', 100);
	}
	
	function acaoRedimensionar() {
		if (document.getElementById('montouCalendario')!=null) {
			redimensionarCalendario();
		} else {
			esperaMontagem = setTimeout('acaoRedimensionar()', 100);
		}
	}
	
	function rMes(temp_mes) {
		temp_mes=parseInt(temp_mes);
		switch (temp_mes) {
			case 1:	return "janeiro"; break; case 2:	return "fevereiro"; break;
			case 3:	return "março"; break; case 4:	return "abril"; break;
			case 5: return "maio"; break; case 6:	return "junho"; break;
			case 7: return "julho";	break; case 8: return "agosto"; break;
			case 9: return "setembro"; break; case 10: return "outubro"; break;
			case 11: return "novembro"; break; case 12: return "dezembro"; break;
			default: alert("Mês incorreto.");
			}
	}

	function avancarMes() {
		if (document.getElementById("formCal").calMes.value==12) {	
			document.getElementById("formCal").calMes.value=1;
 			document.getElementById("formCal").calAno.value=
				parseInt(document.getElementById("formCal").calAno.value)+1;
		} else {
			document.getElementById("formCal").calMes.value=
				parseInt(document.getElementById("formCal").calMes.value)+1;			
		}
		montarCalendario();
		document.getElementById("infoMes").innerHTML=
			rMes(document.getElementById("formCal").calMes.value)+"/"
			+document.getElementById("formCal").calAno.value;
		redimensionarCalendario();
	}

	function voltarMes() {
		if (document.getElementById("formCal").calMes.value==1) {
			document.getElementById("formCal").calMes.value=12;
			document.getElementById("formCal").calAno.value=
				parseInt(document.getElementById("formCal").calAno.value)-1;
		} else {
			document.getElementById("formCal").calMes.value=
				parseInt(document.getElementById("formCal").calMes.value)-1;
		}
		montarCalendario();
		document.getElementById("infoMes").innerHTML=
			rMes(document.getElementById("formCal").calMes.value)+"/"
			+document.getElementById("formCal").calAno.value;
		redimensionarCalendario();
	}

	function qtdeDiasNoMes(iMonth, iYear) {
		var dPrevDate = new Date(iYear, iMonth, 0);
		return dPrevDate.getDate();
	}

	function redimensionarCalendario() {
		var tempData = new Date();
		tempData.setDate(1);
		tempData.setMonth((document.getElementById("formCal").calMes.value)-1);
		tempData.setYear((document.getElementById("formCal").calAno.value));

		var qtdeDias = qtdeDiasNoMes((tempData.getMonth()+1), tempData.getYear());
		var contador = 1;
		var qtdeSemanas = 0;
		var comecaNoDomingo = false;
		for (contador;contador<=qtdeDias;contador++) {
			tempData.setDate(contador);
			if ((contador==1) && (tempData.getDay()==0)) {
				comecaNoDomingo=true;
			}

			if (tempData.getDay()==0) {
				qtdeSemanas++;
			}
		}
		
		if (comecaNoDomingo) {
			if (qtdeSemanas==6) {
				//alert('aumentar calendario');
				document.getElementById('corpoCalendario').style.height='110px';
			} else {
				document.getElementById('corpoCalendario').style.height='94px';
			}
		} else {
			if (qtdeSemanas==5) {
				//alert('aumentar calendario');
				document.getElementById('corpoCalendario').style.height='110px';
			} else {
				document.getElementById('corpoCalendario').style.height='94px';
			}
			
			document.getElementById('corpoCalendario').style.textalign='center';
		}
	}