var nomDivDiap0
var nomDivDiap1
var nomDivDiap2
var nomDivOffscreen
var nomDivDiaporamacore
var nomDivVignettes
var etatDiap = 0;
var jumpDiap = false;
var maxWidth = 450, maxHeight = 300;
var fWidth, fHeight;
var orgWidth, orgHeight;
var nxVig;
var index = 0; 
var fadeSpeed = 10; 
var refHost = '';
var wysi = 0;
var statsDone = false;
var defPauseTime = 30;
var pauseTime = 30;
var sdTimer = null;
var inStepDiap = false;
var opacity = 0;
var isScrolling = false;
var dHeight = 0.96;
var dWidth = 1;
var startOpac = 0; 
var isFireFox = navigator.userAgent.indexOf('Mozilla') >= 0;
var cheminImageZoom;
function goNext(i)
{
index = i;
etatDiap = 0;
}
function hideOnErr(im)
{
im.style.display = 'none';
}
function stepDiap(doMove, parm1)
{
if(inStepDiap) return;
inStepDiap = true;
var doStartTimer = true;
if ((document.getElementById('divdiapo').style.display == 'block') || (document.getElementById('divdiapo').style.display == 'inline')) {
if(sdTimer)
{
window.clearTimeout(sdTimer);
sdTimer = false;
}
if(doMove) etatDiap = (etatDiap + 1) % 5;	
index = parseInt(index);
switch(etatDiap)
{
case 0:
doStartTimer = false;
loadOffscreenImage(index);
sdTimer = window.setTimeout('stepDiap(0, index=' + (index + 1) + ')', 15000);
break;
case 1:
loadDiap1(parm1);
etatDiap++;
break;
case 2:
if(manageOpacity()) etatDiap++;
break;
case 3:
if(managePanZoom())
{
pauseTime = defPauseTime;
etatDiap++;
}
break;
case 4:
if(managePause()) {
manageNext();
}
break;
}
if(jumpDiap) manageNext();
etatDiap = etatDiap % 5;
}
if(doStartTimer) {
sdTimer = window.setTimeout('stepDiap(false, ' + parm1 + ')', 100);
}
inStepDiap = false;
}
function moveVig()
{
if ((document.getElementById('divdiapo').style.display == 'block') || (document.getElementById('divdiapo').style.display == 'inline')) {
DivVignettes = document.getElementById(nomDivVignettes);
var lf = DivVignettes.style.left;
var diff = 1;
var maxW = parseInt(DivVignettes.offsetWidth)/4 - diff;
checkLoaded();
if(nxVig) window.clearTimeout(nxVig);
if(!lf) {
lf = 0;
}
lf = parseInt(lf) - diff;
if(lf < - maxW) {
lf += maxW;
}
DivVignettes.style.left = lf + "px";
}
nxVig = window.setTimeout('moveVig()', 100);
}
function checkLoaded()
{
if(!sdTimer) {
stepDiap(false, -1);
}
}
function loadOffscreenImage(i)
{
if(i < 0) i = 0;
i = i % diapsSlideShow.length;
jumpDiap  = false;
startOpac = 100;
makeVars();
setOpacity(vars[nomDivDiap1].obj, opacity = 0);
index = i;
if (diapsSlideShow[index]) {
var ih = '<img id="' + nomDivDiap0 + '" src="'+ diapsSlideShow[index][0] + '" onload="stepDiap(true, ' + index + ')" onerror="loadOffscreenImage(' + (1+index) + ')"';
if (diapsSlideShow[index][1]) { ih += ' title="' + diapsSlideShow[index][1] + '"'; }
if (diapsSlideShow[index][2]) { ih += ' alt="' + diapsSlideShow[index][2] + '"'; }
ih += '>';
vars[nomDivOffscreen].obj.innerHTML = ih;
}
}
function loadDiap1(i)
{
var lf;
makeVars();
maxWidth = vars[nomDivDiaporamacore].obj.offsetWidth;
maxHeight = vars[nomDivDiaporamacore].obj.offsetHeight;
orgWidth = vars[nomDivDiap0].obj.width;
fWidth = orgWidth;
orgHeight = vars[nomDivDiap0].obj.height;
fHeight = orgHeight;
if(orgWidth < maxWidth)
{	fWidth = maxWidth;
fHeight = fHeight * (fWidth / orgWidth);
}
if(orgHeight < maxHeight)
{	fHeight = maxHeight;
fWidth = fWidth * (fHeight / orgHeight);
}
lf = (maxWidth - fWidth) / 2;
tp = (maxHeight - fHeight) / 2;
vars[nomDivDiap1].obj.src = vars[nomDivDiap0].obj.src;
vars[nomDivDiap1].obj.title = vars[nomDivDiap0].obj.title;
vars[nomDivDiap1].obj.alt = vars[nomDivDiap0].obj.alt;
vars[nomDivDiap1].style.left = lf;
vars[nomDivDiap1].style.top = tp;
vars[nomDivDiap1].obj.width = fWidth;
vars[nomDivDiap1].obj.height = fHeight;
cheminImageZoom = diapsZoom[i][0];
if((orgWidth < maxWidth) || (orgHeight < maxHeight)) vars[nomDivDiap2].style.display = 'none';
vars[nomDivDiap1].obj.style.display = 'block';
startOpac = 0;
return(true);
}
function manageOpacity()
{
makeVars();
var minS = 2;
var obj = vars[nomDivDiap1].obj;
var stepping = false;
if(fadeSpeed < minS) fadeSpeed = minS;
if(opacity <= startOpac) opacity = (startOpac + fadeSpeed);
setOpacity(obj, opacity);
opacity += fadeSpeed;
if(opacity > 100)
{	opacity = 0;
stepping = true;
}
startOpac = opacity;
return(stepping);
}
function managePanZoom()
{	var stepping = false;
makeVars();
var oHeight = vars[nomDivDiap1].obj.height;
var oWidth = vars[nomDivDiap1].obj.width;
if(jumpDiap) return true;
if(oHeight > maxHeight)
{
var nHeight = (vars[nomDivDiap1].obj.height * dHeight) - 1;
var nWidth;
if(nHeight < maxHeight) nHeight = maxHeight;
nWidth = oWidth * (nHeight / oHeight) ;
lf = (maxWidth - nWidth) / 2;
lf = Math.floor(lf);
tp = (maxHeight - nHeight) / 2;
tp = Math.floor(tp);
vars[nomDivDiap1].obj.width = nWidth;
vars[nomDivDiap1].obj.height = nHeight;
vars[nomDivDiap1].obj.style.left = lf+"px";
vars[nomDivDiap1].obj.style.top = tp+"px";
pauseTime = defPauseTime;
}
else
{
var lf = parseInt(vars[nomDivDiap1].style.left);
if(((oWidth/maxWidth) > 1.1) && (lf > -(oWidth - maxWidth)))
{
var l = lf - dWidth;
vars[nomDivDiap1].style.left = l+"px";
}
else
{	stepping = true;
}
}
return(stepping);
}
function managePause()
{
var stepping = (--pauseTime < 0);
if(jumpDiap) stepping = true;
return(stepping);
}
function manageNext()
{
makeVars();
index++;
etatDiap++;
if(vars[nomDivDiap1].obj.src)
{
vars[nomDivDiap2].style.display = 'none';
vars[nomDivDiap2].style.top = vars[nomDivDiap1].style.top;
vars[nomDivDiap2].style.left = vars[nomDivDiap1].style.left;
vars[nomDivDiap2].obj.width = vars[nomDivDiap1].obj.width+"px";
vars[nomDivDiap2].obj.height = vars[nomDivDiap1].obj.height+"px";
vars[nomDivDiap2].obj.src = vars[nomDivDiap1].obj.src;
vars[nomDivDiap2].style.display = 'block';
setOpacity(vars[nomDivDiap2].obj, 100);
}
jumpDiap = false;
}
function zoom()
{
picturepopup(cheminImageZoom, 'Diaporama')
}
function getObj(name)
{
if (document.getElementById)
{
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all)
{
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers)
{
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
function makeVars()
{
var i;
for(i in vars)
{
vars[i] = new getObj(i);
}
}
function fadeIn(objId, opacity, fadeSpeed, onMax)
{	var minS = 10;
if(fadeSpeed < minS) fadeSpeed = minS;
if(opacity <= startOpac) opacity = (startOpac + fadeSpeed);
if (document.getElementById)
{
obj = document.getElementById(objId);
if (opacity < 100)
{	setOpacity(obj, opacity);
opacity += fadeSpeed;
window.setTimeout("fadeIn('"+objId+"',"+opacity+","+fadeSpeed+", '" + onMax + "')", 100);
startOpac = opacity;
}
else
{	setOpacity(obj, 100);
opacity = 0;
startOpac = opacity;
if(onMax) eval(onMax);
}
}
}
function setOpacity(obj, opacity) {
if(opacity <= 0) opacity = 0;
if(isFireFox)
opacity = (opacity >= 100)? 99.999 : opacity;
else
opacity = (opacity >= 100) ? 100 : opacity;
obj.style.filter = "alpha(opacity:"+opacity+")";
obj.style.KHTMLOpacity = opacity/100;
obj.style.MozOpacity = opacity/100;
obj.style.opacity = opacity/100;
}
function ConstruitSlide(Diap0Name, Diap1Name, Diap2Name, OffscreenName, DiaporamaCoreName, VignettesName) {
var txt = '';
nomDivDiap0 = Diap0Name;
nomDivDiap1 = Diap1Name;
nomDivDiap2 = Diap2Name;
nomDivOffscreen = OffscreenName;
nomDivDiaporamacore = DiaporamaCoreName;
nomDivVignettes = VignettesName;
for(i = 0; i < diapsZoom.length; i++) {
txt += '<td><a href="javascript:goNext(' + i + ')"><img src="' + diapsVignettes[i][0] + '" onerror="hideOnErr(this)" onabort="(this.src=this.src)"';
if (diapsVignettes[i][1]) { txt += ' title="' + diapsVignettes[i][1] + '"'; }
if (diapsVignettes[i][2]) { txt += ' alt="' + diapsVignettes[i][2] + '"'; }
txt += '></a></td>';
}
setInnerHTMLById(nomDivVignettes, "<table><tr>" + txt + txt + txt + txt + "</tr></table>");
etatDiap = 0;
stepDiap(false, 0);
nxVig = window.setTimeout('moveVig()', 100);
}