function checkmod(num) {
      val=0;
      for (pos=0; pos<num.length-1; ++pos) {
        val += (1 * num.charAt(pos)) * (9 - pos);
      }
      ctl = val % 11 ? (11 - val % 11) % 10 : 0;

      return ctl == (1 * num.charAt(pos));
    }

function validanif(num) {
      var erro="";
      if(num.length != 9) erro = "[Contribuinte] inválido!\n";
      if (!checkmod(num)) erro = "[Contribuinte] inválido!\n";
      return (erro);
    }

function verifica_numero(campo,nome) {
	var erroi = "";
    var re = /^\d+(\.\d+)?$/;
  	if (!re.test(campo)) erroi = "[" + nome + "] inválido! Foram detectados caracteres inválidos\n";
    return(erroi);
}

function verifica_contacto(campo,nome) {
	var erroi = "";
    var re = /^\d+(\.\d+)?$/;
  	if (!re.test(campo)) erroi = "[" + nome + "] inválido! Foram detectados caracteres inválidos\n";
    if (campo.length<8) erroi = "[" + nome + "] inválido! O " + nome + " deve ter no mínimo 8 caracteres\n";
    return(erroi);
}

//Newsletter
	function verifica_email(campo) {
        var erroi = "";
		var emailFilter=/^.+@.+\..{2,3}$/;
		if (!(emailFilter.test(campo))) erroi = "[E-Mail] inválido!\n";
        var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
		if ((campo.match(illegalChars)) && (erroi=="")) erroi = "[E-Mail] inválido!\n";
        return(erroi);
    }

function submeter_visita() {
      var erro = "";

      if (document.formulario.nome.value=="")  erro = erro + "Tem que introduzir o Nome!\n";

      if ((document.formulario.telefone.value=="") && (document.formulario.email.value=="")) erro = erro + "Tem que introduzir pelo menos um contacto!\n";

      if (document.formulario.email.value!="") erro = erro + verifica_email(document.formulario.email.value);

      if (erro!="") {
        window.alert("ERROS DETECTADOS NO FORMULÁRIO:\n\n" + erro);
      } else document.formulario.submit();
}

function submeter() {
      var erro = "";

      if (document.formulario.nome.value=="")  erro = erro + "Tem que introduzir o Nome!\n";

      if (document.formulario.mensagem.value=="")  erro = erro + "Tem que introduzir a mensagem!\n";

      if (document.formulario.email.value!="") erro = erro + verifica_email(document.formulario.email.value);

      if (erro!="") {
        window.alert("ERROS DETECTADOS NO FORMULÁRIO:\n\n" + erro);
      } else document.formulario.submit();
}

function submeter_venda() {
      var erro = "";

      if (document.formulario.nome.value=="")  erro = erro + "Tem que introduzir o Nome Completo!\n";

      if ((document.formulario.telefone.value=="") && (document.formulario.telefone.value=="")) erro = erro + "Tem que introduzir pelo menos um contacto telefónico!\n";

      if (document.formulario.email.value!="") erro = erro + verifica_email(document.formulario.email.value);

      if (erro!="") {
        window.alert("ERROS DETECTADOS NO FORMULÁRIO:\n\n" + erro);
      } else document.formulario.submit();
}

function submeter_news() {
      var erro = "";

      if (document.nl.email.value=="") erro = erro + "Tem que introduzir o email!\n";
      	else erro = erro + verifica_email(document.nl.email.value);

      if (erro!="") {
        window.alert("ERROS DETECTADOS NO FORMULÁRIO:\n\n" + erro);
      } else document.nl.submit();
}

function submeter_recuperar() {
      var erro = "";

      if (document.subrec.email_rec.value=="") erro = erro + "[E-Mail] obrigatório!\n";
      	else erro = erro + verifica_email(document.subrec.email_rec.value);

	  if (erro!="") {
        window.alert("ERROS DETECTADOS NO FORMULÁRIO:\n\n" + erro);
      } else document.subrec.submit();
	}

