﻿// javascript de rentas patentes y regexp.
//-------------------------------------------------------------------
 //Trim functions
//// Returns string with whitespace trimmed
//-------------------------------------------------------------------
function LTrim(str) {
 for (var i=0; str.charAt(i)==" "; i++);
 return str.substring(i,str.length);
 }
function RTrim(str) {
 for (var i=str.length-1; str.charAt(i)==" "; i--);
 return str.substring(0,i+1);
 }
function Trim(str) {
 return LTrim(RTrim(str));
 }



//-------------------------------------------------------------------
// isDigit(value)
// Returns true if value is a 1-character digit
//-------------------------------------------------------------------
function isDigit(num)
{
 var string="1234567890";
 if (string.indexOf(num) != -1)
 return true;
 return false;
}


function EsLetra(car)
{
 var string="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
 if ( string.indexOf(car) != -1 )
 return true;
return false;
}

function ValidarDigitoPatente() {
    //document.frmLogin.enviar.style.visibility = "hidden";
    result = true;
    var n = new String(document.frmLogin.chapa_patente.value);
    if (n.length == 0) {
        result = false;
    } else {
        if (isDigit(n.charAt(0))) {
            if (n.length > 1 && isDigit(n.charAt(1))) {
                if (n.length > 2 && isDigit(n.charAt(2))) {
                    if (n.length == 6 &&
                        EsLetra(n.charAt(3)) &&
                        EsLetra(n.charAt(4)) && EsLetra(n.charAt(5))) {
                        var a = new String(n.charAt(0) + n.charAt(1) + n.charAt(2) + Codigo(n.charAt(3)) + Codigo(n.charAt(4)) + Codigo(n.charAt(5)));
                        document.frmLogin.chapa_patente_copia.value = n;
                        var digitos_impares = new String(a.charAt(0) * 1 + a.charAt(2) * 1 + a.charAt(4) * 1 + a.charAt(6) * 1 + a.charAt(8) * 1);
                        var digitos_pares = new String(a.charAt(1) * 1 + a.charAt(3) * 1 + a.charAt(5) * 1 + a.charAt(7) * 1);
                        if (digitos_impares.length == 2) {
                            digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                        }
                        if (digitos_pares.length == 2) {
                            digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                        }
                        if (digitos_impares.length == 2) {
                            digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                        }
                        if (digitos_pares.length == 2) {
                            digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                        }
                        var digito_verificador = new String(digitos_impares + digitos_pares);
                    } else {
                        result = false;
                    }
                } else if (n.length == 5 &&
                    EsLetra(n.charAt(2)) &&
                    EsLetra(n.charAt(3)) && EsLetra(n.charAt(4))) {
                    var a = new String("0" + n.charAt(0) + n.charAt(1) + Codigo(n.charAt(2)) + Codigo(n.charAt(3)) + Codigo(n.charAt(4)));
                    document.frmLogin.chapa_patente_copia.value = "0" + n;
                    var digitos_impares = new String(a.charAt(0) * 1 + a.charAt(2) * 1 + a.charAt(4) * 1 + a.charAt(6) * 1 + a.charAt(8) * 1);
                    var digitos_pares = new String(a.charAt(1) * 1 + a.charAt(3) * 1 + a.charAt(5) * 1 + a.charAt(7) * 1);
                    if (digitos_impares.length == 2) {
                        digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                    }
                    if (digitos_pares.length == 2) {
                        digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                    }
                    if (digitos_impares.length == 2) {
                        digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                    }
                    if (digitos_pares.length == 2) {
                        digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                    }
                    var digito_verificador = new String(digitos_impares + digitos_pares);
                } else {
                    result = false;
                }
            } else if (n.length == 4 &&
                EsLetra(n.charAt(1)) &&
                EsLetra(n.charAt(2)) && EsLetra(n.charAt(3))) {
                var a = new String("00" + n.charAt(0) + Codigo(n.charAt(1)) + Codigo(n.charAt(2)) + Codigo(n.charAt(3)));
                document.frmLogin.chapa_patente_copia.value = "00" + n;
                var digitos_impares = new String(a.charAt(0) * 1 + a.charAt(2) * 1 + a.charAt(4) * 1 + a.charAt(6) * 1 + a.charAt(8) * 1);
                var digitos_pares = new String(a.charAt(1) * 1 + a.charAt(3) * 1 + a.charAt(5) * 1 + a.charAt(7) * 1);
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                var digito_verificador = new String(digitos_impares + digitos_pares);
            } else {
                result = false;
            }
        } else if (EsLetra(n.charAt(0))) {
            if (n.length == 8 &&
                isDigit(n.charAt(1)) &&
                isDigit(n.charAt(2)) &&
                isDigit(n.charAt(3)) &&
                isDigit(n.charAt(4)) &&
                isDigit(n.charAt(5)) &&
                isDigit(n.charAt(6)) && isDigit(n.charAt(7))) {
                var a = new String(n.charAt(1) + n.charAt(2) + n.charAt(3) + n.charAt(4) + n.charAt(5) + n.charAt(6) + n.charAt(7));
                document.frmLogin.chapa_patente_copia.value = n.charAt(0) + a;
                var digitos_impares = new String(a.charAt(0) * 1 + a.charAt(2) * 1 + a.charAt(4) * 1 + a.charAt(6) * 1);
                var digitos_pares = new String(a.charAt(1) * 1 + a.charAt(3) * 1 + a.charAt(5) * 1);
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                var digito_verificador = new String(digitos_impares + digitos_pares);
            } else if (n.length == 6 &&
                EsLetra(n.charAt(1)) &&
                EsLetra(n.charAt(2)) &&
                isDigit(n.charAt(3)) &&
                isDigit(n.charAt(4)) && isDigit(n.charAt(5))) {
                var a = new String(Codigo(n.charAt(0)) + Codigo(n.charAt(1)) + Codigo(n.charAt(2)) + n.charAt(3) + n.charAt(4) + n.charAt(5));
                document.frmLogin.chapa_patente_copia.value = n;
                var digitos_impares = new String(a.charAt(0) * 1 + a.charAt(2) * 1 + a.charAt(4) * 1 + a.charAt(6) * 1 + a.charAt(8) * 1);
                var digitos_pares = new String(a.charAt(1) * 1 + a.charAt(3) * 1 + a.charAt(5) * 1 + a.charAt(7) * 1);
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                if (digitos_impares.length == 2) {
                    digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
                }
                if (digitos_pares.length == 2) {
                    digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
                }
                var digito_verificador = new String(digitos_impares + digitos_pares);
            } else {
                result = false;
            }
        } else if (n.charAt(0) == " " &&
            n.length == 8 &&
            n.charAt(1) == "0" &&
            isDigit(n.charAt(2)) &&
            isDigit(n.charAt(3)) &&
            isDigit(n.charAt(4)) &&
            isDigit(n.charAt(5)) &&
            isDigit(n.charAt(6)) && isDigit(n.charAt(7))) {
            document.frmLogin.chapa_patente_copia.value = n;
            var digitos_impares = new String(n.charAt(1) * 1 + n.charAt(3) * 1 + n.charAt(5) * 1 + n.charAt(7) * 1);
            var digitos_pares = new String(n.charAt(2) * 1 + n.charAt(4) * 1 + n.charAt(6) * 1);
            if (digitos_impares.length == 2) {
                digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
            }
            if (digitos_pares.length == 2) {
                digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
            }
            if (digitos_impares.length == 2) {
                digitos_impares = new String(digitos_impares.charAt(0) * 1 + digitos_impares.charAt(1) * 1);
            }
            if (digitos_pares.length == 2) {
                digitos_pares = new String(digitos_pares.charAt(0) * 1 + digitos_pares.charAt(1) * 1);
            }
            var digito_verificador = new String(digitos_impares + digitos_pares);
	   alert(digito_verificador);
        } else {
            result = false;
        }
    }
    if (!result) {
        alert("Chapa patente no v\\xE1lida.");
        document.frmLogin.chapa_patente.focus();
    } else {
        if (digito_verificador != document.frmLogin.digito_verificador_form.value) {
            alert(digito_verificador);
			//alert("D\\xEDgito verificador no v\\xE1lido.");
            document.frmLogin.digito_verificador_form.focus();
            result = false;
        }
    }
    document.frmLogin.enviar.style.visibility = "visible";
    return result;
}

function Codigo(letra) {
    if (letra == "a" || letra == "A") {
        return "14";
    } else if (letra == "b" || letra == "B") {
        return "01";
    } else if (letra == "c" || letra == "C") {
        return "00";
    } else if (letra == "d" || letra == "D") {
        return "16";
    } else if (letra == "e" || letra == "E") {
        return "05";
    } else if (letra == "f" || letra == "F") {
        return "20";
    } else if (letra == "g" || letra == "G") {
        return "19";
    } else if (letra == "h" || letra == "H") {
        return "09";
    } else if (letra == "i" || letra == "I") {
        return "24";
    } else if (letra == "j" || letra == "J") {
        return "07";
    } else if (letra == "k" || letra == "K") {
        return "21";
    } else if (letra == "l" || letra == "L") {
        return "08";
    } else if (letra == "m" || letra == "M") {
        return "04";
    } else if (letra == "n" || letra == "N") {
        return "13";
    } else if (letra == "o" || letra == "O") {
        return "25";
    } else if (letra == "p" || letra == "P") {
        return "22";
    } else if (letra == "q" || letra == "Q") {
        return "18";
    } else if (letra == "r" || letra == "R") {
        return "10";
    } else if (letra == "s" || letra == "S") {
        return "02";
    } else if (letra == "t" || letra == "T") {
        return "06";
    } else if (letra == "u" || letra == "U") {
        return "12";
    } else if (letra == "v" || letra == "V") {
        return "23";
    } else if (letra == "w" || letra == "W") {
        return "11";
    } else if (letra == "x" || letra == "X") {
        return "03";
    } else if (letra == "y" || letra == "Y") {
        return "15";
    } else if (letra == "z" || letra == "Z") {
        return "17";
    } else if (letra == " ") {
        return "60";
    }
}
