function validarCuenta(cc_entidad,cc_oficina,cc_dc,cc_numero)
{
  if (cc_entidad == ""  || cc_oficina == "" || cc_dc == "" || cc_numero == "")
      return "Por favor, introduzca los datos de su cuenta";
  else
  {
      if (cc_entidad.length != 4 || cc_oficina.length != 4 || cc_dc.length != 2 || cc_numero.length != 10)
        return "Por favor, introduzca correctamente los datos de su cuenta; no están completos";
      else
  		{
        if (!numerico(cc_entidad) || !numerico(cc_oficina) || !numerico(cc_dc) || !numerico(cc_numero))
        	 return "Por favor, introduzca correctamente los datos de su cuenta; no son numéricos";
        else
  			{
         		if (!(obtenerDigito("00" + cc_entidad + cc_oficina) == parseInt(cc_dc.charAt(0))) || !(obtenerDigito(cc_numero) ==parseInt(cc_dc.charAt(1))))
            	 return "Los dígitos de control no se corresponden con los demás números de la cuenta";
  	    	  else
            	 return "OK";
        }
      }
  }
}

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;
}
