Последний совет. При такой "структуре" написания программ (и это не про комментарии и в не том что кто то со стороны должен разобраться что вы написали) вы через какое то время сами не поймете логику работы программы. Это только сейчас вы думаете что все понятно и ясно. 1. Нельзя писать такие огромные логические блоки. Сами намучаетесь просматривать что откуда и куда и откуда ноги растут. 2. Если покопаться то выяснится что некоторые логические структуры выполняющие одни и те же действия у вас плодятся как тараканы.
Покопайтесь в различных примерах на овене. Посмотрите.