function PreLoadFades (imgSRCPrefix, numImages) {
    var preLoadImgs = new Array();
    for (i=2; i<=numImages; i++) {
        preLoadImgs[i] = new Image();
        preLoadImgs[i].src = imgSRCPrefix + i + '.jpg';
    }
}

function Fade_Initiate (  ) {  
    clearTimeout(timeOutsArray['FadeInLoop']);
    id = imgIDPrefix + ab;
    bigImg = document.getElementById(id);
    SetOpacity(bigImg, 1);
    bigImg.style.visibility = 'visible';
    FadeInLoop(id,1);
}

function FadeInLoop(id,opacity) {
    bigImg = document.getElementById(id);
    arrow = document.getElementById(arrow_C_IDPrefix + imgNum);
    lastArrow = document.getElementById(arrow_C_IDPrefix + lastNum); //--IF lastNum==0 THIS WILL BE UNDEFINED
    if (opacity <= 100) {
        SetOpacity(bigImg, opacity);
        SetOpacity(arrow, opacity);
        if (lastArrow) SetOpacity(lastArrow, (100-opacity) );
        opacity += fadeIncrement;
        timeOutsArray['FadeInLoop'] = window.setTimeout( "FadeInLoop('"+id+"',"+opacity+")", fadeInterval );
    } else {
        clearTimeout(timeOutsArray['FadeInLoop']);
        //Fade_Next ();
        timeOutsArray['FadeInLoop'] = window.setTimeout("Fade_Next()", nextInterval);
    }
}

function Fade_Next () { 
    PointerUpdate(0); //-- HIDE ALL UP POINTERS; THE CORRECT ONE WILL FADE IN
    clearTimeout(timeOutsArray['FadeInLoop']);
        //-- ADJUST JUST-FADED-IN IMAGE:
    id = imgIDPrefix + ab;
    bigImg = document.getElementById(id);
    bigImg.style.zIndex = 0;//-- SWAP Z INDEX 
        //-- CHANGE VARIABLES TO POINT TO OTHER IMAGE AND ADJUST IT:
    lastNum = imgNum;
    if (imgNum >= numImages) { //-- LAST IMAGE:
        imgNum = 1;
        //if (endInterval) {var thisInterval = endInterval;} else {var thisInterval = nextInterval;}
    } else {
        imgNum++;
    }
    if (ab=='A') {ab='B';} else {ab='A';}
    id = imgIDPrefix + ab;
    bigImg = document.getElementById(id);
    bigImg.src = imgSRCPrefix + imgNum + '.jpg';  //-- SWAP SRC
    bigImg.style.zIndex = 100;
    FadeInLoop(id,1);
    //timeOutsArray['FadeInLoop'] = window.setTimeout( "FadeInLoop('"+id+"',1)", thisInterval );
}  //--END Fade_Next

function PointerUpdate(num) {
    var thisArrow;
    var thisOpacity = 0;
    for (var i=1; i<=numImages; i++) {
        if (i==num) {thisOpacity = 100;} else {thisOpacity = 0;}
        thisArrow = document.getElementById(arrow_C_IDPrefix + i);
        SetOpacity(thisArrow, thisOpacity);
    }
}

function Slideshow_Pause( ) {
    clearTimeout(timeOutsArray['FadeInLoop']); //--STOP THE SLIDESHOW
    document.getElementById("slideshow_restart_btn").style.display = "block";
    document.getElementById("slideshow_pause_btn").style.display = "none";
}
function Slideshow_Restart( ) {
    document.getElementById("slideshow_restart_btn").style.display = "none";
    document.getElementById("slideshow_pause_btn").style.display = "block";
    //Fade_Initiate();; //--START THE SLIDESHOW
    Fade_Next ();
}

function PointerClick (num) {  
    Slideshow_Pause( );
    imgNum = num; //-- UPDATE GLOBAL VAR
    //if (imgNum > numImages) {imgNum -= numImages;}
    id = imgIDPrefix + ab;
    bigImg = document.getElementById(id);
    SetOpacity(bigImg, 100);
    bigImg.style.zIndex = 100;
    bigImg.src = imgSRCPrefix + num + '.jpg';  //-- SWAP SRC
    PointerUpdate(num);    
}  //--END PointerClick

function PointerOver (num) {
        var thisArrow = document.getElementById(arrow_IDPrefix + num);
        thisArrow.src = arrowSRC_U;
}
function PointerOut (num) {
        var thisArrow = document.getElementById(arrow_IDPrefix + num);
        thisArrow.src = arrowSRC;
}
