... il codice è piuttosto complicato.

Facciamo così: creo una pagina-bozza così puoi leggere il codice che utilizzo, va bene ?