Heavy fog in Christchurch causes flight cancellations, delays