Me abrí una cibertarjeta para hacer mis compras por internet. No compro mucho, pero para alguna subastilla en e-bay o registrar dominios, es mejor dar la tarjeta. Aun con todo, siempre que puedo uso paypal, por ser un servicio con mucha experiencia y seguridad.

Desgraciadamente, la página para recargarla no funciona en linux. No es el navegador, el problema la tiene la siguiente función javascript de esta página:

var miliseconds = (new Date()-new Date(new Date().getYear()+form.ANO.value%100-new Date().getYear()%100,form.MES.value-1,new Date().getDate()));
var months = Math.floor(miliseconds/1000/60/60/24/30);
if(months>0) {
  alert("su tarjeta está caducada");
  return;
}

Como podéis ver, es una auténtica chapuza. Por culpa de una comprobación innecesaria (si la caducidad no es válida, simplemente no debería pillar la tarjeta y punto) no me deja recargarla. Les he dicho que lo arreglen, y me dicen que “estamos trabajando en ello”, pero que no soportan Linux. ¿Cómo que no lo soportan? ¡Que contraten a programadores competentes! ¡Que me dejen arreglar el puto javascript! ¡Que aprendan a programar!

Una llamada al webmaster, se le avisa de que la función peta, y la arregla en dos minutos. ¿No les da la gana? Pues son los que tienen mi dinero, y esto no va a quedar así. Me he puesto manos a la obra, y les he enviado por e-mail mi solución. Sí, como suena. Ya que ellos no quieren arreglarlo, lo haré yo. Una función muchísimo más clara es:


var anyo_usuario = form.ANO.value%100;
var anyo = new Date().getYear() % 100;

var mes_usuario = form.MES.value;
var mes = new Date().getMonth() + 1;

if (anyo_usuario < anyo)

  alert("mensaje de error");
if ( (anyo_usuario == anyo && mes_usuario < mes ) )
  alert("mensaje de error");

Si rectifican, chepeau. Si no… seguiré dándoles la vara. Más información en próximas entregas

Actualización 20/10/04 23:01 – Rectificaron :)