﻿function noTildeRegEx(obj) {
    var lRet = "";

    lRet = obj.value;
    
    //remove acentos

    lRet = lRet.replace(/[ÁÀÂÃÄ]+/g, "A");

    lRet = lRet.replace(/[ÉÈÊË]+/g, "E");

    lRet = lRet.replace(/[ÍÌÎÏ]+/g, "I");

    lRet = lRet.replace(/[ÓÒÔÕÖ]+/g, "O");

    lRet = lRet.replace(/[ÚÙÛ]+/g, "U");

    lRet = lRet.replace(/[Ç]+/g, "C");

    lRet = lRet.replace(/[Ü]+/g, "U");

    lRet = lRet.replace(/[ÿ]+/g, "Y");

    lRet = lRet.replace(/[áàâãä]+/g, "a");

    lRet = lRet.replace(/[éèêë]+/g, "e");

    lRet = lRet.replace(/[íìîï]+/g, "i");

    lRet = lRet.replace(/[óòôõö]+/g, "o");

    lRet = lRet.replace(/[úùû]+/g, "u");

    lRet = lRet.replace(/[ç]+/g, "c");

    lRet = lRet.replace(/[ü]+/g, "u");

    lRet = lRet.replace(/[ÿ]+/g, "y");

    lRet = lRet.replace(/[^a-zA-Z\s]+/g, ""); //Remove tudo o que não é Letra

    obj.value = lRet;
}

function noTilde(objResp) {

    var varString = new String(objResp.value);

    var stringAcentos = new String('àâêôûãõáéíóúçüäëïöÀÂÊÔÛÃÕÁÉÍÓÚÇÜÄËÏÖ');

    var stringSemAcento = new String('aaeouaoaeioucuaeioAAEOUAOAEIOUCUAEIO');

    var i = new Number();

    var j = new Number();

    var cString = new String();

    var varRes = '';

    for (i = 0; i < varString.length; i++) {

        cString = varString.substring(i, i + 1);

        for (j = 0; j < stringAcentos.length; j++) {

            if (stringAcentos.substring(j, j + 1) == cString) {

                cString = stringSemAcento.substring(j, j + 1);
            }
        }
        varRes += cString;
    }
    objResp.value = varRes;
}

function noTildeRegExLN(obj) {
    var lRet = "";

    lRet = obj.value;

    //remove acentos

    lRet = lRet.replace(/[ÁÀÂÃÄ]+/g, "A");

    lRet = lRet.replace(/[ÉÈÊË]+/g, "E");

    lRet = lRet.replace(/[ÍÌÎÏ]+/g, "I");

    lRet = lRet.replace(/[ÓÒÔÕÖ]+/g, "O");

    lRet = lRet.replace(/[ÚÙÛ]+/g, "U");

    lRet = lRet.replace(/[Ç]+/g, "C");

    lRet = lRet.replace(/[Ü]+/g, "U");

    lRet = lRet.replace(/[ÿ]+/g, "Y");

    lRet = lRet.replace(/[áàâãä]+/g, "a");

    lRet = lRet.replace(/[éèêë]+/g, "e");

    lRet = lRet.replace(/[íìîï]+/g, "i");

    lRet = lRet.replace(/[óòôõö]+/g, "o");

    lRet = lRet.replace(/[úùû]+/g, "u");

    lRet = lRet.replace(/[ç]+/g, "c");

    lRet = lRet.replace(/[ü]+/g, "u");

    lRet = lRet.replace(/[ÿ]+/g, "y");

    lRet = lRet.replace(/[^a-zA-Z0-9\s]+/g, ""); //Remove tudo o que não é Letra e Número

    obj.value = lRet;
}


$(document).ready(function() {

    $('.semCaracteresEspeciais').keyup(function() {

        noTildeRegEx(this);

        this.value = this.value.replace(/\~/gi, '').replace(/\´/gi, '').replace(/\`/gi, '').replace(/\^/gi, '').replace(/\¨/gi, '');

    });

    $('.semCaracteresEspeciaisPermiteNumeros').keyup(function() {

        noTildeRegExLN(this);

        this.value = this.value.replace(/\~/gi, '').replace(/\´/gi, '').replace(/\`/gi, '').replace(/\^/gi, '').replace(/\¨/gi, '');

    });

    $('.semAcento').keyup(function() {

        noTilde(this);

        this.value = this.value.replace(/\~/gi, '').replace(/\´/gi, '').replace(/\`/gi, '').replace(/\^/gi, '').replace(/\¨/gi, '');

    });

    $('.semCaracteresEspeciais').blur(function() {

        noTildeRegEx(this);

        this.value = this.value.replace(/\~/gi, '').replace(/\´/gi, '').replace(/\`/gi, '').replace(/\^/gi, '').replace(/\¨/gi, '');

    });

    $('.semAcento').blur(function() {

        noTilde(this);

        this.value = this.value.replace(/\~/gi, '').replace(/\´/gi, '').replace(/\`/gi, '').replace(/\^/gi, '').replace(/\¨/gi, '');

    });
    
});
