function ccValid(ccNum){
  var nCheck=0;
  var nDigit=0;
  var bEven=false;
  for(n=ccNum.length-1;n>=0;n--){
    var cDigit=ccNum.charAt(n);
    if(isDigit(cDigit)){
      var nDigit=parseInt(cDigit,10);
      if(bEven)if((nDigit*=2)>9)nDigit-=9;
      nCheck+=nDigit;
      bEven=!bEven;
      }
    else if(cDigit!=' '&&cDigit!='.'&&cDigit!='-')return false;
  }
  return((nCheck%10)==0);
}

function whatCard(ccNum){
//As regras abaixo devem ser equivalentes às existentes em ccValidate.asp
  var nLen=0;
  for(n=0;n<ccNum.length;n++)if(isDigit(ccNum.substring(n,n+1)))++nLen;
  if((ccNum.substring(0,1)=='4')&&(nLen==19||nLen==16))return 'VISA';
  else if((ccNum.substring(0,2)=='34'||ccNum.substring(0,2)=='37')&&(nLen==15))return 'AmExpress';
  else if((ccNum.substring(0,1)=='5')&&(nLen==16))return 'MasterCard';
  else if((ccNum.substring(0,1)=='3')&&(nLen==14))return 'Diners';
  else if(((ccNum.substring(0,1)=='1'||ccNum.substring(0,1)=='4'||ccNum.substring(0,1)=='6')&&(nLen==13)) || ((ccNum.substring(0,4)=='3841')&&(nLen==19)) || ((ccNum.substring(0,6)=='606282')&&(nLen==16)))return 'Hipercard';
  else if((ccNum.substring(0,6)=='507860')&&(nLen==19))return 'Aura';
  else return '?';
}

function isDigit(c){
  var strAllowed="1234567890";
  return(strAllowed.indexOf(c)!=-1);
}

function ccExpirado(mes,ano,mesagora,anoagora){
//Retorna true se o mes/ano ainda não passou
  hoje=new Date(anoagora,mesagora-1);
  ccData=new Date(ano,mes-1);
  if(hoje.getTime()>ccData.getTime())return true;
  else return false;
}

function ValidaCPF(s){
  var i;
  s=SoNumeros(s);
  if(s.length!=11) return false;
  var c=s.substr(0,9);
  var dv=s.substr(9,2);
  var d1=0;
  for(i=0;i<9;i++)d1+=c.charAt(i)*(10-i);
  if(d1==0) return false;
  d1=11-(d1%11);
  if(d1>9)d1=0;
  if(dv.charAt(0)!=d1)return false;
  d1*=2;
  for(i=0;i<9;i++)d1+=c.charAt(i)*(11-i);
  d1=11-(d1%11);
  if(d1>9)d1=0;
  if(dv.charAt(1)!=d1)return false;
  return true;
}

function ValidaCNPJ(s){
  var i;
  s=SoNumeros(s);
  if(s.length!=14) return false;
  var c=s.substr(0,12);
  var dv=s.substr(12,2);
  var d1=0;
  for(i=0;i<12;i++)d1+=c.charAt(11-i)*(2+(i%8));
  if(d1==0)return false;
  d1=11-(d1%11);
  if(d1>9)d1=0;
  if(dv.charAt(0)!=d1)return false;
  d1*=2;
  for(i=0;i<12;i++)d1+=c.charAt(11-i)*(2+((i+1)%8));
  d1=11-(d1%11);
  if(d1>9)d1=0;
  if(dv.charAt(1)!=d1)return false;
  return true;
}

function SoNumeros(campo){
  var Digitos="0123456789";
  var temp="";
  var digito="";
  for(var i=0;i<campo.length;i++){
    digito=campo.charAt(i);
    if(Digitos.indexOf(digito)>=0)temp=temp+digito;
  }
  return temp;
}

