//------------------------------ 1a Instância ------------------------------//

var cNDIG_TOTAL_PROC = 13;

function validaProcPrimeira(pNumero) {
	if (!pNumero)
	{
		alert("Por favor informe um número de processo.");
		return false;
	}
	if (pNumero.match(/\D/))
	{
		alert("O número deve conter apenas apenas dígitos.");
		return false;
	}
	if (pNumero.length != cNDIG_TOTAL_PROC)
	{
		alert("O número completo deve ter 13 dígitos: 4 da comarca, 2 do ano, 6 do processo e 1 verificador.");
		return false;
	}

	var vComrCodigo = pNumero.substring(0, 4);
	var vNumProc = pNumero.substring(4, 12);
	var vDigito = pNumero.charAt(12);

    // Valida o digito verificador
    if (dv10("" + vComrCodigo + vNumProc) != vDigito)
	{
      alert("O dígito verificador do processo não confere.");
      return false;
    }

	return true;
} // validaProcPrimeira

//------------------------------ 2a Instância ------------------------------//

var cNDIG_TOTAL_PROC2 = 17;

function validaProcSegunda(pNumero) {

	if (!pNumero)
	{
		alert("Por favor informe um número de processo.");
		return false;
	}
	if (pNumero.match(/\D/))
	{
		alert("O número deve conter apenas apenas dígitos.");
		return false;
	}
	
	if (pNumero.length != cNDIG_TOTAL_PROC2)
	{
		alert("O número completo deve ter 17 dígitos: 1 para TJ, 4 da comarca, 2 do ano, 6 do processo, 1 verificador e 3 do complemento.");
		return false;
	}

	var vTipoTribunal = pNumero.charAt(0);
	var vNumProc = pNumero.substring(1, 17);
	var vDigito = pNumero.charAt(13);

    // Valida o digito verificador
    if (dvProcesso(vTipoTribunal, "" + vNumProc) != vDigito)
	{
      alert("O dígito verificador do processo não confere.");
      return false;
    }

	return true;
}