package com.softgraf.model;

import javafx.scene.control.TextField;

// **** COM ERRO! Aceita apenas e-mails .com (.xxx), não aceita .xxx.yy) 
public class Email {

	public static boolean validar(String email) {
		email = email.trim();
		boolean isValido = false;
		boolean temEspaco = false;

		if (email.length() >= 8) { // a@bc.com
			char[] vetor = email.toCharArray();
			int posArroba = 0;
			int posPonto = 0;
			char c;

			for (int i = 0; i < vetor.length; i++) {
				c = vetor[i];
				
				switch (c) {
				case '@':
					posArroba = i; break;
				case '.':  // ultimo ponto
					posPonto = i; break;
				case ' ':
					temEspaco = true; break;
				}
			}

			// não inicia por arroba E o ponto está há 3 posições depois do arroba E
			// depois do ponto com pelo menos 3 caracteres
			if (posArroba > 0 && posPonto > posArroba + 2 && vetor.length - posPonto - 1 >= 3 && !temEspaco)
				isValido = true;
		}

		return isValido;
	}

	public static void formatar(TextField campo) {
		String email = campo.getText().trim().toLowerCase();
		if (validar(email))
			campo.setText(email);
		else
			campo.setText("");
	}
}
