En javascript no es tan complicado el cálculo como en el enlace que mencionás
http://es.wikibooks.org/wiki/Algorit..._en_Javascript
Mirá este ejemplo.
Código PHP:
<script type="text/javascript">
function esBisiesto(a){
return new Date(a,2,0).getDate()==29;
}
var aComprobar=[2000,2012,2013];
for(var i=0; i<3;i++){
if( esBisiesto(aComprobar[i])){
document.write(aComprobar[i]+' es bisiesto.<br>');
}else{
document.writeln(aComprobar[i]+' no es bisiesto.<br>');
}
}
</script>
Al colocar 0 como día siempre nos estaremos refiriendo al último día del mes anterior al escrito; en este caso el mes que escribimos es 2, que en javascript es marzo porque los meses se cuentan de 0 a 11, siendo 0 enero y 11 diciembre. Es decir, lo que hacemos es ver si febrero tiene o no un día 29.
(El truco es de
Choan Gálvez, que lo publicó en Scriptia, un blog que falleció hace 1 año
)