function verifica_cpf(vdocumento) {

  var vdig = new Array();

////////////////////////////////////////// primeiro dígito de controle ///////////////////////////////////////////////
  vdif1=0;
  vdif2=0;
  vdif3=0;
  vresto1=0;
  vpridig=99999;

  for (i=0; i<=10;i++) {
    vdig[i]=parseFloat(vdocumento.substring(i,i+1));
    if (i<9) {vdif1= vdif1 + ((10-i) * (vdig[i]))}    
  }

  vdif2=Math.floor(vdif1/11) * 11 ;
  vresto1=vdif1-vdif2;
  if (vresto1==0 || vresto1==1) {
    vpridig=0;
  }
  else {
    vpridig=11-vresto1;
  }
  
/////////////////////////////////////////// segundo digito de controle /////////////////////////////////////////////////
  vcont=0
  for (i=10;i>=0;i--) {
    if (i>1){
      vdif3 =vdif3 + ((i+1) * (vdig[vcont]));
      vcont=vcont+1; 
    }
  }
  vdif3 = vdif3 + (2 * vpridig);
  vdif4 = Math.floor(vdif3/11) * 11;
  vresto2 = vdif3 - vdif4;
  if (vresto2==0 || vresto2==1) {
     vsegdig=0;
  }
  else {
     vsegdig=11-vresto2;
  }

//////////////////////////////////////// comparacao com os digitos digitados ////////////////////////////////////////////

  if ((vpridig != vdig[9]) || (vsegdig != vdig[10])) {
    alert("CPF incorreto. Digitos de controle não conferem");
    return false;
  }
  else {
    return true;
  }

}


function detecta_browser() {


  var ie = (document.all) ? true : false;
  var ns4 = (document.layers) ? true : false;
  var ie5 = (document.all && !document.fireEvent) ? true : false;
  var ie55 = (document.all && document.fireEvent && !document.createComment) ? true : false;
  var ie6 = (document.all && document.fireEvent && document.createComment) ? true : false;
  var ns6 = (!document.all && document.getElementById) ? true : false;

  if (ns4) {
    return "ns40" ;
  }
  else if (ie5) {
    return "ie50" ;
  }
  else if (ie55) {
    return "ie55" ;
  }
  else if (ie6) {
    return "ie60" ;
  }
  else if (ns6) {
    return "ns60";
  }
  else if (ie) {
    return "ie00";
  }				
  else {
    return "ns00";
  }
  			   
}



