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