function calcula_linha(barra)
{
//var barra = form.barra.value; // Codigo da Barra
linha = barra.replace(/[^0-9]/g,'');
//
if (modulo10('399903512') != 8) alert('Função "modulo10" está com erro!');
if (linha.length != 44) alert ('A linha do código de barras está incompleta!');
//
var campo1 = linha.substr(0,4)+linha.substr(19,1)+'.'+linha.substr(20,4);
var campo2 = linha.substr(24,5)+'.'+linha.substr(24+5,5);
var campo3 = linha.substr(34,5)+'.'+linha.substr(34+5,5);
var campo4 = linha.substr(4,1); // Digito verificador
var campo5 = linha.substr(5,14); // Vencimento + Valor
//
if ( modulo11_banco( linha.substr(0,4)+linha.substr(5,99) ) != campo4 )
alert('Digito verificador '+campo4+', o correto é '+modulo11_banco( linha.substr(0,4)+linha.substr(5,99) )+'\nO sistema não altera automaticamente o dígito correto na quinta casa!');
//
if (campo5 == 0) campo5 = '000';
//
linha = campo1 + modulo10(campo1)
+' '
+campo2 + modulo10(campo2)
+' '
+campo3 + modulo10(campo3)
+' '
+campo4
+' '
+campo5
;
//if (form.linha.value != form.linha2.value) alert('Linhas diferentes');
return(linha);
}