i'd have a x movement and a y movement variable ( x&y speed )
if you hit a horizontal surface xm=-xm
if you hit a vertical surface ym=-ym
and do
x:+xm
y:+ym
each frame
if you hit a horizontal surface xm=-xm
if you hit a vertical surface ym=-ym
and do
x:+xm
y:+ym
each frame