[SENZOFFESA]
scusa se mi permetto ma che roba è quello scriptfo... mi metterei le mani nei capelli se ne avessi ancora.

Non ti è più comodo scrivere il codice HTML normalmente nel body?

A che ti servono tutti quei document.write? Se proprio devi impostarlo così, potresti concatenare le varie righe della stringa dentro un unico document.write.

... e poi, perché stai concatenando quei segni, non dovrebbero stare già dentro la stringa?

... e che roba orribilmente ridondante... potresti definire un'unica funzione per l'evento onclick e passargli giusto il value.

... e ancora, perché usare un form se non devi fare nessun submit?

... e quel <table> usato solo per definire il layout? .. no, non ci siamo proprio

Ma è una tua invenzione? ...se è così, mi spiace dirtelo ma a mio parere stai usando un approccio di programmazione completamente scorretto su tutti i fronti. Se invece lo hai tolto fuori da qualche parte, mi spiace dirtelo ma è un approccio di programmazione del tutto anti-pattern. Oserei dire, se posso , che è un perfetto esempio di cattiva programmazione.
[/SENZOFFESA]

Scusami per l'excursus critico (a volte faccio di peggio), ad ogni modo il problema che lamenti sta nel fatto che la sequenza dei vari apici e doppi-apici, è limitata a due livelli di profondità delle stringhe annidate; mentre nel tuo caso ci sono 3 livelli di profondità. Non ti serve a nulla concatenare in quel modo quei caratteri, i tipi di apici restano sempre 2 nella stringa che andrai ad ottenere. In questo caso andrebbero fatti degli opportuni "escape", cioè anteporre, agli apici o doppi-apici interni, un backslash "\" (o più di uno a seconda della sequenza di escape raggiunta).

Potresti "comporre" la sequenza di apici ed inserire gli escape in vari modi. Fai magari qualche prova e vedi se riesci.

Ribadisco che personalmente rivedrei l'intero elaborato e a quel punto non ci sarebbe probabilmente nemmeno bisogno di inserire questi escape.