-
Да уж...
Я искал ошибки, так сказать, лежащие на поверхности. На тестирование всех брешей, требующих "защиту от дурака", не хватило времени. С ходу не смогу сказать, но по видимому в ветке else в строке 38 в коде нужно добавить некий цикл и ещё одно условие для дополнительного обхода массива id и проверки на неповторяемость номера гражданства в других ячейках. Но тогда получится, что юзер больше не сможет выбрать другой цвет. Скорее всего тут нужен ещё один массив, для таблицы соответсвий гражданств и номеров цветов.
По второму вопросу - будет цвет 1. Сегодня уже лень смотреть почему так происходит :)