<!-- // © Iddea Soluciones Internet S.L. 2000 webmaster@iddea.es César Sánchez Novo
var encrypt_it = true;

function isCreditCard(st) {

  if (st.length > 19)
    return (false);

  sum = 0; mul = 1; l = st.length;
  for (i = 0; i < l; i++) {
    digit = st.substring(l-i-1,l-i);
    tproduct = parseInt(digit ,10)*mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
    if (mul == 1)
      mul++;
    else
      mul--;
  }

  if ((sum % 10) == 0)
    return (true);
  else
    return (false);
}

function getCCNum(default_val) {
 msg = 'Por favor, introduzca el número de su tarjeta en este espacio. '
  + 'Será encriptada y colocada en el campo del '
  + ((encrypt_it) ? "formulario " : "")
  + 'después de su validación. ';
 return prompt(msg,default_val);
}

function encrypt(val) {
 val = "" + val;
 var result = "";
 for (i=0;i<val.length;i++) {
  character = val.charAt(i);
  if ("0123456789".indexOf(character) != -1) {
   character = parseInt(character);
   character = (character+1)%10;
  }
  result += character;
 }
 if (result != "")
  result += "00";
 return result;
}

function unencrypt(val) {
 val = "" + val;
 for (n=0;n<9;n++)
  val = encrypt(val);
 return (val.substring(0,val.indexOf('e')));
}

function strip(val) {
 val = "" + val;
 if (!val)
  return "";
 var result = "";
 for (i=0;i<val.length;i++) {
  character = val.charAt(i);
  if ("0123456789".indexOf(character) != -1)
   result += character;
 }
 return result;
}

var last_entry = "";
function doCCStuff(NumeroTarjeta) {
 if (blur_reset) {
  last_entry = NumeroTarjeta.value;
  if (last_entry && last_entry.indexOf('e') != -1)
   last_entry = unencrypt(last_entry);
  entry = getCCNum(last_entry);
  stripped_entry = strip(entry);
  while (entry && (!isCreditCard(stripped_entry))) {
   alert('El número de tarjeta de crédito que ha introducido parece no ser correcto y no puede ser validado. '
    + 'Por favor, revise el número e inténtelo de nuevo.');
   last_entry = entry;
   entry = getCCNum(last_entry);
   stripped_entry = strip(entry);
  }
  if (entry) {
   if (encrypt_it)
    NumeroTarjeta.value = encrypt(entry);
   else
    NumeroTarjeta.value = entry;
  }
  blur_form(NumeroTarjeta);
 }
 return false;
}
var blur_reset = true;
function blur_form(NumeroTarjeta) {
 NumeroTarjeta.blur();
 blur_reset = false;
 setTimeout("blur_reset=true",2000);
}

// -->
