added knockoutJS to handle dynamic data (active area name .. etc)