Following Bianca's ideas of planes I made another implementation (very similar, but works with Polygons), and you can play with opacity and which plane to show. This will direct you how to proceed
yehuda
Manipulate[
 Module[{xticks, yticks, zticks, xends, yends, zends, xplanes, 
   yplanes, zplanes}, xticks = yticks = zticks = Range[-1, 1, 0.5];
  xends = yends = zends = {-1, 1};
  xplanes = 
   Apply[Polygon[Join[#, Reverse[#2]]] &, 
    Outer[{#3, #1, #2} &, yticks, zends, xends], 1];
  yplanes =
   Apply[Polygon[Join[#, Reverse[#2]]] &, 
    Outer[{#2, #3, #1} &, zticks, xends, yends], 1];
  zplanes = 
   Apply[Polygon[Join[#, Reverse[#2]]] &, 
    Outer[{##} &, xticks, yends, zends], 1];
  Show[ParametricPlot3D[{{x, Im[I^(5 x)], Re[I^(5 x)]}}, {x, -1, 1}, 
    AxesLabel -> {"Real x", "Imaginary y", "Real y"}, 
    PlotRange -> All, PlotStyle -> {Thick, Red}],
   Graphics3D[
    Flatten[{Opacity[opacity], Gray, 
      If[#[[1]], #[[2]], {}] & /@ 
       Thread[{{xp, yp, zp}, {xplanes, yplanes, zplanes}}]
      }]]]], {{opacity, 0.1}, 0, 
  0.5}, {xp, {True, False}}, {yp, {True, False}}, {zp, {True, 
   False}}]