function validaEmail(email){
	erromail = 0;
	if (email.value.length > 0) {
		//var DomConhecidos=/^(pt|com|net|org|edu|gov|biz|info|tv|name|es|br|uk|fr|gr|it)$/;
		var FormatoEmail=/^(.+)@(.+)$/;
		var CharsEspeciais="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var CharsValidos="\[^\\s" + CharsEspeciais + "\]";
		var oUser="(\"[^\"]*\")";
		var atom=CharsValidos + '+';
		var sPalavra="(" + atom + "|" + oUser + ")";
		var oUser=new RegExp("^" + sPalavra + "(\\." + sPalavra + ")*$");
		var FormatoDominio=new RegExp("^" + atom + "(\\." + atom +")*$");
		var oArrayOcorrencias=email.value.match(FormatoEmail);
		
		if (oArrayOcorrencias==null) {erromail = 1}
		else{
			var user=oArrayOcorrencias[1];
			var dominio=oArrayOcorrencias[2];
			if (user.length && dominio.length){
				for (i=0; i<user.length; i++) {if (user.charCodeAt(i)>126) {erromail = 1}}
				for (i=0; i<dominio.length; i++) {if (dominio.charCodeAt(i)>126) {erromail = 1}}
				if (user.match(oUser)==null) {erromail = 1}

				var atomPat=new RegExp("^" + atom + "$");
				var domArr=dominio.split(".");
				var len=domArr.length;
				for (i=0;i<len;i++) {if (domArr[i].search(atomPat)==-1) {erromail = 1}}
				if (len < 2) {erromail = 1}
			} else{erromail = 1}
		}
		
		if (erromail==1){
			alert('Deve introduzir um email válido, no formato utilizador@subdominio.dominio');
            email.focus();
            return false;
		}
		else return true;
	}
	else return true;
}
