 /*** Creation des variables ***/
 if(!window.JSFX)
 JSFX=new Object();
 JSFX.ImageZoomRunning = false;

 JSFX.zoomOn = function(img, zoomStep, maxZoom)
 {
 if(img)
 {
 if(!zoomStep)
 {
 if(img.mode == "EXPAND")
 zoomStep = img.height/10;
 else
 zoomStep = img.width/10;
 }

 if(!maxZoom)
 {
 if(img.mode == "EXPAND")
 maxZoom = img.height/2;
 else
 maxZoom = img.width/2;
 }


 if(img.state == null)
 {
 img.state = "OFF";
 img.index = 0;
 img.orgWidth = img.width;
 img.orgHeight = img.height;
 img.zoomStep = zoomStep;
 img.maxZoom = maxZoom;
 }

 if(img.state == "OFF")
 {
 img.state = "ZOOM_IN";
 start_zooming();
 }
 else if( img.state == "ZOOM_IN_OUT"
 || img.state == "ZOOM_OUT")
 {
 img.state = "ZOOM_IN";
 }
 }
 }
 JSFX.zoomIn = function(img, zoomStep, maxZoom)
 {
 img.mode = "ZOOM";
 JSFX.zoomOn(img, zoomStep, maxZoom);
 }
 JSFX.stretchIn = function(img, zoomStep, maxZoom)
 {
 img.mode = "STRETCH";
 JSFX.zoomOn(img, zoomStep, maxZoom);
 }
 JSFX.expandIn = function(img, zoomStep, maxZoom)
 {
 img.mode = "EXPAND";
 JSFX.zoomOn(img, zoomStep, maxZoom);
 }

 JSFX.zoomOut = function(img)
 {
 if(img)
 {
 if(img.state=="ON")
 {
 img.state="ZOOM_OUT";
 start_zooming();
 }
 else if(img.state == "ZOOM_IN")
 {
 img.state="ZOOM_IN_OUT";
 }
 }
 }

 function start_zooming()
 {
 if(!JSFX.ImageZoomRunning)
 ImageZoomAnimation();
 }

 JSFX.setZoom = function(img)
 {
 if(img.mode == "STRETCH")
 {
 img.width = img.orgWidth + img.index;
 img.height = img.orgHeight;
 }
 else if(img.mode == "EXPAND")
 {
 img.width = img.orgWidth;
 img.height = img.orgHeight + img.index;
 }
 else
 {
 img.width = img.orgWidth + img.index;
 img.height = img.orgHeight + img.index;
 }
 }

 function ImageZoomAnimation()
 {
 JSFX.ImageZoomRunning = false;
 for(i=0 ; i<document.images.length ; i++)
 {
 var img = document.images[i];
 if(img.state)
 {
 if(img.state == "ZOOM_IN")
 {
 img.index+=img.zoomStep;
 if(img.index > img.maxZoom)
 img.index = img.maxZoom;

 JSFX.setZoom(img);

 if(img.index == img.maxZoom)
 img.state="ON";
 else
 JSFX.ImageZoomRunning = true;
 }
 else if(img.state == "ZOOM_IN_OUT")
 {
 img.index+=img.zoomStep;
 if(img.index > img.maxZoom)
 img.index = img.maxZoom;

 JSFX.setZoom(img);

 if(img.index == img.maxZoom)
 img.state="ZOOM_OUT";
 JSFX.ImageZoomRunning = true;
 }
 else if(img.state == "ZOOM_OUT")
 {
 img.index-=img.zoomStep;
 if(img.index < 0)
 img.index = 0;

 JSFX.setZoom(img);

 if(img.index == 0)
 img.state="OFF";
 else
 JSFX.ImageZoomRunning = true;
 }
 }
 }
 if(JSFX.ImageZoomRunning)
 setTimeout("ImageZoomAnimation()", 40);
 } 
