Зачем такие ужасы есть 2 нормальные варианта:
1) изначально генерировать страницу с необходимыми ссылками.
2) после отрисовки страницы, пройти по всем ссылкам и заменить их на fb
Делаем 2 картинки, одна фоновая, другая hover, при наведении меняем на hover.
Верстаем блоками по этажам.
Пример блок 1 этаж:
background нужные координаты картинки, при hover меняем background-url со светом
Должно быть так:
1) при клике загрузки по ссылке /index и /aboutus грузиться генерируемая страница на сервере.
2) при переходе по ссылке должна грузится информация на AJAX
3) если JS отключен, то обычный переход по ссылке.
Нормально это сделать, через JavaScript и local storage.
При раскрытие записывайте, что меню раскрыто в переменную в local storage, затем при загрузки страницы проверяйте, есть ли в ней что-то если есть, то делайте раскрытой.
1) возьмите хороший сервер, который быстро отдает результаты и находится близко к географии целевой аудитории.
2) перед тем как отправлять AJAX запрос зафиксируйте текущее клиентское время.
3) отправьте запрос, желательно без хлама. Минимум данных на входе и минимум на выходе. Уложится хорошо бы в 1460 байт на все. keep-alive включен. GZIP выключен.
4) фиксируйте текущее клиентское время.
5) Время_сервера - (разница_между_клиентскими/2).
Погрешность будет меньше, но останется. Как минимум отрисовка на странице времени тоже занимает время)