E' più facile ottenere quello che vuoi con PHP che tramite javascript. Penso che comunque ci sia da lavorare di socket, espressioni regolari e possibilmente di zlib visto che non potrai creare la classica cartella sul client, ma solo mandargli in download un pacchetto unico contenente quel che meglio credi (per questo lo zip, con tutti i file necessari).
Saluti