Fixed issue with timezone getting set to null
Abstracted nojs/js functionality to prevent duplicate time calculation
Tidied up wrong time link