function verifica_user(form,v_flagvalida) {
   if(valida_user(v_flagvalida)) {
      form.submit();
      return true;
   }
}

// valida campo de email
function validaEmail_user(email) {
	var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	var matchArray = email.match(emailPat);
        if (matchArray == null) {
		alert("Formato de e-mail incorrecto.");
		return(false);
	}
	return(true);
}

// Verifica campo vazio_user
function vazio_user(campo, nome) {
	if (campo.value == "" || campo.value == "-1") {
		alert("Por favor, preencha o campo  " + nome + ".");
		return(false);
	}
	return(true);
}


function valida_user(v_flagvalida) {
   for (i=0; i<document.forms.length; i++){
      if (document.forms[i].name=="formulario"){
         var aux=document.forms[i];
         var flag_b = 0;
         var flag_c = 0;

 
       if (v_flagvalida==1) {
         if (!vazio_user(document.forms[i].email, "E-mail")){
            return false;
         }
         if (!validaEmail_user(document.forms[i].email.value)){
            return false;
         }
         if (document.forms[i].p_accao.value == 'Alterar') {
            if (!vazio_user(document.forms[i].p_pass, "Password")) {
               return false;
            }
	    if (!vazio_user(document.forms[i].p_pass2, "Re-Password")){
	       return false;
	    }
	    if (document.forms[i].p_pass.value != document.forms[i].p_pass2.value) {
	       alert("Por favor, repita correctamente a sua password.");
	       return false;
            }
         }
         if (!vazio_user(document.forms[i].nome_obrigatorio, "Primeiro nome")){
            return false;
         }
         if (!vazio_user(document.forms[i].apelido_obrigatorio, "Apelido")){
            return false;
         }
         if (!vazio_user(document.forms[i].p_data, "Data de Nascimento")){
            return false;
         }
         if (!isDate(document.forms[i].p_data.value)){
            return false;
         }
          if (!vazio_user(document.forms[i].localizacao_pais, "País")){
	             return false;
	          } 
	          if(document.forms[i].localizacao_pais.value==1) {
	             if (!vazio_user(document.forms[i].localizacao_distrito, "Distrito")){
	                return false;
	             }
	             for(b=0;b<aux.length;b++){ 
	                if(aux.elements[b].name=="localizacao_concelho"){
	                   if(aux.elements[b].value != "-1"){
	                      flag_b = 1;
	                   }
	                }
	             }
	             if (flag_b == 0) {
	                alert("Por favor, preencha o campo Concelho.");
	                return false;
	             }
	 	    if (!vazio_user(document.forms[i].localizacao_regiao, "Região")){
	 	       return false;
	 	    }
		    if (document.forms[i].morada.value.length > 240){
  			alert("O tamanho do campo morada tem de ser inferior a 240 caracteres");
			return false;
		    } 
         }
         if (!vazio_user(document.forms[i].perfil_profissional, "Tipo de Público")) {
            return false;
         }
         if (document.forms[i].newsletter_CIEJD.checked) {
		 for(c=0;c<aux.length;c++){ 
		    if(aux.elements[c].name=="p_cla_ids"){
		       if(aux.elements[c].checked == true){
			  flag_c = 1;
		       }
		    }
		 }
		 if (flag_c != 1) {

		    alert("Por favor, preencha um tema.");
		    return false;
		 }
         }
	} /* if valida=1 */
	else{ 
           if (!vazio_user(document.forms[i].email, "E-mail")){
             return false;
            }
           if (!validaEmail_user(document.forms[i].email.value)){
             return false;
           }
           if (document.forms[i].p_accao.value == 'Alterar') {
             if (!vazio_user(document.forms[i].p_pass, "Password")) {
                return false;
             }
	    if (!vazio_user(document.forms[i].p_pass2, "Re-Password")){
	       return false;
	    }
	    if (document.forms[i].p_pass.value != document.forms[i].p_pass2.value) {
	       alert("Por favor, repita correctamente a sua password.");
	       return false;
            }
	      if (document.forms[i].morada.value.length > 240){
  		 alert("O tamanho do campo morada tem de ser inferior a 240 caracteres");
	 	 return false;
	      } 
         }
	} /* fim do else */
      }
   }
   return true;
}






