/* "NAO UTILIZADO" pois a validacao esta sendo feito no envio do formulario
//Contribuicao - quando selecionar a opcao que informa um valor de contribuicao, o valor deve ser informado.
function verificaValor(obj){
 if (document.f.valorContribuicao[3].checked && obj.value=="")
  {
          if (confirm("Deseja informar um valor para contribuição?\n[Ok] para informar um valor\n[cancel] para escolher outra contribuicao"))
        {
         document.f.valorMinimo.focus();
        }
       else
        {
         document.f.valorContribuicao[3].checked=false;
         document.f.contribuicao.focus();
        }
  }

}
*/




//Receber Informativos
function validaCheckInfo(){

 if (!(document.f.receberInformacao.checked))
 {
  for (var i=0; i<document.f.periodoInformacao.length; i++)
  {
   if(document.f.periodoInformacao[i].checked)
   {
    document.f.periodoInformacao[i].checked=false;
   }
  } 
 }

}

//Periodo para Receber Informativos
function validaCheckPeriodo(){

//alert(document.f.periodoInformacao[0].checked);
 if (document.f.periodoInformacao[0].checked)
 {
  document.f.receberInformacao.checked=true;
 }
 if (document.f.periodoInformacao[1].checked)
 {
  document.f.receberInformacao.checked=true;
 }
 if (document.f.periodoInformacao[2].checked)
 {
  document.f.receberInformacao.checked=true;
 }

}



//valida Valor de Contribuicao
//Somente numero e virgula
function validaNumeroDecimal(tecla){
 if (!(isNumberDecimal(tecla)))
  {
   alert('Por favor, digite apenas números e virgula!');
  }

}


//Valida nome, endereco, bairro e cidade
//Somente Letra, espaco e letra com acento.
function validaTexto(tecla){
 if (!(isChar(tecla)))
  {
    alert('Por favor, digite apenas letras!');
  }
}



//valida numero
//Somente numero
function validaNumero(tecla){
 if (!(isNumber(tecla)))
  {
   alert('Por favor, digite apenas números!');
  }

}



//valida complemento
//Somente Letra, espaco, letra com acento, parenteses, hifen e numero.
function validaTextoNumero(tecla){
 if (!(isCharNumber(tecla)))
  {
   alert('Por favor, digite apenas letras, numeros, parenteses ou hifen!');
  }

}



//valida forma de pagamento

function limpaFormaPagamento(){

 for(var i=0; i<document.f.formaPagamento.length; i++)
  {
   if (document.f.formaPagamento[i].checked)
    {
     if (document.f.formaPagamento[i].value==1)
      {
       document.f.banco.options[0].selected=true;
       document.f.agencia.value="";
       document.f.digitoAgencia.value="";
       document.f.contaCorrente.value="";
       document.f.digitoContaCorrente.value="";
       document.f.diaDebito.options[0].selected=true;
       document.f.diaDebitoAlternativo.options[0].selected=true;

       document.f.cartao.focus();
      }
     if (document.f.formaPagamento[i].value==2)
      {
       document.f.cartao.options[0].selected=true;
       document.f.numeroCartao.value="";
       document.f.cartaoValidadeMes.options[0].selected=true;
       document.f.cartaoValidadeAno.options[0].selected=true;
       document.f.codigoCartao.value="";
       
       document.f.banco.focus();

      }
    }
  }

}


//Valida Forma de Pagamento
function validaCheckPagamento(valor){

 document.f.formaPagamento[valor-1].checked=true;
 limpaFormaPagamento();
}


//Valida cartão de crédito
//Valida se foi selecionado o tipo de cartão quando for digitar num campo texto
function validaTextCartao(){

 if (document.f.cartao.selectedIndex==0)
  {
   alert("Por favor,\nescolha um tipo de cartão.");
   event.keyCode = '127';
   document.f.cartao.focus();
  }
}


//Valida cartão de crédito
//Valida se foi selecionado o tipo de cartão quando for digitar num campo de seleção
function validaSelectCartao(obj){

 if (document.f.cartao.selectedIndex==0)
  {
   alert("Por favor,\nescolha um tipo de cartão.");
   obj.options[0].selected=true;
   document.f.cartao.focus();
  }
}


//Valida débito automático
//Valida se foi selecionado o banco quando for digitar num campo texto
function validaTextBanco(){

 if (document.f.banco.selectedIndex==0)
  {
   alert("Por favor,\nescolha um banco.");
   event.keyCode = '127';
   document.f.banco.focus();
  }
}


//Valida débito automático
//Valida se foi selecionado o banco quando for digitar num campo de seleção
function validaSelectBanco(obj){

 if (document.f.banco.selectedIndex==0)
  {
   alert("Por favor,\nescolha um banco.");
   obj.options[0].selected=true;
   document.f.banco.focus();
  }
}




//Valida cartão de Crédito

function validateCard(cardNumber,cardType,cardMonth,cardYear) {
 if( cardNumber.length == 0 ) {
  alert("Por favor entre com um número de cartão de crédito.");
  return false;				
  }
  
 for( var i = 0; i < cardNumber.length; ++i ) {
  var c = cardNumber.charAt(i);

  if( c < '0' || c > '9' ) {
   alert("Por favor entre com um número de cartão de crédito válido.\nDigite apenas números.\nNão digite espaços ou hífens.");
   return false;
  }
 }
 
 var length = cardNumber.length;

 switch( cardType ) {
    
  case '1': //cartao de credito American Express

   if( length != 15 ) {
    alert("Por favor\nentre com 15 números para cartão de crédito American Express.");
    return false;
   }
   //var prefix = parseInt( cardNumber.substring(0,2));
   var prefix = parseInt( cardNumber.substring(0,1));

   //if( prefix != 34 && prefix != 37 ) {
   if( prefix != 3 ) {
    alert("Por favor\nentre com um número válido do cartão de crédito American Express.");
    return false;
   }
   break;

          
  case '2': //cartao de credito Mastercard
  
   if( length != 16 ) {
    alert("Por favor\nentre com 16 números para cartão de crédito Mastercard.");
    return false;
   }
   //var prefix = parseInt( cardNumber.substring(0,2));
   var prefix = parseInt( cardNumber.substring(0,1));

   //if( prefix < 51 || prefix > 55) {
   if( prefix != 5 && prefix != 6) {
    alert("Por favor\nentre com um número válido do cartão de crédito Mastercard.");
    return false;
   }
   break;


  case '3': //cartao de credito Diners

   if( length != 14 ) {
    alert("Por favor\nentre com 14 números para cartão de crédito Diners.");
    return false;
   }
  //var prefix = parseInt( cardNumber.substring(0,2));
   var prefix = parseInt( cardNumber.substring(0,1));

   //if( prefix != 36 && prefix != 38 ) {
   if( prefix != 3 ) {
    alert("Por favor\nentre com um número válido do cartão de crédito Diners.");
    return false;
   }
   break;   


  case '4': //cartao de credito Visa

   if( length != 16 ) {
    alert("Por favor\nentre com 16 números para cartão de crédito Visa.");
    return false;
   }
   var prefix = parseInt( cardNumber.substring(0,1));

   if( prefix != 4 ) {
    alert("Por favor\nentre com um número válido do cartão de crédito Visa.");
    return false;
   }
   break;


 }
              
 if( !isMod10( cardNumber ) ) { 	//executa o algoritmo para validacao do cartao de credito (modulo 10)
  alert("Cartão de crédito inválido!\nDigite um número de cartão de crédito válido.");
  return false;
 }
              
 if( expired( cardMonth, cardYear ) ) { // valida se a data de validade já expirou.
  alert("Validade expirou!\nverifique o mês e ano da validade do cartão de crédito.");
  return false;
 }
                                                	
return true;
}





function limpaBanco(){

document.f.agencia.value="";
document.f.digitoAgencia.value="";
document.f.contaCorrente.value="";
document.f.digitoContaCorrente.value="";
document.f.agencia.focus();

}



function verificaBanco(objsel,obj,tecla){

//alert(obj.name);
nomeObj = obj.name;

//alert(tecla.srcElement.value);
valor = tecla.srcElement.value;

//alert(valor.length);
tam = parseInt(valor.length);

//alert(tecla.keyCode);

indice = objsel.selectedIndex;
//alert(objsel.options[indice].value);
codBanco = objsel.options[indice].value;
//alert(codBanco);
nomBanco = objsel.options[indice].text;
//alert(nomBanco);

 //Testa se não foram digitados números
/* if (tecla.keyCode < '48' || tecla.keyCode > '58')
  {
   alert('Por favor,\ndigite apenas números.');
   tecla.keyCode = '127';
  }
 else
  {
*/
   //alert('Digitou números!'); 
   //alert(codBanco);
   tammax=99;
   
   if(codBanco==1)//Banco do Brasil
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 1;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 8;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==41)//Banco Barisul
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 9;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==237)//Banco Bradesco
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 1;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 7;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==275)//Banco Real
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 1;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 7;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==341)//Banco Itau
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 5;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==353)//Banco Santander
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 7;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==409)//Banco Unibanco
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 6;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }

   if(codBanco==641)//Banco BBVA
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 10;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 0;
       }
    }

   if(codBanco==642)//Banco Banespa
    {
      if(nomeObj=="agencia")
       {
        tammax = 4;
       }
      if(nomeObj=="digitoAgencia")
       {
        tammax = 0;
       }
      if(nomeObj=="contaCorrente")
       {
        tammax = 8;
       }
      if(nomeObj=="digitoContaCorrente")
       {
        tammax = 1;
       }
    }


   tammax = parseInt(tammax);
   //alert(tammax);
   //alert(valor.substr(0,tammax));
   
   if(tam>=tammax)
    {
     tecla.keyCode = '127';    
     event.srcElement.value = valor.substr(0,tammax);
    }

   if(tammax==0)//Banco sem digito
    {
     tecla.keyCode = '127';
     alert(nomBanco + ' nao tem ' + nomeObj);
     document.f.contaCorrente.focus();
    }

   if(tammax==99)//Nenhum Banco selecionado
    {
     tecla.keyCode = '127';
     alert('Por favor,\nescolha um banco.');
     document.f.banco.focus();
    }
   
//}

}




function validaBanco(objsel,agencia,digAgencia,conta,digConta){

//alert (objsel + "-" + agencia + "-" + digAgencia + "-" + conta + "-" + digConta);

indice = objsel.selectedIndex;
//alert(objsel.options[indice].value);
codBanco = objsel.options[indice].value;
//alert(codBanco);
nomBanco = objsel.options[indice].text;
//alert(nomBanco);

 tamAgencia=0;
 tamDigAgencia=0;
 tamConta=0;
 tamDigConta=0;

   
 if(codBanco==1)//Banco do Brasil
  {
   tamAgencia = 4;
   tamDigAgencia = -1;
   tamConta = 8;
   tamMinConta = 3;
   tamDigConta = 1;
  }

 if(codBanco==41)//Banco Barisul
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 9;
   tamMinConta = 7;
   tamDigConta = 1;
  }

 if(codBanco==237)//Banco Bradesco
  {
   tamAgencia = 4;
   tamDigAgencia = -1;
   tamConta = 7;
   tamMinConta = 4;
   tamDigConta = 1;
  }

 if(codBanco==275)//Banco Real
  {
   tamAgencia = 4;
   tamDigAgencia = -1;
   tamConta = 7;
   tamMinConta = 5;
   tamDigConta = -1;
  }

 if(codBanco==341)//Banco Itau
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 5;
   tamMinConta = 4;
   tamDigConta = 1;
  }

 if(codBanco==353)//Banco Santander
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 7;
   tamMinConta = 6;
   tamDigConta = 1;
  }
   
 if(codBanco==409)//Banco Unibanco
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 6;
   tamMinConta = 4;
   tamDigConta = 1;
  }

 if(codBanco==641)//Banco BBVA
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 10;
   tamMinConta = 8;
   tamDigConta = 0;
  }

 if(codBanco==642)//Banco Banespa
  {
   tamAgencia = 4;
   tamDigAgencia = 0;
   tamConta = 8;
   tamMinConta = 6;
   tamDigConta = 1;
  }


  //alert("agencia" + "-" + tamAgencia + "-" + agencia.length);
  //alert("digAgencia" + "-" + tamDigAgencia + "-" + digAgencia.length);
  //alert("Conta" + "-" + tamConta + "-" + conta.length);
  //alert("digConta" + "-" + tamDigConta + "-" + digConta.length);

 if (!(tamAgencia==0 && tamDigAgencia==0 && tamConta==0 && tamDigConta==0))
  {

/* Nao valida tamanho minimo

   if(!(agencia.length==tamAgencia))
    {
     alert("Por favor, digite " +tamAgencia+ " numeros no campo agencia do banco " +nomBanco);
     return true;
    }
*/


   if(!(tamDigAgencia==-1))
    {
     if(!(digAgencia.length==tamDigAgencia))
      {
       alert("Por favor, informe " +tamDigAgencia+ " digito na agencia do banco " +nomBanco);
       return true;
      }
    }

/* Nao valida tamanho minimo

   if(!(conta.length>=tamMinConta))
    {
     alert("Por favor, digite pelo menos " +tamMinConta+ " numeros no campo conta do banco " +nomBanco);
     return true;
    }
*/


   if(!(tamDigConta==-1))
    {
     if(!(digConta.length==tamDigConta))
      {
       alert("Por favor, informe " +tamDigConta+ " digito na conta do banco " +nomBanco);
       return true;
      }
    }
  }
  else
  {
   alert('Por favor,\nescolha um banco.');
   return true;
  }
 return false;
 }



function validaDiaDebito(dia,diaAlt){
 numDia=parseInt(dia);
 numDiaAlt=parseInt(diaAlt);

 //alert(numDia); 
 //alert(numDiaAlt);

 if (numDia==numDiaAlt)
  {
   alert("Por favor, escolha um Dia Alternativo para debito diferente do Dia para debito.");
   return true;
  }
 return false;
   
 } 



function validaData(Data){
  var dma = -1;
  var data = Array(3);
  var ch = Data.charAt(0); 
    for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
     data[++dma] = '';
     if(ch!='/' && i != 0) return false;
     if(i != 0 ) ch = Data.charAt(++i);
     if(ch=='0') ch = Data.charAt(++i);
       while( ch >= '0' && ch <= '9' ){
        data[dma] += ch;
        ch = Data.charAt(++i);
       } 
    }
  
  if(ch!='') return false;
  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 0 || parseInt(data[2]) > 99 ) && (parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
  if(data[2] < 50) data[2] = parseInt(data[2]) + 2000;
  else if(data[2] < 100) data[2] = parseInt(data[2]) + 1900;
  
  switch(parseInt(data[1])){
   case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
   case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
   default: { if(parseInt(data[0]) > 31) return false;}
  }
  return true; 
 }

