Here is my $40,000 zoom program for only $500 . This has been in place for
nearly a year for a major clothing retailer. I recently had to add it to
the StoreFront store we plan to open soon so here is the code enjoy!

1. Go to: ZoomImage and download the 30 day demo
(AND once you have it working PAY for it about $500 US)

2. Install the Program and verify that the examples provided with the program
work

3. In StoreFront in the detail.asp page you add in the header part of the
"detail.asp" page (meaning the part of the detail.asp page before the prduct
detail code:

<%
SQL="SELECT * FROM product WHERE PRODUCT_ID= '" & PRODUCT_ID & "'"
Set RS = Connection.Execute(SQL)
%>

<script language="JavaScript">
<!--//

function open_zoomwindow()
{
zoomwindow = window.open("zoom.asp?zoompic=<%=PRODUCT_ID %>.izo","zoomwindow","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=330,height=450,top=10,left=10")
return(true);
}

// -->
</script>

*************************************************************
This would for example produce this when the detail.asp page is rendered
at runtime:

<script language="JavaScript">
<!--//

function open_zoomwindow()
{
zoomwindow = window.open("zoom.asp?zoompic=BAWT050.izo","zoomwindow","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=330,height=450,top=10,left=10")
return(true);

}

// -->
</script>
*************************************************************

Now in the part of the detail.asp that contains the code for showing the
product detail you put:

<!--webbot bot="HTMLMarkup" startspan -->
<form><BR>
<input type="image" name="button" src="images/SomeImageYouWantToUseForThePersonToClick.gif"
alt="Click Here To Zoom" onclick="open_zoomwindow()" border="0"> <input type="hidden"
name="PRODUCT_ID" value="<%= RS("PRODUCT_ID") %>">
</form>
<!--webbot bot="HTMLMarkup" endspan -->

NOTE: "<%= RS("PRODUCT_ID") %>" is the standard StoreFront Variable for the
product ID name. Bob opens and closes the database connection for you! (if
you get an error you have placesit either too high or too low. place it near
where you already see Bob use "<%= RS("PRODUCT_ID") %>"

************************************************************
Last here is the code for your zoom.asp page:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>ZOOM</title>
<meta name="Microsoft Theme" content="none, default">
</head>
<BODY onload="self.focus()">
<script LANGUAGE="JavaScript"><!--

window.focus;

var n=navigator.appName;
var v=parseInt(navigator.appVersion);
var browsok=( ((n=="Netscape")&&(v>=3))||((n=="Microsoft Internet Explorer")&&(v>=4)));
var zoomImagestatus = "zoom_in";
var dummy = "dummy "


function hilight(me)
{
if ( zoomImagestatus != me )
{
if (me == "zoom_in") {document.images[me].src = "zoomin_h.gif"}
if (me == "zoom_out"){document.images[me].src = "zoomout_h.gif"}
if (me == "move") {document.images[me].src = "move_h.gif"}
if (me == "select") {document.images[me].src = "select_h.gif"}
if (me == "reset") {document.images[me].src = "reset_h.gif"}
}
}

function normal(me)
{
if ( zoomImagestatus != me )
{
if (me == "zoom_in") {document.images[me].src = "zoomin_n.gif"}
if (me == "zoom_out"){document.images[me].src = "zoomout_n.gif"}
if (me == "move") {document.images[me].src = "move_n.gif"}
if (me == "select") {document.images[me].src = "select_n.gif"}
if (me == "reset") {document.images[me].src = "reset_n.gif"}
}
}

function dozoomin(theimage)
{
dummy=zoomImagestatus
zoomImagestatus = "zoom_in";
normal(dummy);
if (document.ZOoMImageApplet != null) {document.ZOoMImageApplet.setZoomInMode()};
}

function dozoomout()
{
dummy=zoomImagestatus
zoomImagestatus = "zoom_out";
normal(dummy);
if (document.ZOoMImageApplet != null) {document.ZOoMImageApplet.setZoomOutMode()};
}

function domove()
{
dummy=zoomImagestatus
zoomImagestatus = "move";
normal(dummy);
if (document.ZOoMImageApplet != null) {document.ZOoMImageApplet.setPanningMode()};
}
function doselect()
{
dummy=zoomImagestatus
zoomImagestatus = "select";
normal(dummy);
if (document.ZOoMImageApplet != null) {document.ZOoMImageApplet.setSelectionMode()};
}

function doreset()
{
dummy=zoomImagestatus
hilight("zoom_in");
zoomImagestatus = "zoom_in";
normal(dummy);
if (document.ZOoMImageApplet != null) {document.ZOoMImageApplet.setStart()};
}

// --></script>
<table border="0" cellpadding="0" cellspacing="0">
<tr>

<td align="center"></td>
<td align="center">
<h4>
<a href="#" onClick="window.close();"><b>CLOSE</b><br>
</a><APPLET CODEBASE = "http://TheIPAddressOfyourZoomServer:8080/classes/"
CODE = "ZOOMImageApplet.class"
NAME = "ZOoMImageApplet"
WIDTH = 298
HEIGHT = 298 >
<param name="displayheight" value="298">
<param name="displaywidth" value="298">
<param name="server" value="http://TheIPAddressOfyourZoomServer:8080">
<%
DIM zoompic
zoompic = Request.QueryString("zoompic")

If zoompic = "" Then
zoompic="SomeDefaultProduct"
Else

End If
%>
<param name="image" value=<%= zoompic %>>
<param name="showcontrols" value="false">
</APPLET></h4>
</td>
<td align="center"></td>
</tr>
<tr>
<td colspan="3"><a href="javascript:dozoomin(this)" onMouseOut="normal('zoom_in')"
onMouseOver="hilight('zoom_in')" ><img name="zoom_in" border="0" src="zoomin_n.gif"
width="80" height="38" ></a><a href="javascript:dozoomout()" onMouseOut="normal('zoom_out')"
onMouseOver="hilight('zoom_out')"><img name="zoom_out" border="0" src="zoomout_n.gif"
width="75" height="38"></a><a href="javascript:domove()" onMouseOut="normal('move')"
onMouseOver="hilight('move')" ><img name="move" border="0" src="move_n.gif"
width="50" height="38"></a><a href="javascript:doselect()" onMouseOut="normal('select')"
onMouseOver="hilight('select')" ><img name="select" border="0" src="select_n.gif"
width="55" height="38"></a><a href="javascript:doreset()" onMouseOut="normal('reset')"
onMouseOver="hilight('reset')" ><img name="reset" border="0" src="reset_n.gif"
width="64" height="38"></a></td>
</tr>
</table></BODY>

*************************************************************

Oh yeah, use the included "converter" to convert your images to ".izo" files
and place them in the ZoomImage Server's "pub" directory. Name each image
the same name as you gave the product in StoreFront

obviously there may be some cleaning up for your particular situation, but
thie IS the code that I use and it DOES work and the only simular program
I could find cost $40,000 for unlimited products.