Весь этот файл мне что-то очень сильно напоминает! Нет ли случайно желания переписать все заново, но самостоятельно?!