Con estas funciones puedes construirtelo tu mismo:
   Código PHP:
    function esBisiesto(year) { 
    return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? true : false;
}
 
function limpiaSelect(select) {
    var elSelect=document.getElementById(select);
    while( elSelect.hasChildNodes() ) {
        elSelect.removeChild( elSelect.firstChild );
    }
}
 
function aniadeOpcion(select, texto, valor) {
    var elSelect=document.getElementById(select);
    var laOpcion=document.createElement("OPTION");
    laOpcion.appendChild( document.createTextNode(texto) );
    laOpcion.setAttribute("value",valor);
    elSelect.appendChild(laOpcion);
} 
    
  Yo creo que tampoco debe ser tan complicado. Es capturar el evento onchange de cada select, y actualizar los dos restantes segun el nuevo valor tomado. 
Si te sale postea, si te encuentras con problemas, tambien 
