I'm not an RJS expert myself yet, but, I don't think toggle_appear is what you want. If I understand correctly, when an image is clicked:
1. The current image in divProductDisplay should fade away 2. The image in divProductDisplay should be replaced with the newly selected image 3. The new image should now appear
I think part of the problem is your code is replacing the image, *then* toggling the appearance afterward, which isn't right.
So I think all you need to do is do another page.visual_effect :toggle_appear, 'divProductDisplay' before you do your replace_html.
Hope this helps, Jeff softiesonrails.com