Хорошо, ещё к вопросу видимости.
Переменные, определённые внутри, скажем, блока 1 будут доступны в блоках 2, 3 и т.д.? Будут они доступны в нижележащих условиях?
А за пределами всей конструкции progress?