// Custom javascript/php for index page slide show.
//
var rememberSlides = 0;
var randomSlides = false;
var repeatTitle = 7;
var PI = Math.PI;
var twoPI = PI * 2;
var rads = [PI,0];
var increment = twoPI / 200;
var initOpacity =[100,0];
var started = [0,1];
var intervalID;
var i, j, k, x, y;
var titleX, titleY;
var rangeX, rangeY;
var jumpX, jumpY;
var lastX, lastY;
var sourceArray = [];
var slideArray = [];
var slideQueue = [];
var recentSlides = [];
var box = new Object();
var delay;
var slidePath = "annonces/";
var slideName = "";
var slideType = ".jpg";
var slideCount = 9;
function loadShow(bW, bH, bT, dT, startTitle, alt, tX, tY)
{
box.width = bW;
box.height = bH;
box.top = bT;
box.bottom = box.top + box.height;
delay = dT;
titleX = tX;
titleY = tY;
j=0;
if (document.images)
{
sourceArray[0] = "annonces/1.jpg";
sourceArray[1] = "annonces/2.jpg";
sourceArray[2] = "annonces/3.jpg";
sourceArray[3] = "annonces/4.jpg";
sourceArray[4] = "annonces/5.jpg";
sourceArray[5] = "annonces/6.jpg";
sourceArray[6] = "annonces/7.jpg";
sourceArray[7] = "annonces/8.jpg";
sourceArray[8] = "annonces/9.jpg";
}
slideArray = sourceArray.slice();
recentSlides.length = rememberSlides;
if (startTitle)
{
document.titleSlide = new Image();
document.titleSlide.src = startTitle;
slideQueue[0] = document.titleSlide;
started[0] = 1;
}
j = slideCount - 1;
for (i=started[0]; i<3; i++)
{
if(randomSlides)
{j = Math.floor(Math.random() * slideArray.length);}
document["slide"+j] = new Image();
// document["slide"+j].src = slidePath + slideName + slideArray[j] + slideType;
document["slide"+j].src = slideArray[j];
slideQueue[i] = document["slide"+j];
if(!randomSlides)
{slideArray.push(slideArray[j]);}
slideArray.splice(j,1);
if(slideArray.length == 0)
{slideArray = sourceArray.slice();}
recentSlides.shift();
recentSlides.push(slideArray[j]);
j = 0; //started[0] = 1;
}
document.write("
\n");
document.write("

\n");
document.write("

\n");
document.write("
\n");
for (i=0; i<2; i++)
{
document["frame"+i].style.position = "absolute";
document["frame"+i].style.filter = "alpha(opacity=" + initOpacity[i] * started[i] + ")";
document["frame"+i].style.opacity = initOpacity[i] / 100 * started[i];
document["frame"+i].style.zoom = 1;
}
if (startTitle)
{
document.frame0.style.left = titleX + "px";
document.frame0.style.top = titleY + "px";
}
}
function startShow()
{
k = 0;
lastX = lastY = 0;
newSlide(1);
intervalID = setInterval("changeOpacity()", delay);
}
function changeOpacity()
{
for (i=0 ; i<2 ; i++)
{
var opacity = (60 * -(Math.cos(rads[i])) + 60) * started[i];
document["frame"+i].style.filter = "alpha(opacity="+opacity+")";
document["frame"+i].style.opacity = opacity / 100;
rads[i] += increment;
if (rads[i] > twoPI)
{
started[i]=1;
newSlide(i);
rads[i] = 0;
}
}
}
function newSlide(i)
{
j=0;
if (k == repeatTitle && document.titleSlide)
{
k = 0;
document["frame"+i].src = document.titleSlide.src;
x = titleX;
y = titleY;
}
else
{
var YHeight, YScroll, YTotal;
if(navigator.appVersion.match("MSIE"))
{
YHeight = document.body.clientHeight;
YScroll = document.body.scrollTop;
}
else
{
YHeight = window.innerHeight;
YScroll = window.pageYOffset;
}
YTotal = YHeight + YScroll;
box.above = (YScroll - box.top) * (YScroll > box.top) * (box.top > 0);
box.below = (box.bottom - YTotal) * (box.bottom > YTotal) * (box.top > 0);
box.showing = box.height - (box.above + box.below);
if(randomSlides)
{
do {j = Math.floor(Math.random() * slideArray.length);}
while (recentSlides.indexOf(slideArray[j]) != -1);
}
if(!document["slide"+slideArray[j]])
{
document["slide"+slideArray[j]] = new Image();
// document["slide"+slideArray[j]].src = slidePath + slideName + slideArray[j] + slideType;
document["slide"+slideArray[j]].src = slideArray[j];
}
slideQueue.shift();
slideQueue.push(document["slide"+slideArray[j]]);
recentSlides.shift();
recentSlides.push(slideArray[j]);
if(!randomSlides)
{slideArray.push(slideArray[j]);}
slideArray.splice(j,1);
if(slideArray.length == 0)
{slideArray = sourceArray.slice();}
document["frame"+i].src = slideQueue[0].src;
rangeX = box.width - slideQueue[0].width;
rangeY = box.showing - slideQueue[0].height;
jumpX = Math.floor(rangeX/8);
jumpY = Math.floor(rangeY/4);
do {x = Math.floor(Math.random() * rangeX);}
while (Math.abs(lastX - x) < jumpX);
do {y = Math.floor(Math.random() * rangeY);}
while (Math.abs(lastY - y) < jumpY);
lastX = x; lastY = y;
}
y += box.above;
document["frame"+i].style.left = x + "px";
document["frame"+i].style.top = y + "px";
k++;
}
// To make Array.indexOf work in Explorer
//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license
// Courtesy of http://www.hunlock.com/blogs/Mastering_Javascript_Arrays
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}