Hola:
Supongo que en lo refernte a javascript tienes ya alguna información, pero hay cosas que tal vez tengas que implementar en el servidor, porque cuando alguien seleccione un área, debería "no" estar disponible para el resto de visitantes, y eso no es cosa de javascript. Sobre el tema de colorear, acabo de publicar otro apunte para generar areas de forma dinámica:
Áreas poligonales para efecto rollover
El asunto lo planteo en mis apuntes para efectos rollover, pero con esa información se pueden plantear muchas alternativas...
Saludos