Конфигуратор создания заказа

Поступило задание сделать конфигуратор, позволяющий пользователю сформировать корзину товаров. Товары разделены по нескольким группам, внутри группы единичный или множественный выбор. Было принято решение создавать элементы управления "с нуля".  Кнопки - радиобоксы и чекбоксы - были нарисованы и начата разработка скриптов для управления поведением кнопок. Корзина товаров имела двухстороннюю связь с группами товаров: при удалении товара из корзины, менялась ситуация в группе товара. Дополнительно, контролировалось пуста ли корзина (с выдачей соответствующего сообщения) и расчитывалась итоговая сумма заказа. Были разработаны дополнительная навигация по группам товаров - кнопки "Вперед" и "Назад".

При переходе из главной страницы конфигуратора на страницу товара, состояние заказа переносилось и устанавливались соответствующие статусы для товара страницы и других товаров группы. Состояние хранилось при помощи кукисов (cookie) в виде перечня идентификаторов объектов. При загрузке эмулировался переход между группами товаров и нажатие на контрол.

Система сделана для нескольких языков, доступна мультивалютность с автоматической подкачкой курса ЦБ и перерасчетом суммы в основной валюте. Конфигуратор был создан за сжатые сроки и успешно показал себя на практике.