/*
**********************************************************************
*        Sistema: PXU                                                *
*       Programa: PXUSVCHM.JS                                        *
*      Descricao: Calcular o digito de controle de um numero de      *
*                 conta corrente                                     *
*       Analista: Almir Lindemann                                    *
*    Programador: Almir Lindemann                                    *
*           Data: Outubro/2000                                       *
*      Alteracao: Marco/2003 - Capaverde                             *
*                 Carga das dll é feita dinamicamente                *
*  Ult.alteracao: Julho/2003 - Charles Diego da Silveira             *
*                 Conversão p/ JavaScript                            *
**********************************************************************
*/
var _pxusvchm = true;

try {_pxuscdhm;} 
catch (erro) {document.write('<script src=/Bergs/Link/pxuscdhm.js></script>');}

function pxusvchm(numeroc09)
{
	//*** DECLARAÇÃO DA ESTRUTURA DE PARAMETROS ***
	var xuvccodretornoc02='';
	var xuvcnumeroc09='';
	var xuvcdigitoc01='';
	
	function pxusvchm()
	{
		var ind_i;
		var tamanho_i,rcode_i;
		var dv_c02,aux_c02;
		var v_xuscdhm = new pxuscdhm();
		var a_numero = new Array(9)
	
		//*** VALIDA NUMERO ***
		tamanho_i = this.xuvcnumeroc09.length;
		if (tamanho_i < 9 || tamanho_i > 9) {
			this.xuvccodretornoc02='01';
			return; }
		for (ind_i = 0; ind_i < tamanho_i; ind_i++)
		{
			if (this.xuvcnumeroc09.substring(ind_i,ind_i+1) < '0' || this.xuvcnumeroc09.substring(ind_i,ind_i+1) > '9') {
				this.xuvccodretornoc02='01';
				return; }
			else {
				a_numero[ind_i] = this.xuvcnumeroc09.substring(ind_i,ind_i+1);
			}
		}
		aux_c02 = a_numero[2];
		a_numero[2] = a_numero[1];
		a_numero[1] = a_numero[0];
		a_numero[0] = aux_c02;
		this.xuvcnumeroc09='';
		for (ind_i = 0; ind_i < tamanho_i; ind_i++)
		{
			this.xuvcnumeroc09 += a_numero[ind_i];
		}		
		
		v_xuscdhm.xucdnumeroc32 = this.xuvcnumeroc09;
		v_xuscdhm.pxuscdhm();
		if (v_xuscdhm.xucdcodretornoc02 == '00'){
			this.xuvcdigitoc01 = v_xuscdhm.xucddigitoc01; }
		else if(v_xuscdhm.xucdcodretornoc02 == '03') {
			//*** NÃO POSSUI COD RETORNO PARA MODULO 11 ***
			this.xuvcdigitoc01 = '6'; }
		else {
			this.xuvcdigitoc01 = ' ';
			this.xuvccodretornoc02='01';
			return;	}
		
		this.xuvccodretornoc02='00';
	}
	//*** DECLARAÇÃO DO EVENTO DA PXU ***
    this.xuvcnumeroc09=numeroc09;
    
    this.pxusvchm=pxusvchm;
}