Meine Herren,
erfahrungsgemäß werden Fragen, die mit so viel Quelltext hier auflaufen, erst sehr spät bis gar nicht beantwortet.
Erschwerend kommt für die Helfer hinzu, dass dein Quelltext durchweg unkommentiert ist.
Mein Tipp: Reduziere den Code auf das wesentliche und reichere kritische Stellen mit erläuternden Kommentaren an. Im besten Fall lieferst du auch gleich ein Online-Beispiel mit. Sollte es dir nicht möglich sein, das Wesentliche herauszufiltern, dann führe deine Helfer sukzessive in den Quelltext ein, also erläutere kleinschrittig wieso etwas da steht, wo es steht.