// JavaScript Document

	function validaForumlario()
	{
		conf = "";
		if((document.getElementById("email").value=="") || (document.getElementById("email").value.substring(0,1)==" "))
		{
			conf+="\n- O campo E-mail deve ser preenchido !";
		}else{
			email   = document.getElementById("email").value;
			apos    = email.indexOf("@");
			pontopos= email.lastIndexOf(".");	
		  if (apos<1||pontopos-apos<2) 
			{
				conf+="\n- Preencher E-mail corretamente!";
			}
		}
		if((document.getElementById("senha").value=="") || (document.getElementById("senha").value.substring(0,1)==" "))
		{
			conf+="\n- O campo Senha deve ser preenchido !";
		}else{
			if(document.getElementById("senha").value != document.getElementById("confirma").value)
			{
				conf+="\n- A confirmação de senha não confere!";
			}
		}		
		if((document.getElementById("nome").value=="") || (document.getElementById("nome").value.substring(0,1)==" "))
		{
			conf+="\n- O campo Nome deve ser preenchido !";
		}
		if((document.getElementById("cpf").value=="") || (document.getElementById("cpf").value.substring(0,1)==" "))
		{
			conf+="\n- O campo CPF deve ser preenchido !";
		}else{
			conf+= validacpf(document.getElementById("cpf").value);
		}		
		if((document.getElementById("nascimento").value=="") || (document.getElementById("nascimento").value.substring(0,1)==" "))
		{
			conf+="\n- O campo Data de nascimento deve ser preenchido !";
		}else{
		    if (!isDataValida(document.getElementById("nascimento").value)) {
		        conf+="\n- Preencher o campo Data de nascimento corretamente!";
		    } 				
		}		
		if((document.getElementById("telefone").value=="") || (document.getElementById("telefone").value.substring(0,1)==" "))
		{		
			conf+="\n- O campo Telefone deve ser preenchido !";
		}else{
			var expReg = /\(?\d{2}\)?\d{4}-\d{4}/; 
		    if (!(document.getElementById("telefone").value.match(expReg)) && (document.getElementById("telefone").value!='')) {
		        conf+="\n- Preencher o campo Telefone corretamente!";
		    } 	
		}
		if(!(document.getElementById("celular").value=="") || !(document.getElementById("celular").value.substring(0,1)==" "))
		{
			var expReg = /\(?\d{2}\)?\d{4}-\d{4}/; 
		    if (!(document.getElementById("celular").value.match(expReg)) && (document.getElementById("celular").value!='')) {
		        conf+="\n- Preencher o campo Celular corretamente!";
		    } 	
		}		
		if((document.getElementById("cep").value=="") || (document.getElementById("cep").value.substring(0,1)==" "))
		{
			conf+="\n- O campo CEP deve ser preenchido !";
		}else{
			if(
				(document.getElementById("uf").value=="") ||
				(document.getElementById("cidade").value=="Por favor, informe o CEP corretamente!") || (document.getElementById("cidade").value.substring(0,1)==" ") ||
				(document.getElementById("bairro").value=="Por favor, informe o CEP corretamente!") || (document.getElementById("bairro").value.substring(0,1)==" ") ||
				(document.getElementById("logradouro").value=="Por favor, informe o CEP corretamente!") || (document.getElementById("logradouro").value.substring(0,1)==" ")
			)
			{
				conf+="\n- O campo CEP deve ser preenchido corretamente para que os demais campos seja carregados!";
			}
		}
		if((document.getElementById("numero").value=="") || (document.getElementById("numero").value.substring(0,1)==" "))
		{
			conf+="\n- O campo Numero deve ser preenchido !";
		}		
		if (conf != "") 
		{
			alert(conf);
 			conf="";
  		    return false;
		}
		else 
		{
			return true;
		}
	}
	function validacpf(s)
	{
		var conf = "";
		var i;
		s = s.toString().replace( "-", "" );
		s = s.toString().replace( "-", "" );
		s = s.toString().replace( ".", "" );
		s = s.toString().replace( ".", "" );
		s = s.toString().replace( "/", "" );
		s = s.toString().replace( "/", "" );
		s = s.toString().replace( ":", "" );
		s = s.toString().replace( ":", "" );
		s = s.toString().replace( "(", "" );
		s = s.toString().replace( "(", "" );
		s = s.toString().replace( ")", "" );
		s = s.toString().replace( ")", "" );
		s = s.toString().replace( " ", "" );
		s = s.toString().replace( " ", "" );			
		var c = s.substr(0,9);
		var dv = s.substr(9,2);
		var d1 = 0;
		for (i = 0; i < 9; i++)
		{
			d1 += c.charAt(i)*(10-i);
		}
		if (d1 == 0)
		{
			conf += "\n- Preencher o campo CPF corretamente!";
			return conf;
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;
		if (dv.charAt(0) != d1)
		{
			conf += "\n- Preencher o campo CPF corretamente!";
			return conf;
		}
		d1 *= 2;
		for (i = 0; i < 9; i++)
		{
			d1 += c.charAt(i)*(11-i);
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;
		if (dv.charAt(1) != d1)
		{
			conf += "\n- Preencher o campo CPF corretamente!";
			return conf;
		}
		return conf;
	} 
function isDataValida(data) // Recebe a data no formato ddmmyyyy ou dd/mm/yyyy ou dd-mm-yyyy e retorna se está correta
	{
		var dia, mes, ano;
		var valida = false;
		var menorAno = 1900, maiorAno = 2100, nDiasMes; // Atribui o maior e o menor valor de ano.
		
		if(data.length == 8 || data.length == 10)
		{
			if(data.length == 10 && data.charAt(2) == '-' || data.charAt(2) == '/'){
				dia = data.substr(0,2);
				mes = data.substr(3,2);
				ano = data.substr(6,4);
			}else
			if(data.length == 8 && !isNaN(data.charAt(2))){
				dia = data.substr(0,2);
				mes = data.substr(2,2);
				ano = data.substr(4,4);
			}
			
			nDiasMes = numDiasMes(ano,mes);
		
			if(ano >= menorAno && ano <= maiorAno){
				if(mes > 0 && mes <= 12){
					if(dia > 0 && dia <= nDiasMes){
						valida = true;
					}
				}
			}
			
		}
		return valida;
	}
	function isAnoBissexto(ano)//retorna ano bissesto ou não
	{
		return ano % 400 == 0 || ano % 4 == 0 && ano % 100 != 0 ? true : false;
	}
	function numDiasMes(ano, mes)//retorna o numero de dias no mês.
	{
		var numDias = 30;
		if(mes < 8 && mes % 2 != 0 || mes >=8 && mes % 2 == 0){
			numDias = 31;
		}else
		if(mes == 2){
			numDias = isAnoBissexto(ano) ? 29 : 28;
		}	
		return numDias;
	}		