var ImageLoad = [ ['services.html', 'images/rotate/1.jpg', 'Smartmicros' ], // ['URL to linked page', 'URL to image', 'Caption under picture'] // ['solutions.html', 'images/rotate/2.jpg', 'Smartmicros' ], // The caption is not required and may be left blank like this: // ['services.html', 'images/rotate/3.jpg', 'Smartmicros' ], // ['URL to linked page', 'URL to image', ''] // ['solutions.html', 'images/rotate/4.jpg', 'Smartmicros' ], // Add as many images as you like seperated by commmas // ['services.html', 'images/rotate/5.jpg', 'Smartmicros' ], // Almost ALL errors are caused by the url or path being wrong // ['solutions.html', 'images/rotate/6.jpg', 'Smartmicros' ] // The LAST image declaration does NOT have a comma after it // ]; ////////////// var serverPath = "http://sf.smartmicros.com/web/"; //"D:/smartmicros/domains/sf.smartmicros.com/root/"; //"http://www.smartmicros.com/"; //var serverPath = "http://192.168.0.40/smartmicros/site3/"; /////////////// //global object for Transition var isf = { 'clock' : null, 'fade' : true, 'count' : 1 } isf.imgs = [ serverPath + ImageLoad[0][1], serverPath + ImageLoad[1][1], serverPath + ImageLoad[2][1], serverPath + ImageLoad[3][1], serverPath + ImageLoad[4][1], serverPath + ImageLoad[5][1] ]; /***************************************************************************** *****************************************************************************/ //cache the images if (document.images) { isf.imgsLen = isf.imgs.length; isf.cache = []; for(var i=0; i 0 && typeof isf.obj.filters.alpha == 'object' && typeof isf.obj.filters.alpha.opacity == 'number') ? 'ie' : 'none'; } else { isf.type = 'none'; } //change the image alt text if defined if(typeof arguments[3] != 'undefined' && arguments[3] != '') { isf.obj.alt = arguments[3]; } //if any kind of opacity is supported if(isf.type != 'none') { //copy and convert fade duration argument //the duration specifies the whole transition //but the swapfade is two distinct transitions isf.length = parseInt(arguments[2], 10) * 200; //create fade resolution argument as 20 steps per transition //again, split for the two distrinct transitions isf.resolution = parseInt(arguments[2], 10) * 10; //alert(isf.length+ ' / ' + isf.resolution + ' = ' + isf.length/isf.resolution); //start the timer isf.clock = setInterval('isf.swapfade()', isf.length/isf.resolution); } //otherwise if opacity is not supported else { //just do the image swap isf.obj.src = isf.src; } } }; //swapfade timer function isf.swapfade = function() { //increase or reduce the counter on an exponential scale isf.count = (isf.fade) ? isf.count * 0.9 : (isf.count * (1/0.9)); //if the counter has reached the bottom if(isf.count < (1 / isf.resolution)) { //clear the timer clearInterval(isf.clock); isf.clock = null; //do the image swap isf.obj.src = isf.src; //reverse the fade direction flag isf.fade = false; //restart the timer isf.clock = setInterval('isf.swapfade()', isf.length/isf.resolution); } //if the counter has reached the top if(isf.count > (1 - (1 / isf.resolution))) { //clear the timer clearInterval(isf.clock); isf.clock = null; //reset the fade direction flag isf.fade = true; //reset the counter isf.count = 1; } //set new opacity value on element //using whatever method is supported switch(isf.type) { case 'ie' : isf.obj.filters.alpha.opacity = isf.count * 100; break; case 'khtml' : isf.obj.style.KhtmlOpacity = isf.count; break; case 'moz' : //restrict max opacity to prevent a visual popping effect in firefox isf.obj.style.MozOpacity = (isf.count == 1 ? 0.9999999 : isf.count); break; default : //restrict max opacity to prevent a visual popping effect in firefox isf.obj.style.opacity = (isf.count == 1 ? 0.9999999 : isf.count); } }; //////////////////////////////