function validaFormulario(formulario) {
   if (formulario.fornecedor.value == "") {
	   alert("Fornecedor inválido");
		formulario.fornecedor.focus();
		return false;
	}
	if (formulario.associado.value == "") {
	   alert("Associado inválido");
		formulario.tf_numero.focus();
		return false;
	}
	if ((formulario.vrCompra.value == "") || (formulario.vrCompra.length < 3)) 	{
	   alert("Valor da autorização inválido");
		formulario.vrCompra.focus();
		return false;
	}
	if (formulario.qtParcelas.value == "") {
	   alert("Quantidade de parcelas inválida");
		formulario.qtParcelas.focus();
		return false;
	}
	if (formulario.dataVenc.value == "") {
      alert("Data de vencimento inválida");
		formulario.dataVenc.focus();
		return false;
	}
	if (formulario.senha.value == "") {
      alert("Senha inválida");
		formulario.senha.focus();
		return false;
	}
  
  if (validarParcelas()) {
     return true;
  }
  else {
     formulario.qtParcelas.focus();
     return false;
  }

}

function validarParcelas() {
  var parcelas;
  var vrTotalParcelas;
  var vrParcela = new Array(MAX_PARCELAS);

  //Lê os valores do formulário.
  var qtParcelas = eval(document.frmAutorizacao.qtParcelas.value);
  var vrCompra = eval((document.frmAutorizacao.vrCompra.value) * 100);
  vrParcela[0] = eval((document.frmAutorizacao.vrParcela1.value) * 100);
  vrParcela[1] = eval((document.frmAutorizacao.vrParcela2.value) * 100);
  vrParcela[2] = eval((document.frmAutorizacao.vrParcela3.value) * 100);
  vrParcela[3] = eval((document.frmAutorizacao.vrParcela4.value) * 100);
  vrParcela[4] = eval((document.frmAutorizacao.vrParcela5.value) * 100);
  vrParcela[5] = eval((document.frmAutorizacao.vrParcela6.value) * 100);

  //Determina a quantidade de parcelas pelos valores das parcelas informadas.
  parcelas = 0;
  vrTotalParcelas = 0;
  for (i=0; i < MAX_PARCELAS; i++) {
     if (vrParcela[i] != 0) {
       vrTotalParcelas = vrTotalParcelas + vrParcela[i];
       parcelas++;
     }
  }

  if ((vrTotalParcelas == vrCompra) && (qtParcelas == parcelas)) {
    return true;
  }
  else {
    formulario.qtParcelas.focus();
    return false;
  }
}

// JavaScript Document
function validaCampo(campo)
{
   if (campo.value == "") {
	   alert("O campo não pode ser vazio");
      campo.focus();
		return false;
	}
  else {
    return true;
  }

}

//Valida campo moeda com duas decimais.
function validaValor(campo) {
  strAux = campo.value;
  tam = strAux.length;

  if ((strAux == "") || (tam < 3)) {
    alert("Valor invalido! Utilize a vírgula ou ponto e centavos.");
    campo.focus();
		return false;
	}
  else {
    //Verifica se tem mais de um ponto ou vírgula.
    qtdePonto = 0;
    posPonto = -1;
    for (j=0; j < tam; j++) {
       if (strAux.charAt(j) == "." || strAux.charAt(j) == ",") {
          qtdePonto++;
          posPonto = j;   //Salva a posição do ponto
       }
    }
    //Se não encontrou ponto ou não tiver duas decimais é erro.
    if ((qtdePonto != 1) || (posPonto != (tam - 3))) {
      alert("Valor inválido ou sem separador de centavos!");
      campo.focus();
      return false;
    }
    else {
      return true;
    }
  }
}

function formata(campo, mask, evt) {

 if(document.all) { // Internet Explorer
    key = evt.keyCode;
 }
 else{ // Nestcape
    key = evt.which;
 }

 if ((key == 8) || (key == 0) || (key == 13)) {
  return true;
 }

 string = campo.value;
 i = string.length;
 qtdePonto = 0;
 for (j=0; j<1; j++) {
    if (string.charAt(j) == "." || string.charAt(j) == ",")
       qtdePonto++;
 }

 if (i < mask.length) {
    if (mask.charAt(i) == '?') {
       if (key > 47 && key < 58)  {
          return true;
       }
    else
      if ((string.charAt(i) == '.' || string.charAt(i) == ',') && qtdePonto == 1)
         return true;
      else
         return false;
    }
    else {
      if (mask.charAt(i) == '!') {
         return true;
      }
      for (c = i; c < mask.length; c++) {
          if (mask.charAt(c) != '?' && mask.charAt(c) != '!') {
             campo.value = campo.value + mask.charAt(c);  //atribui ponto ao valor ao campo.
          }
          else {
             if (mask.charAt(c) == '!'){
                return true;
             }
             else {
               return (key > 47 && key < 58);
             }
          }
      }
    }
 } else return false;
}

function Numero(e)
{
	navegador = /msie/i.test(navigator.userAgent);
	var tecla;
if (navegador){
		tecla = event.keyCode;
   }
	else{
		tecla = e.which;
  }

	if(tecla > 47 && tecla < 58) // numeros de 0 a 9
		return true;
	else
		{
			if (tecla != 8) // backspace
				return false;
			else
				return true;
		}
	}

function calculaParcelas(){
   var MAX_PARCELAS = 8;
   var parcela = 0;
   var vrTotalParcelas;
   var mesVenc = 0;
   var anoVenc = 0;

   //Campos para apresentar dados das parcelas
   var mesVencParcela = new Array(MAX_PARCELAS);
   var vrParcela = new Array(MAX_PARCELAS);

   //Lê os valores do formulário.
   var qtParcelas = eval(document.frmAutorizacao.qtParcelas.value);
   var vrCompra = eval((document.frmAutorizacao.vrCompra.value) * 100);
   var dataVencto = document.frmAutorizacao.dataVenc.value;
   mesVenc = eval(dataVencto.substring(0, 2));
   anoVenc = eval(dataVencto.substring(3, 7));

   if (qtParcelas > MAX_PARCELAS) {
      qtParcelas = MAX_PARCELAS;
   }
   else {
      if (qtParcelas == 0) {
         qtParcelas = 1;
      }
   }

   vrAux  = parseInt(vrCompra / qtParcelas);
   vrParc = vrAux;
   vrUltimaParc = vrParc + vrCompra - (vrParc * qtParcelas);
   vrTotalParcelas = 0;
   
   if (vrCompra > 0) {
      for (parcela=0; parcela < MAX_PARCELAS; parcela++) {
          mesVencParcela[parcela] = mesVenc + "/" + anoVenc;

          //Ajusta o valor da última parcela.
          parcelaAux = parcela + 1;
          if ((parcelaAux) == qtParcelas) {
             vrParc = vrUltimaParc;
          }

          vrAux = vrParc / 100;
          vrParcela[parcela] = vrAux.toFixed(2);

          //Não preencher parcelas não informadas.
          if (parcela >= qtParcelas) {
             mesVencParcela[parcela] = "";
             vrParcela[parcela] = "";
             vrParc = 0;
             vrAux = 0;
          }

          //Preenche os dados das parcelas
          if (parcela == 0) {
             document.frmAutorizacao.dtParcela1.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela1.value = vrParcela[parcela];
          }
          if (parcela == 1) {
             document.frmAutorizacao.dtParcela2.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela2.value = vrParcela[parcela];

          }
          if (parcela == 2) {
             document.frmAutorizacao.dtParcela3.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela3.value = vrParcela[parcela];
          }
          if (parcela == 3) {
             document.frmAutorizacao.dtParcela4.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela4.value = vrParcela[parcela];
          }
          if (parcela == 4) {
             document.frmAutorizacao.dtParcela5.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela5.value = vrParcela[parcela];
          }
          if (parcela == 5) {
             document.frmAutorizacao.dtParcela6.value = mesVencParcela[parcela];
             document.frmAutorizacao.vrParcela6.value = vrParcela[parcela];
          }

          //Acumula o valor da parcela.
          vrTotalParcelas = vrTotalParcelas + vrParc;

          mesVenc++;
          if (mesVenc > 12) {
             mesVenc = 1;
             anoVenc++;
          }
      }
   }
}

function formataNumero(numero, inteiro, decimal) {
      var numStr = new String("000000000000000000" + numero);
      var tam = numStr.length();
      var fim = tam - decimal; //Fim dos digitos inteiros e inicio dos decimais
      var ini = fim - inteiro; //Inicio dos digitos inteiros

      var s = new String();
      s = numStr.substring(ini, fim); //Lê dígitos inteiros.
      if (decimal > 0) {
        return (s + "." + numStr.substring(fim));  //Lê dígitos decimais.
      }
      else {
        return s;
      }
}

function valorTecla(evt)
{
 if(document.all) { // Internet Explorer
    key = evt.keyCode;
 }
 else{ // Nestcape
    key = evt.which;
 }

alert("O Código da tecla pressionada é: " + key);

}

// JavaScript Document
function leCampo()
{
	return frmIndex.codigoCurso.value;

}
