﻿// JScript File

function ImageGalleryControl(sIDLinkPrevious, sIDLinkNext, sIDImage,
                             sIDLoading,
                             sIDLinkPrevious2, sIDLinkNext2 ) {
    var me = this;
    var lnkPrv = document.getElementById(sIDLinkPrevious);
    var lnkNxt = document.getElementById(sIDLinkNext);
    var imgPic = document.getElementById(sIDImage);
    var objLoading = document.getElementById(sIDLoading);
    var lnkPrv2 = null;
    var lnkNxt2 = null;
    
    if (sIDLinkPrevious2 != null)
        lnkPrv2 = document.getElementById(sIDLinkPrevious2);
        
    if (sIDLinkNext2 != null)
        lnkNxt2 = document.getElementById(sIDLinkNext2);
    
    var ImageArray = new Array();
    
    var CurrentImageIndex = 0;
    
    this.SetupLinkVisibility = function() {
        if (CurrentImageIndex > 0)
            lnkPrv.style.visibility = "visible"
        else
            lnkPrv.style.visibility = "hidden";
            
        if (lnkPrv2 != null)
            lnkPrv2.style.visibility = lnkPrv.style.visibility;
            
        if (CurrentImageIndex < ImageArray.length - 1)
            lnkNxt.style.visibility = "visible";
        else
            lnkNxt.style.visibility = "hidden";
        
        if (lnkNxt2 != null)
            lnkNxt2.style.visibility = lnkNxt.style.visibility;
    }
    
    function ShowImage() {
        imgPic.src = ImageArray[CurrentImageIndex];
        if (objLoading != null)
            objLoading.style.display = "";
    }
        
    this.AddImage = function(sImageURL) {
        var m = ImageArray.length;
        ImageArray[m] = sImageURL;
    }
    
    function ShowNext() {
        if (CurrentImageIndex < ImageArray.length - 1) {
            CurrentImageIndex += 1;
            ShowImage();
            me.SetupLinkVisibility();
         }
    }
    
    function ShowPrevious() {
        if (CurrentImageIndex > 0)  {
            CurrentImageIndex -= 1;
            ShowImage();
            me.SetupLinkVisibility();       
        }
    }
    
    imgPic.onload = function() {
        if (objLoading != null)
            objLoading.style.display = "none";
    }
    
    lnkNxt.onclick = function() {
        ShowNext();
        return false;
    }
    
    if (lnkNxt2 != null)
        lnkNxt2.onclick = lnkNxt.onclick;
    
    lnkPrv.onclick = function() {
        ShowPrevious();
        return false;
    }
    
    if (lnkPrv2 != null)
        lnkPrv2.onclick = lnkPrv.onclick;
}
