Well, now you're complicating things. LOL back at you!
I'm going to share with you my soon-to-be-live site and make some references: gafy.com/newweb. It's a total rebuild of the original gafy.com (funny tees) because the original was stand-alone with a zencart back-end. (Not for the faint of heart!!!) Anyway, I will now comment on a few things relative to the /newweb site.
First, implementing a retracting script is doable without too much effort. I use a different type of script, but it's more-or-less the same. Go to the FAQ page and you'll see it in action. Like any other site, you can right click and take a look at the code. I constructed this page from EZ pages, and the html and javascript are completely independent of the php.
Next, and much more complicated...how to handle product-specific components... In the gafy.com/newweb, click on any design. It takes you to a product selection page. As you mouse-over each of the 18 shirts, you'll see a pop-up description (alt/title). This is actually a built-in feature of zencart, so you can get this by typing in the proper product description, and voila.
Now, click on any of the shirts, and it takes you to an attribute selection page. Look at the color swatch, then mouse over it. These images change per product (go back and select another shirt, and see the different swatch). You'll notice on the mouse-over, the swatch expands. What's important here is that regardless of the selected product, zencart loads EXACTLY the same page construct. I programed it to dynamically load an image based on the model number.
I used a "smart" model number methodology that looks like this: product_style. I then used the php "explode" command to separate the model at the "_" leaving me with two variables: product & style. My page then loads "style.jpg" and "style_mouseover.jpg. This may confuse you, but it's somewhat clear and simple IF you use an intelligent model numbering system.
Finally, I used the attribute image swapper add-in (with some mods) to change the image each time you change the color. You'll notice that if an image exists for the attribute, it changes the image. For reference, if no image exists, it does nothing. What's important here is that when you click on the image, it pops-up another "larger" image. (I don't use this built-in feature.) So, imagine this solution: Use something that displays attribute images, then provide larger pop-up images in the LARGE image folder. IT DOESN'T HAVE TO BE AN IMAGE OF THE SHIRT! YOU CAN MAKE THE IMAGE ANYTHING YOU WANT.
OK...time for a breather...
Yes, this is probably a lot to digest, but it's all possible. My new site obviously has a lot of modifications, but most of them are formatting, not basic functionality.
Just experiment. Use the override system and always make a copy of your working file just in case you need to back up a few steps. (I like to regularly copy a file and rename it tpl_file.zphp.)
Now...if you're still reading this, you should stop and get to work!
Good luck!