// JavaScript Document var fps = 30; var time =5; steps = time * fps; // NB maxImg is set in navElement "header" so that unused image divs can be hidden before they are rendered. IE can't find it, so define it again here: function fade() { // called from onLoad, gives delay before fading first slide setTimeout(function() { startFade() }, 2000 ) } var maxImg=0; // number of images function startFade() { // find out how many images exist on page for(var i = 1; i < 7; i++) { if(document.getElementById('fade'+i)) { if(document.getElementById('fade'+i).complete) { maxImg++; } } } if(maxImg == 1) { // single image document.getElementById('box1').style.background = document.getElementById('fade1'); } else if(maxImg == 0) { // no images - replace background colour document.getElementById('imgscroll').style.background = '#1f60a9'; } else { // fade process // determines browser type var img = document.getElementById('fade1'); if (typeof img.style.opacity != 'undefined') { var otype = 'w3c'; } else if (typeof img.style.MozOpacity != 'undefined') { otype = 'moz'; } else if (typeof img.style.KhtmlOpacity != 'undefined') { otype = 'khtml'; } else if (typeof img.filters == 'object') { otype = (img.filters.length > 0 && typeof img.filters.alpha == 'object' && typeof img.filters.alpha.opacity == 'number') ? 'ie' : 'none'; } else { otype = 'none';} // initiates fading process if browser capable if (otype != 'none' ) { dofade(1, 0, otype); } } } function dofade(imgNum, value, otype) { value += 1 / steps; if (value > 1) { value = 1; } // define the IDs of the 2 images changing opacity var imgOut = document.getElementById('fade'+imgNum); var imgIn = document.getElementById('fade'+((imgNum % maxImg) + 1)); setfade(imgOut, 1-value, otype); setfade(imgIn, value, otype); // positive and negative fading to be included into following // using value and 1-value if (value < 1) { setTimeout(function() { dofade(imgNum, value, otype); }, 1000 / fps); } else { // time delay and followimg image fade setTimeout(function() { dofade((imgNum % maxImg) + 1, 0, otype) }, 3000); } } function setfade(img, value, otype) { switch(otype) { case 'ie': img.filters.alpha.opacity = value * 100; break; case 'khtml': img.style.KhtmlOpacity = value; break; case 'moz': img.style.MozOpacity = (value == 1 ? 0.9999999 : value); break; default: img.style.opacity = (value == 1 ? 0.9999999 : value); } }