//funcao que previne enviar um formulario com um email invalido
function emailInvalido(campo){
	if (campo.value != ""){
		var reEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		if(!reEmail.test(campo.value)) {
			alert('Por favor preencha seu e-mail corretamente.');
			campo.select();
			return true;
		}
		return false;
	}
	return false;	
}

//funcao que previne enviar um formulario com campos contendo os caracteres \ ' "
function campoInvalido(campo,obrigatorio){
	if (campo.value == '' && obrigatorio){
		alert('O campo \''+campo.name+'\' deve ser preenchido!');
		campo.focus();
		return true;
	} else if (campo.value.indexOf("\\") != -1 || campo.value.indexOf("'") != -1 || campo.value.indexOf('"') != -1){
		alert('O campo \''+campo.name+'\' contém caractere(s) inválido(s)!');
		campo.select();
		return true;	
	}
	return false;
}

function limpar(campo, padrao, proc){
	//proc = 1: onfocus; proc = 2: onblur
	if (campo.value == padrao && proc == 1)
		campo.value = "";
	if (campo.value == "" && proc == 2)
		campo.value = padrao;
}

function campoIgualAPadrao(campo, padrao){
	if (campo.value == padrao){
		alert('Preencha o campo \''+campo.name+'\' corretamente!');
		campo.focus();
		campo.value = padrao;
		campo.select();
		return true;	
	}
	return false;
}

function validaBusca(f, padrao){
	if (campoInvalido(f.busca, true) || campoIgualAPadrao(f.busca,padrao))
		return false;
	return true;
}

function validaNewsletter(f, padrao){
	if (campoInvalido(f.email, true) || campoIgualAPadrao(f.email,padrao) || emailInvalido(f.email))
		return false;
	return true;
}

function validaIndicacao(f, padrao1, padrao2){
	if (campoInvalido(f.nome, true) || campoIgualAPadrao(f.nome,padrao1) || campoInvalido(f.email, true) || campoIgualAPadrao(f.email,padrao2) || emailInvalido(f.email))
		return false;
	return true;
}

function validaContato(f){
	if (campoInvalido(f.nome,true) || campoInvalido(f.email,true) || emailInvalido(f.email) || campoInvalido(f.cod,false) || campoInvalido(f.fone,false) || campoInvalido(f.cidade,true) || campoInvalido(f.mensagem,true) )
		return false;
	return true;
}
