function trocaPagina(strNovaPagina){
  top.FraDireita.location.href = 'spfdireita.htm';
  location.href = strNovaPagina;
}

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
  var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

  if (navigator.appName=="Netscape") {
    nTecla = evtKeyPress.which;
  } else {
    nTecla = evtKeyPress.keyCode;
  }

  sValue = objForm[strField].value;

  // Limpa todos os caracteres de formatação que
  // já estiverem no campo.
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( " ", "" );
  sValue = sValue.toString().replace( " ", "" );
  fldLen = sValue.length;
  mskLen = sMask.length;

  i = 0;
  nCount = 0;
  sCod = "";
  mskLen = fldLen;

  while (i <= mskLen) {
    bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
    bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

    if (bolMask) {
      sCod += sMask.charAt(i);
      mskLen++; }
    else {
      sCod += sValue.charAt(nCount);
      nCount++;
    }

    i++;
  }

  objForm[strField].value = sCod;

  if (nTecla != 8) { // backspace
    if (sMask.charAt(i-1) == "9") { // apenas números...
      return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
    else { // qualquer caracter...
      return true;
    } }
    else {
      return true;
    }
  }

function validaCPF(CPF) {

  var cpf = trimtodigits(CPF);

  // Verifica se o campo e nulo
  if (cpf == "") {
    return false;
  }

  // Aqui comeca a checagem do CPF
  var posicao;
  var digitoVerificador
  var digitoVerificadorInformado;
  var i,  soma;

  var digitos = new Array();

  // Retira os dois últimos digitos do número informado
  digitoVerificadorInformado = cpf.substr(9, 2);

  // Desmembra o numero do CPF no array DIGITOS
  for (i = 0; i <= 8; i++) {
    digitos[i] = cpf.substr(i, 1);
  }

  // Calcula o valor do 10 digito da verificação
  posicao = 10;
  soma = 0;
  for (i = 0; i <= 8; i++) {
    soma = soma + digitos[i] * posicao;
    posicao--;
  }

  digitos[9] = soma % 11;
  if (digitos[9] < 2) {
    digitos[9] = 0;
  } else {
    digitos[9] = 11 - digitos[9];
  }

  // Calcula o valor do 11 digito da verificação
  posicao = 11;
  soma = 0;
  for (i = 0; i <= 9; i++) {
    soma = soma + digitos[i] * posicao;
    posicao--;
  }
  digitos[10] = soma % 11;
  if ( digitos[10] < 2) {
    digitos[10] = 0;
  } else {
    digitos[10] = 11 - digitos[10];
  }

  // Verifica se os valores dos digitos verificadores conferem
  digitoVerificador = digitos[9] * 10 + digitos[10];
  if (digitoVerificador != digitoVerificadorInformado) {
    return false;
  }
  return true;
}

function verificaCGC(scgc) {
  var cgc = trimtodigits(scgc);

  if ((cgc.indexOf("-") != -1) || (cgc.indexOf(".") != -1) || (cgc.indexOf("/") != -1)){
    return( false )
  }

  var df, resto, dac = ""
  df = 5*cgc.charAt(0)+4*cgc.charAt(1)+3*cgc.charAt(2)+2*cgc.charAt(3)+9*cgc.charAt(4)+8*cgc.charAt(5)+7*cgc.charAt(6)+6*cgc.charAt(7)+5*cgc.charAt(8)+4*cgc.charAt(9)+3*cgc.charAt(10)+2*cgc.charAt(11)
  resto = df % 11
  dac += ( (resto <= 1) ? 0 : (11-resto) )
  df = 6*cgc.charAt(0)+5*cgc.charAt(1)+4*cgc.charAt(2)+3*cgc.charAt(3)+2*cgc.charAt(4)+9*cgc.charAt(5)+8*cgc.charAt(6)+7*cgc.charAt(7)+6*cgc.charAt(8)+5*cgc.charAt(9)+4*cgc.charAt(10)+3*cgc.charAt(11)+2*parseInt(dac)
  resto = df % 11
  dac += ( (resto <= 1) ? 0 : (11-resto) )
  return (dac == cgc.substring(cgc.length-2,cgc.length))
}

//Remove todos os caracteres excetos 0-9
function trimtodigits(tstring){
  s="";
  ts=new String(tstring);
  for (x=0;x<ts.length;x++){
    ch=ts.charAt(x);
    if (asc(ch)>=48 && asc(ch)<=57){
      s=s+ch;
    }
  }
  return s;
}

// Retorna o código ASC do caracter passada por parâmetro
function asc(achar){
  var n=0;
  var ascstr = makeCharsetString()
  for (i=0;i<ascstr.length;i++){
    if(achar==ascstr.substring(i,i+1)){
      n=i;
      break;
    }
  }
  return n+32
}

// Gera uma string com os caracteres básicos na sequência de códigos ASC
function makeCharsetString(){
  var astr
  astr = ' !"#$%&\'()*+,-./0123456789:;<=>?@'
  astr+= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  astr+= '[\]^_`abcdefghijklmnopqrstuvwxyz'
  astr+= '{|}~'
  return astr
}

