/*
	Funções Comuns
	Desenvolvedor: Juliano Nunes
*/


/*
*************************************************************************
Função para verificação da Data
Verifica quantidade de dias, se o ano é bissexto e se a data está no formato dd/mm/aaaa
Juliano Nunes
*************************************************************************
*/
function ValidacaoData(strData)
{
	if( (strData.length != 10) || (isNaN(strData.substring(0,2))) || (strData.substring(2,3) != "/") || (isNaN(strData.substring(3,5))) || (strData.substring(5,6) != "/") || (isNaN(strData.substring(6,10))) )
	{	
		MostraMensagemData();
		return false;
	}
	else
	{
		if((strData.substring(3,5) > 0) && (strData.substring(3,5) <= 12))
		{
			switch(strData.substring(3,5))
			{
				case "01":
				case "03":
				case "05":
				case "07":
				case "08":
				case "10":
				case "12":
				{
					if(strData.substring(0,2) < 1)
					{
						alert("O primeiro dia do mês é 01.");
						return false;
					}
					else if(strData.substring(0,2) > 31)
					{
						alert("O mês de " + RetornaMes(strData.substring(3,5)) + " tem 31 dias.");
						return false;
					}
					break;
				}
				default:
				{
					if(strData.substring(3,5) == "02")
					{
						if(strData.substring(6,10) % 2 == 0)
						{
							if(strData.substring(0,2) < 1)
							{
								alert("O primeiro dia do mês é 01.");
								return false;
							}
							else if(strData.substring(0,2) > 29)
							{
								alert("O ano de " + strData.substring(6,10) + " é um ano bissexto, portanto o mês de fevereiro tem 29 dias.");
								return false;
							}
						}
						else
						{
							if(strData.substring(0,2) < 1)
							{
								alert("O primeiro dia do mês é 01.");
								return false;
							}
							else if(strData.substring(0,2) > 28)
							{
								alert("O mês de " + RetornaMes(strData.substring(3,5)) + " tem 28 dias.");
								return false;
							}
						}
					}
					else
					{
						if(strData.substring(0,2) < 1)
						{
							alert("O primeiro dia do mês é 01.");
							return false;
						}
						else if(strData.substring(0,2) > 30)
						{
							alert("O mês de " + RetornaMes(strData.substring(3,5)) + " tem 30 dias.");
							return false;
						}
					}
					break;
				}
			}
			return true;
		}
		else
		{
			alert("O mês deve ser entre 01 e 12.");
			return false;
		}
	}
}
/*
*************************************************************************
*/
			
			
/*
*************************************************************************
Função que retorna o nome do Mês em português
Juliano Nunes
*************************************************************************
*/
function RetornaMes(strMes)
{
	switch(strMes)
	{
		case "01":
		{
			return "Janeiro";
			break;
		}
		case "02":
		{
			return "Fevereiro";
			break;
		}
		case "03":
		{
			return "Março";
			break;
		}
		case "04":
		{
			return "Abril";
			break;
		}
		case "05":
		{
			return "Maio";
			break;
		}
		case "06":
		{
			return "Junho";
			break;
		}
		case "07":
		{
			return "Julho";
			break;
		}
		case "08":
		{
			return "Agosto";
			break;
		}
		case "09":
		{
			return "Setembro";
			break;
		}
		case "10":
		{
			return "Outubro";
			break;
		}
		case "11":
		{
			return "Novembro";
			break;
		}
		default:
		{
			return "Dezembro";
			break;
		}
	}
}
/*
*************************************************************************
*/
			
function MostraMensagemData()
{
	alert("O formato da data deve ser dd/mm/aaaa." + String.fromCharCode(13) + String.fromCharCode(13) + "dd -> dia com 2 dígitos" + String.fromCharCode(13) + "mm -> mês com 2 dígitos" + String.fromCharCode(13) + "aaaa -> ano com 4 dígitos" + String.fromCharCode(13) + String.fromCharCode(13) + "Exemplo: " + String.fromCharCode(13) + "                      01/01/2004" + String.fromCharCode(13) + String.fromCharCode(13) + "É importante manter os zeros.");
}


/*
*************************************************************************
Função validação hora no formato hh:mm
Juliano Nunes
*************************************************************************
*/
function ValidacaoHora(strHora)
{
	if(strHora.length == 5)
	{
		if(isNaN(strHora.substring(0,2)))
		{
			MostraMensagemHora();
			return false;
		}
		else if(strHora.substring(2,3) != ":")
		{
			MostraMensagemHora();
			return false;
		}
		else if(isNaN(strHora.substring(3,5)))
		{
			MostraMensagemHora();
			return false;
		}
		else if((strHora.substring(0,2) < 00) || (strHora.substring(0,2) > 23))
		{
			alert("As horas vão de 00 a 23.");
			return false;
		}
		else if((strHora.substring(3,5) < 00) || (strHora.substring(3,5) > 59))
		{
			alert("Os minutos vão de 00 a 59.");
			return false;
		}
		return true;
	}
	else
	{
		MostraMensagemHora();
		return false;
	}
}
/*
*************************************************************************
*/


function MostraMensagemHora()
{
	alert("O formato da hora deve ser hh:mm." + String.fromCharCode(13) + String.fromCharCode(13) + "hh -> hora com 2 dígitos" + String.fromCharCode(13) + "mm -> minutos com 2 dígitos" + String.fromCharCode(13) + "Exemplo: " + String.fromCharCode(13) + "                      06:05" + String.fromCharCode(13) + String.fromCharCode(13) + "É importante manter os zeros.");
}