/**
 * @author Israel "Judas" Díaz 2007
**/

MailValidator = function(address){
	var root = this;
	var specialChars = ["á", "é", "í", "ó", "ú", "Á", "É", "Í", "Ó", "Ú", "ñ", "Ñ", " ", "<", ">", "(", ")"]
	
	this.address = address;
	this.isValid = false;
	this.error = init();
	
	
	function init(){
		//verificamos que no haya caracteres especiales dentro de la cadena que recibimos
		for(var i =0; i<address.length; i++){
			var tempChar = address.substr(i, 1)
			for(var j = 0; j<specialChars.length; j++){
				if(tempChar == specialChars[j]){
					return false, "No se admiten este tipo de caracteres en el correo electrónico";
				};
			}
		};
		
		//
		if(address == ""){
			return false, "E-mail vacío. Favor de ingresar una dirección correcta";
		} else if (address.indexOf("@", 0) == -1){
			return false, "La dirección debe contener un símbolo de '@'";
		} else if (address.indexOf(".", 0) == -1){
			return false, "La dirección debe tener un punto!";
		}
	
	
		/*-----------------------------
		    VERIFICAMOS EL DOMINIO
		------------------------------*/
		var tempIndex = address.indexOf("@", 0);
		var tempDomain = address.substr(tempIndex+1, address.length);
		var tempArray = tempDomain.split(".");
		//verificamos que tengamos un punto después del arroba (que complete el nombre del dominio)
		if(tempArray.length < 2){
			return false, "Debemos tener un punto después del '@'";
		} /*else if(tempArray.length > 2){
			return false, "No puede haber más de dos puntos después del '@'";
		};*/
		//verificamos que el número de caractéres en la región del dominio no sea menor 1
		if(tempArray[1].length < 2){
			return false, "La longitud de la región del dominio debe ser mayor a un caracter";
		};
		
		
		
		root.isValid = true;		
	}
	
	this.validate = function(){ init(); };
}