﻿var slideshow = false;
var widthSizer = 0;
var heightSizer = 0;
var targetWidth = 640;
var targetHeight = 480;
var loopCount = 0;
var menuLoopCount = 0;
var imageFadeCount = 0;
var slideShowCount = 0;
var timer;
var menuTimer;
var slideshowTimer;
var imageFadeTimer;
var ViewerActive = true;
var windowHeight = document.body.offsetHeight;
currentImage = 0;

function updateImgHolderSize(){
    if(loopCount == 0){
        rawHeightSizer = (targetHeight - document.getElementById("DIV_LgImgHolder").offsetHeight + 2)/20;
        rawWidthSizer = Math.floor((targetWidth - document.getElementById("DIV_LgImgHolder").offsetWidth + 2)/20);
        if(rawHeightSizer > 0){
            heightSizer = Math.floor(rawHeightSizer);
        }else if(rawHeightSizer < 0){
            heightSizer = Math.ceil(rawHeightSizer);
        }else{
            heightSizer = 0;
        }
        if(rawWidthSizer > 0){
            widthSizer = Math.floor(rawWidthSizer);
        }else if(rawWidthSizer < 0){
            widthSizer = Math.ceil(rawWidthSizer);
        }else{
            widthSizer = 0;
        }
        
    }
    if(loopCount < 19){
        width = document.getElementById("DIV_LgImgHolder").offsetWidth - 2 + widthSizer;
        height = document.getElementById("DIV_LgImgHolder").offsetHeight - 2 + heightSizer;
        document.getElementById("DIV_LgImgHolder").style.width = width + "px";
        document.getElementById("DIV_LgImgHolder").style.height = height + "px";
        loopCount++;
        timer = setTimeout("updateImgHolderSize();",10);
    }else{
        document.getElementById("DIV_LgImgHolder").style.width = targetWidth + "px";
        document.getElementById("DIV_LgImgHolder").style.height = targetHeight + "px";
        document.getElementById("PrevHit").style.height = targetHeight + "px";
        document.getElementById("NextHit").style.height = targetHeight + "px";
        document.getElementById("IMG_Holder").className = "VisibleIMG";
        document.getElementById("DIV_MenuHolder").style.width = targetWidth + "px";
        document.getElementById("DIV_MenuHolder").style.height = "0px";
        document.getElementById("DIV_MenuHolder").className = "DIV_MenuHolder";
        loopCount = 0;
        menuTimer = setTimeout("expandControls();",500);
        fadeinImage();
    }
}
        
function fadeinImage(){
    if(imageFadeCount < 11){
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        if (document.getElementById("DIV_LgImgHolder").filters) {
            try {
	            document.getElementById("DIV_LgImgHolder").filters.item("DXImageTransform.Microsoft.Alpha").opacity = 100 - (imageFadeCount * 10);
            } catch (e) {
	            document.getElementById("DIV_LgImgHolder").style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 100 - (imageFadeCount * 10) + ')';
            }
        } else {
            document.getElementById("DIV_LgImgHolder").style.opacity = 1 - (imageFadeCount / 10);
        }
        imageFadeCount++;
        imageFadeTimer = setTimeout("fadeinImage();",1);
    }else{
        if (document.getElementById("DIV_LgImgHolder").filters) {
	        document.getElementById("DIV_LgImgHolder").style.filter = '';
        } else {
            document.getElementById("DIV_LgImgHolder").style.opacity = '';
        }
        imageFadeCount = 0;
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder";
        document.getElementById("PrevHit").className = "DIV_PrevHit";
        document.getElementById("NextHit").className = "DIV_NextHit";
    }
}
        
function expandControls(){
    if(menuLoopCount < 10){
        document.getElementById("DIV_MenuHolder").style.height = (menuLoopCount * 9) + "px";
        menuTimer = setTimeout("expandControls();",10);
        menuLoopCount++;
    }else{
        menuLoopCount = 0;
        if(slideshow){
            document.getElementById("IMG_SS_CLK_" + (slideShowCount + 1)).className = "IMG_Close";
            slideshowTimer = setTimeout("slideShowTimer();",1000);
        }
    }
}

function startSlideShow(){
    slideShowCount = 0;
    slideshow = true;
    document.getElementById("IMG_SlideShow_Btn").className = "Hidden";
    document.getElementById("IMG_SS_CLK_" + (slideShowCount + 1)).className = "IMG_Close";
    slideshowTimer = setTimeout("slideShowTimer();",1000);
}

function stopSlideShow(){
    document.getElementById("IMG_SlideShow_Btn").className = "IMG_Close";
    clearTimeout(slideshowTimer);
    if(slideShowCount > 0){
        document.getElementById("IMG_SS_CLK_" + (slideShowCount + 1)).className = "Hidden";
        slideShowCount = 0;
    }
    slideshow = false;
}

function slideShowTimer(){
    slideShowCount++;
    if(slideShowCount < 10){
        document.getElementById("IMG_SS_CLK_" + (slideShowCount + 1)).className = "IMG_Close";
        document.getElementById("IMG_SS_CLK_" + (slideShowCount)).className = "Hidden";
        slideshowTimer = setTimeout("slideShowTimer();",1000);
    }else{
        document.getElementById("IMG_SS_CLK_" + (slideShowCount)).className = "Hidden";
        slideShowCount = 0;
        loadNextImage();
    }
}

function getOffSetX(target){
    var targetX = target.offsetLeft;
    for(i = 0; target.offsetParent != null; i++){
        target = target.offsetParent;
        targetX += target.offsetLeft;
    }
    return targetX;
}

function closeImageViewer(){
    clearTimeout(timer);
    clearTimeout(menuTimer);
    clearTimeout(slideshowTimer);
    clearTimeout(imageFadeTimer);
    ViewerActive = false;
    document.getElementById("DIV_PageOverlay").className = "Hidden";
    document.getElementById("DIV_LargeImageContainer").className = "Hidden";
    document.getElementById("DIV_ActualImageContainer").className = "Hidden";
    document.getElementById("IMG_Holder").className = "HiddenIMG";
}
        
function getNextImage(){
    ViewerActive = true;
    document.getElementById("DIV_LargeImageContainer").className = "DIV_LargeImageContainer";
    document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
    document.getElementById("DIV_ActualImageContainer").className = "DIV_ActualImageContainer";
    clearTimeout(timer);
    targetWidth = document.getElementById("IMG_Holder").offsetWidth;
    targetHeight = document.getElementById("IMG_Holder").offsetHeight;
    loopCount = 0;
    
    updateImgHolderSize();
}

function loadPrevImage(){
    if(imageFadeCount == 0){
        clearTimeout(slideshowTimer);
        if(slideShowCount > 0){
            document.getElementById("IMG_SS_CLK_" + (slideShowCount - 1)).className = "Hidden";
            slideShowCount = 0;
        }
        document.getElementById("DIV_PageOverlay").className = "DIV_PageOverlay";
        document.getElementById("DIV_MenuHolder").className = "Hidden";
        document.getElementById("DIV_LargeImageContainer").className = "DIV_LargeImageContainer";
        document.getElementById("PrevHit").className = "Hidden";
        document.getElementById("NextHit").className = "Hidden";
    }
    if(imageFadeCount < 11){
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        if (document.getElementById("DIV_LgImgHolder").filters) {
            try {
	            document.getElementById("DIV_LgImgHolder").filters.item("DXImageTransform.Microsoft.Alpha").opacity = imageFadeCount * 10;
            } catch (e) {
	            document.getElementById("DIV_LgImgHolder").style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + imageFadeCount * 10 + ')';
            }
        } else {
            document.getElementById("DIV_LgImgHolder").style.opacity = imageFadeCount / 10;
        }
        imageFadeCount++;
        imageFadeTimer = setTimeout("loadPrevImage();",1);
    }else{
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        imageFadeCount = 0;
        currentImage--;
        if(currentImage < 0){
            currentImage = PictureList.length - 1;
        }
        document.getElementById("IMG_Holder").className = "HiddenIMG";
        document.getElementById("IMG_Holder").src = "";
        document.getElementById("IMG_Holder").src = PictureList[currentImage];
        document.getElementById("P_PhotoCredits").innerHTML = PhotoCredits[currentImage];
        document.getElementById("P_PhotoDescr").innerHTML = PhotoDescr[currentImage];
        document.getElementById("IMG_Holder").onload = function(){getNextImage()};
    }
}

function loadImage(id){
    if(imageFadeCount == 0){
        clearTimeout(slideshowTimer);
        if(slideShowCount > 0){
            document.getElementById("IMG_SS_CLK_" + (slideShowCount - 1)).className = "Hidden";
            slideShowCount = 0;
        }
        document.getElementById("DIV_PageOverlay").className = "DIV_PageOverlay";
        document.getElementById("DIV_MenuHolder").className = "Hidden";
        document.getElementById("DIV_LargeImageContainer").className = "DIV_LargeImageContainer";
        document.getElementById("PrevHit").className = "Hidden";
        document.getElementById("NextHit").className = "Hidden";
    }
    if(imageFadeCount < 11){
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        if (document.getElementById("DIV_LgImgHolder").filters) {
            try {
	            document.getElementById("DIV_LgImgHolder").filters.item("DXImageTransform.Microsoft.Alpha").opacity = imageFadeCount * 10;
            } catch (e) {
	            document.getElementById("DIV_LgImgHolder").style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + imageFadeCount * 10 + ')';
            }
        } else {
            document.getElementById("DIV_LgImgHolder").style.opacity = imageFadeCount / 10;
        }
        imageFadeCount++;
        imageFadeTimer = setTimeout("loadImage(" + id + ");",1);
    }else{
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        imageFadeCount = 0;
        currentImage = id;
        document.getElementById("IMG_Holder").className = "HiddenIMG";
        document.getElementById("IMG_Holder").src = "";
        document.getElementById("IMG_Holder").src = PictureList[currentImage];
        document.getElementById("P_PhotoCredits").innerHTML = PhotoCredits[currentImage];
        document.getElementById("P_PhotoDescr").innerHTML = PhotoDescr[currentImage];
        document.getElementById("IMG_Holder").onload = function(){getNextImage()};
    }
}
        
function loadNextImage(){
    if(imageFadeCount == 0){
        clearTimeout(slideshowTimer);
        if(slideShowCount > 0){
            document.getElementById("IMG_SS_CLK_" + (slideShowCount + 1)).className = "Hidden";
            slideShowCount = 0;
        }
        document.getElementById("DIV_PageOverlay").className = "DIV_PageOverlay";
        document.getElementById("DIV_MenuHolder").className = "Hidden";
        document.getElementById("DIV_LargeImageContainer").className = "DIV_LargeImageContainer";
        document.getElementById("PrevHit").className = "Hidden";
        document.getElementById("NextHit").className = "Hidden";
    }
    if(imageFadeCount < 11){
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        if (document.getElementById("DIV_LgImgHolder").filters) {
            try {
	            document.getElementById("DIV_LgImgHolder").filters.item("DXImageTransform.Microsoft.Alpha").opacity = imageFadeCount * 10;
            } catch (e) {
	            document.getElementById("DIV_LgImgHolder").style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + imageFadeCount * 10 + ')';
            }
        } else {
            document.getElementById("DIV_LgImgHolder").style.opacity = imageFadeCount / 10;
        }
        imageFadeCount++;
        imageFadeTimer = setTimeout("loadNextImage();",1);
    }else{
        document.getElementById("DIV_LgImgHolder").className = "DIV_LgImgHolder BGFill";
        imageFadeCount = 0;
        currentImage++;
        if(currentImage == PictureList.length){
            currentImage = 0;
        }
        document.getElementById("IMG_Holder").className = "HiddenIMG";
        document.getElementById("IMG_Holder").src = "";
        document.getElementById("IMG_Holder").src = PictureList[currentImage];
        document.getElementById("P_PhotoCredits").innerHTML = PhotoCredits[currentImage];
        document.getElementById("P_PhotoDescr").innerHTML = PhotoDescr[currentImage];
        document.getElementById("IMG_Holder").onload = function(){getNextImage()};
    }
}

