//Configuration
var iImageHeight = 130;
var iImageWidth = 200;
var iSwitchTimeDelay = 1000;
var iTimeBetweenSwitch = 8000;

//Script
var iImagesPerPage = 0;
var iImageCount = 0;
var iImagesPerThumb = 0;
var aThumbImages = new Array();

function timerShow() {
    oGeneralTimer = setTimeout("timerDo()", iTimeBetweenSwitch);
}

function timerDo() {
   iTimeDelay = 0;

   for (iCurrentThumb = 1; iCurrentThumb <= iImagesPerPage; iCurrentThumb++) {
           setTimeout("opacityChange(" + iCurrentThumb + ", 100, 0, 500)", iTimeDelay);
           iTimeDelay = iTimeDelay + iSwitchTimeDelay;
   }

   timerShow();
}

function addContent(sWebRoot, sSectionDir, iTotalSectionImages) {
    bContainersExist = true;

    oThumbStages = document.getElementById('thumbStages').getElementsByTagName("div");
    for (iDivPos = 0; iDivPos < oThumbStages.length; iDivPos++) {
        if (oThumbStages[iDivPos].id.substr(0, 13) == "galleryThumb_") {
            iImagesPerPage++;
        }
    }

    iImageCount = iImagesPerPage * Math.floor(iTotalSectionImages / iImagesPerPage);
    iImagesPerThumb = iImageCount / iImagesPerPage;

    if (iImageCount < iImagesPerPage) {
        return;
    }

    iSelectedImagesCount = 1;
    aSelectedImages = new Array;

    for (iCurrentThumb = 1; iCurrentThumb <= iImagesPerPage; iCurrentThumb++) {
        sContent = '';
        bIsFirst = true;

        while (iSelectedImagesCount <= (iCurrentThumb * iImagesPerThumb)) {
            iImage = Math.round((iImageCount - 1) * Math.random() + 1);
            bNumberExists = false;

            for (iSelectedImagesPos = 1; iSelectedImagesPos <= iSelectedImagesCount; iSelectedImagesPos++) {
                if (aSelectedImages[iSelectedImagesPos] == iImage) {
                    bNumberExists = true;
                }
            }

            if (bNumberExists == false) {
                if (bIsFirst) {
                    sContent += '<img id="imgThumb_' + iSelectedImagesCount + '" style="border: none;" src="' + sWebRoot + 'media/thumb/' + sSectionDir + '/image-' + iImage + '.jpg" width="' + iImageWidth + '" height="' + iImageHeight + '" alt="" />';
                    aThumbImages[iCurrentThumb] = iSelectedImagesCount;
                } else {
                    sContent += '<img id="imgThumb_' + iSelectedImagesCount + '" style="border: none; display: none; opacity:0; filter: alpha(opacity=0);" src="' + sWebRoot + 'media/thumb/' + sSectionDir + '/image-' + iImage + '.jpg" width="' + iImageWidth + '" height="' + iImageHeight + '" alt="" />';
                }
                bIsFirst = false;

                aSelectedImages[iSelectedImagesCount] = iImage;
                iSelectedImagesCount++;
            }
        }

        if (oGallery = document.getElementById("galleryThumb_" + iCurrentThumb)) {
            oGallery.innerHTML = sContent ;
        } else {
            bContainersExist = false;
        }
    }

    if (bContainersExist) {
        timerShow();
    }
}

function opacityChange(iThumbSwitch, iOpacStart, iOpacEnd, iChangeTime) {
    var iSpeed = Math.round(iChangeTime / 100);
    var iTimer = 0;

    iID = aThumbImages[iThumbSwitch];

    if (iOpacStart > iOpacEnd) {
        for(i = iOpacStart; i >= iOpacEnd; i--) {
            setTimeout("changeOpac(" + i + ", '" + iThumbSwitch + "', 0)", (iTimer * iSpeed));
            iTimer++;
        }
    } else {
        if (iOpacStart < iOpacEnd) {
            if (iOpacStart == 0) {
                document.getElementById('imgThumb_' + iID).style.display = 'block';
            }
            for (i = iOpacStart; i <= iOpacEnd; i++) {
                setTimeout("changeOpac(" + i + ", '" + iThumbSwitch + "', 1)", (iTimer * iSpeed));
                iTimer++;
            }
        }
    }
}

function changeOpac(iOpacity, iThumbSwitch, iStatus) {
    iID = aThumbImages[iThumbSwitch];

    var oObject = document.getElementById('imgThumb_' + iID).style;
    oObject.opacity = (iOpacity / 100);
    oObject.MozOpacity = (iOpacity / 100);
    oObject.KhtmlOpacity = (iOpacity / 100);
    oObject.filter = "alpha(opacity=" + iOpacity + ")";
    if ((iStatus == 0) && (iOpacity == 0)) {
        oObject.display = 'none';

        aThumbImages[iThumbSwitch]++;
        iMinPosValue = (parseInt(iThumbSwitch) - 1) * parseInt(iImagesPerThumb) + 1;
        iMaxPosValue = iMinPosValue + parseInt(iImagesPerThumb) - 1;

        if (aThumbImages[iThumbSwitch] > iMaxPosValue) {
            aThumbImages[iThumbSwitch] = iMinPosValue;
        }

        opacityChange(iThumbSwitch, 0, 100, 500);
    }
}

