// Written by Joseph Carter
// Vulcan Microsystems
function validate_email(f){
var input_str= f;
var input_len1=input_str.length;
var iserror=0;

    input_len1=input_str.length;

    if (input_len1<=5) {
        alert("Debe colocar una dirección E-Mail válida");
        iserror=1;
    }

    var lastdot=-1;
    var lastat=-1;
    var numberat=0
    for (var j = 0; j < input_len1; j++) {
         var ch2 = input_str.substring(j, j + 1);
         if (((ch2 < "a") ||  (ch2 > "z")) && ((ch2 < "A") || (ch2 > "Z")) && ((ch2 < "0") ||  (ch2 > "9")) && (ch2 != "@" ) && (ch2 != ".") && (ch2 != "_") && (ch2 != "-")){
             alert("Los caracteres válidos estan entre A-Z, a-z, 0-9, -, _, . y @");
             iserror=1;
         }
         if (ch2==".") {
             if ( j == lastdot + 1) {
                 alert("Por favor colocar una dirección de correo válida!\nNo puede colocar 2 puntos juntos\n'..'.");
                 iserror=1;
             }
             lastdot=j;
         }
         if (ch2=="@") {
             lastat=j;
             numberat=numberat+1
         }
         if (ch2==" ") {
             alert("Por favor colocar una dirección de correo válida!\nNo puede colocar espacios dentro de la dirección.");
             iserror=1;
         }
    }
    if (lastat == -1) {
         alert("Por favor colocar una dirección de correo válida!\nFalta colocar '@'.");
         iserror=1;
    }
    if (lastat == 0) {
         alert("Por favor colocar una dirección de correo válida!\nFalta colocar el login antes de '@'.");
         iserror=1;
    }
    if (numberat > 1) {
         alert("Por favor colocar una dirección de correo válida!\nNo puede colocar 2 '@'.");
         iserror=1;
    }
    if ((lastdot <= lastat) || (lastdot > input_len1 - 3 ) || (input_len1 - lastdot > 4)) {
         alert("Por favor colocar una dirección de correo válida!\nNo tiene un nombre de dominio apropiado\nUtilice .com, .org, .net, .cc, etc.");
         iserror=1;
    }
    if (lastdot == lastat + 1) {
         alert("Por favor colocar una dirección de correo válida!\nNo es una dirección apropiada\nUtilice login@organizacion.dominio");
         iserror=1;
    }
    if (iserror==1) {
         document.forms["registrationForm"].User_email.focus();
		 document.forms["registrationForm"].User_email.select();
         return false;
    }

    return true;
}
