function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}
function numerico(valor){
  cad = valor.toString();
  for (var i=0; i<cad.length; i++) {
    var caracter = cad.charAt(i);
	if (caracter<"0" || caracter>"9")
	  return false;
  }
  return true;
}
function validarCC(cc){
    var err=0;
    var entidad = cc.substr(0,4);
    var oficina = cc.substr(4,4);
    var digito = cc.substr(8,2);
    var cuenta = cc.substr(10);
    if (entidad == ""  || oficina == "" || digito == "" || cuenta == "")
        err=1;
    else {
        if (entidad.length != 4 || oficina.length != 4 || digito.length != 2 || cuenta.length != 10)
            err=1;
        else {
            if (!numerico(entidad) || !numerico(oficina) || !numerico(digito) || !numerico(cuenta))
                err=1;
            else {
                if (!(obtenerDigito("00" + entidad + oficina) == parseInt(digito.charAt(0))) || !(obtenerDigito(cuenta) == parseInt(digito.charAt(1))))
                    err=1;
            }
        }
    }
    return err;
}