﻿//=======================
//
// Merging Image Slideshow
//
// http://www.astral-consultancy.co.uk/cgi-bin/hunbug/doco.cgi?11530
//
//=======================

var slideshowMergeAnimate = new Array();
var slideshowMergeTimer = new Array();
var slideshowMergeCount = new Array();
var slideshowMergeImages = new Array();

//======================
//ID = Division ID
//CL = Class or style of Division
//FadeInterval= how fast the page would fade in
//HoldTime = how long the user will see the image
//what Image to start with.
function slideshowLoadMyImages(id, cl, fadeInterval, holdTime, StartImage) 
{
    var Pic = new Array();

    Pic[4] = 'images/Default_01.jpg';
    Pic[0] = 'images/Default_02.jpg';
    Pic[1] = 'images/Default_03.jpg';
    Pic[2] = 'images/Default_04.jpg';
    Pic[3] = 'images/Default_05.jpg';

    slideshowMerge(id, cl, Pic, fadeInterval, holdTime, StartImage)
   }
   //ID = Division ID
   //CL = Class or style of Division
   //FadeInterval= how fast the page would fade in
   //HoldTime = how long the user will see the image
   //what Image to start with.

function slideshowMerge(id, cl, imageArray, fadeInterval, holdTime,StartImage) {

//Pre load the images
    for (i = 0; i < imageArray.length; i++) {
        var imgLoad = new Image();
        imgLoad.src = imageArray[i];
    }
    

    setTimeout('slideshowMergeRun(\'' + id + '\')', holdTime);
    //counter
    slideshowMergeCount[id] = 0;
    //image array
    slideshowMergeImages[id] = imageArray;
    //what to do
    slideshowMergeAnimate[id] = 'run';
    //seting the timer and what function to call
    slideshowMergeTimer[id] = setInterval('slideshowMergeAnimation(\'' + id + '\',\'' + holdTime + '\');', fadeInterval);

}

//======================

function slideshowMergeAnimation(id, holdTime) {
    var randnum;
    var lastindex1;
    var lastindex2;
    
    if (slideshowMergeAnimate[id] == 'run') {
        var obj1 = document.getElementById(id + 'img1');
        var obj2 = document.getElementById(id + 'img2');
        
        
        var opa = slideshowMergeCount[id] % 100;

        if (opa == 0) {
            
            if (obj1.src) {
                slideshowMergeAnimate[id] = 'hold';
                setTimeout('slideshowMergeRun(\'' + id + '\')', holdTime);
                obj2.src = obj1.src;
                obj2.style.display = 'block';
            }
        }
        else if (opa == 1) {

        slideshowMergeAnimate[id] = 'load';
        //alert(Math.floor(slideshowMergeCount[id] / 100) % slideshowMergeImages[id].length);
        //obj1.src = slideshowMergeImages[id][Math.floor(slideshowMergeCount[id] / 100) % slideshowMergeImages[id].length];
        randnum = Randomgen();
        lastindex1 = obj2.src.lastIndexOf("/");
        //alert("index1"+lastindex1);
        lastindex2 = slideshowMergeImages[id][randnum].lastIndexOf("/");
       // alert("index2" + lastindex2);
        
        var filename = obj2.src.substr(lastindex1);
        var filename2 = slideshowMergeImages[id][randnum].substr(lastindex2);

        //alert(filename);
         while (filename == filename2) {
             randnum = Randomgen();
             lastindex1 = obj2.src.lastIndexOf("/");
             lastindex2 = slideshowMergeImages[id][randnum].lastIndexOf("/");
             filename = obj2.src.substr(lastindex1);
             filename2 = slideshowMergeImages[id][randnum].substr(lastindex2);
            
        }

        obj1.src = slideshowMergeImages[id][randnum];
            setTimeout('slideshowMergeRun(\'' + id + '\')', holdTime);
        }
        
        obj1.style.opacity = (opa / 100).toString();
        obj1.style.filter = "alpha(opacity=" + opa.toString() + ")";
        
        obj2.style.opacity = ((100 - opa) / 100).toString();
        obj2.style.filter = "alpha(opacity=" + (100 - opa).toString() + ")";

        slideshowMergeCount[id]++;
        
        if (slideshowMergeCount[id] == (slideshowMergeImages[id].length * 100))
            slideshowMergeCount[id] = 0;
    }
}
function Randomgen() {
    var NumberOfImageToRotated = 5;
    var r = Math.floor(Math.random() * NumberOfImageToRotated);
  //alert(r);
    return r;
}
//======================

function slideshowMergeRun(id) {
   // alert("in SlideShowMargeRun");
    slideshowMergeAnimate[id] = 'run';
}

//======================
