/*** 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);
} 