function validarCadastroUsuario(form) {
	
	var resultado = "";
	
	resultado = validaCamposObrigatorios(form);
	if (resultado == false) return false;
	
	resultado = validaEmail(form.email.value);
	if (resultado == false) return false;
	
	resultado = validaSenha(form.senha.value, form.confirmar_senha.value);
	if (resultado == false) return false;
	
	resultado = validaCep(form.cep.value);
	if (resultado == false) return false;
	
	resultado = validaTelefone(form.ddd.value, form.telefone.value);
	if (resultado == false) return false;
	
	resultado = validaCpfCnpj(form.cpfcnpj.value);
	if (resultado == false) return false;

	form.submit();
}

function validarContato(form) {
	
	var resultado = "";
	
	resultado = validaCamposObrigatorios(form);
	if (resultado == false) return false;
	
	resultado = validaEmail(form.email.value);
	if (resultado == false) return false;
	
	resultado = validaCep(form.cep.value);
	if (resultado == false) return false;
	
	resultado = validaTelefone(form.ddd.value, form.telefone.value);
	if (resultado == false) return false;

	form.submit();
}

function validarCadastroVisita(form) {
	
	var resultado = "";
	
	resultado = validaCamposObrigatorios(form);
	if (resultado == false) return false;
	
	resultado = validaEmail(form.email.value);
	if (resultado == false) return false;
	
	resultado = validaCep(form.cep.value);
	if (resultado == false) return false;
	
	resultado = validaTelefone(form.ddd.value, form.telefone.value);
	if (resultado == false) return false;

	form.submit();
}

function validarFormContato(form) {
	
	var resultado = "";
	
	resultado = validaCamposObrigatorios(form);
	if (resultado == false) return false;
	
	resultado = validaEmail(form.email.value);
	if (resultado == false) return false;

	resultado = validaCep(form.cep.value);
	if (resultado == false) return false;
	
	resultado = validaTelefone(form.ddd.value, form.telefone.value);
	if (resultado == false) return false;

	form.submit();
}

function validarFormPerfil(form) {
	
	var resultado = "";
	
	resultado = validaCamposObrigatorios(form);
	if (resultado == false) return false;
	
	resultado = validaEmail(form.email.value);
	if (resultado == false) return false;
	
	resultado = validaCep(form.cep.value);
	if (resultado == false) return false;
	
	resultado = validaTelefone(form.ddd.value, form.telefone.value);
	if (resultado == false) return false;
	
	resultado = validaCpfCnpj(form.cpfcnpj.value);
	if (resultado == false) return false;

	form.submit();
}



// Funções básicas de formulários

function validaCamposObrigatorios(form) {
	
	var msg =''; 
		for (var i = 0; i < form.elements.length; i++) {
			 var campo = form.elements[i];
	
	  	 	if(campo.title.charAt(campo.title.length-1) == '*') {
						  if (campo.value == '') {
								msg += campo.title + ' não preenchido!\n';               
						 }			
			}
		 }
			 
	if (msg != '') {
	  	alert(msg);						
		return false;
	} 			
}


function validaSenha(senha, confirmar_senha) {

	if (senha.length < 6) {
		alert('Sua senha deve ter no mínimo 6 caracteres');
		return false;
	}					
		
    if (senha != confirmar_senha) {				
	   	alert('Senha não confirmada');  
		return false;	
	}	
}

function validaCep(cep) {
	
	var reDigits = /^\d+$/;
		
	if (!reDigits.test(cep)) {
		alert("O CEP deve conter apenas números.");
		return false;
	} 
		
	if (cep.length < 8) {
		alert("O CEP deve conter 8 dígitos");
		return false;
	}	
}

function validaTelefone(ddd, telefone){
	
	var reDigits = /^\d+$/;
	
	if (!reDigits.test(ddd)) {
			alert("O DDD deve conter somente números");
			return false;
	} 
	
	if (ddd.length < 2) {
			alert("O DDD deve conter 2 dígitos");
			return false;
	} 

	if (!reDigits.test(telefone)) {
			alert("O telefone deve conter somente números");
			return false;
	} 	
}

function validaEmail(email) {
	
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(email))) { 
		alert("Por favor, digite um e-mail corretamente");
		return false;
	}
	
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (email.match(illegalChars)) {
	    alert("O e-mail contém caracteres ilegais");
	    return false;
	}
}

// Validar CPF e CNPJ  nsubmit="return doSubmit(event, this)">

function validaCpfCnpj(cpfcnpj) {
	
	cpfcnpj = limpaString(cpfcnpj);	
	
	if(cpfcnpj.length <= 11) {	
		cpf = cpfcnpj;
		valor = true;
		erro = new String;
		if (cpf.length < 11) erro += "Erro: São necessários 11 digitos para verificacao do CPF! \n\n";
				
		var nonNumbers = /\D/;
		if (nonNumbers.test(cpf)) erro += "Erro: A verificacao de CPF suporta apenas numeros! \n\n";	
		if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
			erro += "Erro: Número de CPF incorreto!"
		}
		var a = [];
		var b = new Number;
		var c = 11;
		for (i=0; i<11; i++){
			a[i] = cpf.charAt(i);
			if (i < 9) b += (a[i] *  --c);
		}
		if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
		b = 0;
		c = 11;
		for (y=0; y<10; y++) b += (a[y] *  c--); 
		if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
		if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
			erro +="Erro: Digito verificador com problema!";
		}
		if (erro.length > 0){
			alert(erro);
			return false;
		}
		return true;
	} 
	else {
		CNPJ = cpfcnpj;
		erro = new String;
		if (CNPJ.length < 14) erro += "Erro: É necessário preencher corretamente o número do CNPJ! \n\n";
		if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
			if (erro.length != 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
		}
		//substituir os caracteres que nao sao numeros
		if(document.layers && parseInt(navigator.appVersion) == 4){
			x = CNPJ.substring(0,2);
			x += CNPJ.substring(3,6);
			x += CNPJ.substring(7,10);
			x += CNPJ.substring(11,15);
			x += CNPJ.substring(16,18);
			CNPJ = x;	
		} else {
			CNPJ = CNPJ.replace(".","");
			CNPJ = CNPJ.replace(".","");
			CNPJ = CNPJ.replace("-","");
			CNPJ = CNPJ.replace("/","");
		}
		
		var nonNumbers = /\D/;
		if (nonNumbers.test(CNPJ)) erro += "Erro: A verificacao de CNPJ suporta apenas numeros! \n\n";	
		var a = [];
		var b = new Number;
		var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
		for (i=0; i<12; i++){
			a[i] = CNPJ.charAt(i);
			b += a[i] * c[i+1];
		}
		if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
		b = 0;
		for (y=0; y<13; y++) {
			b += (a[y] * c[y]); 
		}
		if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
		if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			erro +="Digito verificador com problema!";
		}
		if (erro.length > 0){
			alert(erro);
			return false;
		} 
		
		return true;	
	} 
}

function limpaString(S){

 var Digitos = "0123456789";
 var temp = "";
 var digito = "";

 for (var i=0; i<S.length; i++) {
  digito = S.charAt(i);
  if (Digitos.indexOf(digito)>=0) {
   temp=temp+digito }
 } 

 return temp
}

function confirmarDeletarNoticia() {
var resposta = confirm("Tem certeza que deseja deletar essa notícia?");
if (resposta)
	return true ;
else
	return false ;
}

function confirmarDeletarMensagem() {
var resposta = confirm("Tem certeza que deseja deletar essa mensagen?");
if (resposta)
	return true ;
else
	return false ;
}
