I want to translate the following sentence:
She gives her mother a flower on mothers day
At first I wrote
Sie gibt ihrer Mutter eine Blume auf Muttertag.
But my German friend told me it should be
Sie gibt ihrer Mutter eine Blume zum Muttertag.
Is zum in this context equal to zu dem? And how do I know that I should use zum? What is the explanation, according to grammatic rules?