/*****************************************************************************************************
'Nome........: mdc_email.js
'Descricao...: Contém função em JavaScript para validar e-mail.
'
'Contém......: ChecaEmail - Verifica se o E-mail é válido;
******************************************************************************************************/
/*
 * Nome:         ChecaEmail
 * Autor:        NaBoa Solutions - Marcela Pimenta
 * Data:         06/08/2003
 * Descrição:    Verifica se o E-mail é válido
 * Entrada:      strEmail - String de E-mail
 * Saída:        true(ok) ou false(nok)
 * Funções Uti.: VerificaString()
 */
function ChecaEmail(strEmail) {
    var strAux;

    // checando se a string não é vazia
    if ((strEmail.replace(/^\s+/,'').replace (/\s+$/,'') == "")) {
        return false;
    }

    // checando se existe pelo menos uma arroba e pelo menos algum ponto
    if ((strEmail.indexOf("@") == -1)||(strEmail.indexOf(".") == -1)) {
        return false;
    }

    // checando se a string tem pelo menos 5 caracteres
    if (strEmail.length<5) {
        return false;
    }

    // checando se existe brancos 
    if (strEmail.indexOf(" ") != -1) {
        return false;
    }

    // checando se 1ª posição, depois de ., não tem outra @ ou um ponto ou
    // espaço
    if ((strEmail.substr(strEmail.lastIndexOf(".")+1,1) == "") 
            || (strEmail.substr(strEmail.indexOf(".")+1,1) == "@")
            || (strEmail.substr(strEmail.indexOf(".")+1,1) == ".")) {
        return false;
    }

    // checando se 1ª posição, depois de @, não tem outra @ ou um ponto ou
    // espaço
    if ((strEmail.substr(strEmail.lastIndexOf("@")+1,1) == "")
            || (strEmail.substr(strEmail.indexOf("@")+1,1) == "@")
            || (strEmail.substr(strEmail.indexOf("@")+1,1) == ".")) {
        return false;
    }
    
    // checando se depois de @, tem um ponto
    if (strEmail.substr(strEmail.indexOf("@")+1).indexOf(".") == -1) {
        return false;
    }

    // procurando por mais de uma @
    strAux = strEmail.substr(strEmail.indexOf("@")+1);
    if (strAux.indexOf("@") != -1) {
        return false;
    }

    // checando se o primeiro caracter é @
    if (strEmail.substr(0, 1) == "@") {
        return false;
    }
    
    // checando se contém somente os caracteres válidos para endereço
    // eletrônico(e-mail)
    if (!VerificaString(strEmail, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@_\.\-",
            "VAL", "i")) {
        return false;
    }

    return true;
}