function calendar(elemento,mes,ano){
	construir = "";
	hoje = new Date();
	dia = hoje.getDate();
	mes = (typeof mes=="undefined")? hoje.getMonth(): mes-1;
	ano = (typeof ano=="undefined")? hoje.getFullYear() : ano;
	
	dia_atual = hoje.getDate();
	mes_atual = hoje.getMonth() + 1;
	ano_atual = hoje.getFullYear();
	
	nomemes = ["January","February","March","April","May","June","July","August","September","October","November","December"];
	nomeBR = ["JANEIRO","FEVEREIRO","MARÇO","ABRIL","MAIO","JUNHO","JULHO","AGOSTO","SETEMBRO","OUTUBRO","NOVEMBRO","DEZEMBRO"];
	inicio = new Date("1 "+nomemes[mes]+" "+ano);
	letrasSemana = ["D","S","T","Q","Q","S","S"];
	a = 0;
	bi = bissexto(ano) ? 29 : 28;
	diasmes = [31,bi,31,30,31,30,31,31,30,31,30,31];
	construir += "<div id='popCalDiv' class='colorida7 bordaTodas' style='position:relative; width:150px; padding:3px'>";
	construir += "<div align='right'><a onclick=\"calendarHide('"+elemento+"');\">Fechar</a></div>";
	construir += "<div style=\"overflow:hidden; padding:3px\" class=\"colorida1 cor7\"><h4>"+nomeBR[mes]+" "+ano+"</h4></div>";
	construir += "<div id='calendarioTabela'><table width=\"100%\"><tr>";
	for(i=0; i<letrasSemana.length; i++){
			if(i==0) construir += "<td  class=\"colorida4 cor7\" align=\"center\"><strong>"+letrasSemana[i]+"</strong></td>";
			else construir += "<td  class=\"colorida3 cor7\" align=\"center\"><strong>"+letrasSemana[i]+"</strong></td>";
	} 
	construir += "</tr><tr>";
	function bissexto(year) {
			 if (year % 4 == 0) // regra básica
						return true // se o ano é bissexto
			/* else */ // neste caso o else não é necessario
					 return false // se o ano não é bissexto
	}
	if (inicio.getDay() == 0) increase = 0; else increase = 1;
	for(i=1; a<diasmes[mes]; i++){
			 if(i < inicio.getDay()+increase) construir += "<td align='center'></td>";
			 else {
						a++;
						if (a == dia && mes == hoje.getMonth() && ano == hoje.getFullYear()) construir += "<td class=\"colorida2\" align='center'><b><a class=\"cor4\" onclick=\"enviarData('"+ano+"-"+(mes+1)+"-"+a+"','"+elemento+"');\">"+a+"</a></b></td>";
						else construir += "<td align='center' class=\"colorida6\"><a onclick=\"enviarData('"+ano+"-"+(mes+1)+"-"+a+"','"+elemento+"');\">"+a+"</a></td>";
			 }
			 if(i % 7 == 0) construir += "</tr><tr>";
	}
	construir += "</tr></table>";
	
	mes_ant = parseInt(mes);
	mes_post = parseInt(mes+2);
	ano_ant = parseInt(ano);
	ano_post = parseInt(ano);
	
	if(mes_ant == 0){
		mes_ant = 12;
		ano_ant -= 1;
	}
	if(mes_post == 13){
		mes_post = 1;
		ano_post += 1;
	}
	
	//construir o navegador
	if(mes_atual != (mes+1) || ano_atual != ano){ construir += "<div align=\"center\" class=\"colorida3\"><a class=\"cor7\" onclick=\"calendar('"+elemento+"','"+mes_atual+"','"+ano_atual+"');\" ><strong>Voltar para o mês atual</strong></a></div>"; }
		
	construir += "<div align=\"center\" style=\"margin:7px 0px 0px 0px\">";
	construir += "	<a onclick=\"calendar('"+elemento+"',1,'"+ano+"');\" ><img src='/Template2/images/First.gif' alt=\"Início do Ano\" border=\"0\" /></a>";
	construir += "	<a onclick=\"calendar('"+elemento+"',"+mes_ant+",'"+ano_ant+"');\" ><img src='/Template2/images/Previous.gif' alt=\"M&ecirc;s Anterior\" border=\"0\" /></a>";
	construir += "	<a onclick=\"calendar('"+elemento+"',"+mes_post+",'"+ano_post+"');\"><img src='/Template2/images/Next.gif' alt=\"Pr&oacute;ximo M&ecirc;s\" border=\"0\" /></a>";
	construir += "	<a onclick=\"calendar('"+elemento+"',12,'"+ano+"');\" ><img src='/Template2/images/Last.gif' alt=\"Fim do Ano\" border=\"0\" /></a>";
	construir += "</div><div>";

	$(elemento+"Div").innerHTML = construir;
	Effect.BlindDown($(elemento+"Div"), {duration: 0.5});
	
}

function enviarData(data,elemento){
	$(elemento).value = data;
	calendarHide(elemento);
}

function calendarHide(elemento){
	$(elemento+"Div").innerHTML = "";
	Element.hide($(elemento+"Div"));
}


