﻿// JScript File
var objScroll;
objScroll = new Scroller();

function Scroll(v, sIDImageCont) {
    if (objScroll.IsScrolling)
	    return;
	
    var objDiv;
    objDiv = document.getElementById(sIDImageCont)
	
    v = v * (objDiv.parentNode.offsetWidth - 20);
	
    if (v < 0) {
	    var l;
	    var x;
	    var n;
	    var widthC;
	    var widthV;
		
	    n = Math.abs(v);
	    l = Math.abs(objDiv.offsetLeft);
	    widthC = objDiv.offsetWidth;
	    widthV = objDiv.parentNode.offsetWidth;
	    x = widthC - widthV - l;
		
	    if (x == 0) return;
		
	    if (n >= x) {
	        v = -x;
	        objDiv.LinkNext.style.visibility = "hidden";
	    }
	    
	    objDiv.LinkPrevious.style.visibility = "visible";
    }
    else if(v > 0) {
	    if (objDiv.offsetLeft >= 0)
		    return;
	    if (objDiv.offsetLeft + v >= 0) {			        
		    v = -objDiv.offsetLeft;
		    objDiv.LinkPrevious.style.visibility = "hidden";
	    }
	    
	    objDiv.LinkNext.style.visibility = "visible";
    }
    else
	    throw "Scroll value must NOT be equal to 0";
	
    objScroll.StartScroll(objDiv, 300, v);
}


function ShowImage(sIDobjDiv, iIndex) {
    var scrollcontrol;
    var objImageArray;
    
    scrollcontrol = document.getElementById(sIDobjDiv);
    objImageArray = scrollcontrol.getElementsByTagName("img");
    
    function SetVisibility(d1, d2) {
	    document.getElementById("loadingdiv").style.display = d1;
	    document.getElementById("imagediv").style.display = d2;
    }
	
    function ShowLoading() {
	    SetVisibility("", "none");
	    
        var divLoading;
        divLoading = document.getElementById("loadingdiv");
        divLoading.style.marginTop = ((objDiv.offsetHeight - divLoading.offsetHeight) / 2) + "px";
    }
	
    function ShowImage() {
	    SetVisibility("none", "");
    }
	
    function SetupNextPreviousVisibility(i) {
	    document.getElementById("lnkprevious").style.visibility = (i <= 0) ? "hidden" : "";
	    document.getElementById("lnknext").style.visibility = (i >= objImageArray.length - 1) ? "hidden" : "";
    }

    var divWhole;
    var objImageDiv;
    var objDiv;
    var objDivNav;
    var contheight = GetAvailableContentHeight();
    if (contheight < document.body.offsetHeight)
        contheight = document.body.offsetHeight;
    	
    divWhole = document.getElementById("wholediv");
    divWhole.style.width = document.body.offsetWidth + "px";
    divWhole.style.height= contheight + 20 + "px";
	
    objImageDiv = document.getElementById("imageparent");	
	
    divWhole.style.display = "";
    objImageDiv.style.display = "";
	
    var ah;		// available height
    ah = GetAvailableContentHeight();
    // UPDATED: 5-Jan-2011
    // Now we want the box to be small in size
    //objImageDiv.style.height = (ah - 50) + "px";
    if ((ah - 50) > 475)
        objImageDiv.style.height = "475px";
    else
        objImageDiv.style.height = (ah - 50) + "px";
	
    t = GetScrollY();
    t = t + (ah - objImageDiv.offsetHeight) / 2;
    objImageDiv.style.top = t + "px";
    objImageDiv.style.left = (document.documentElement.clientWidth - objImageDiv.offsetWidth) / 2 + "px";

    objDiv = document.getElementById("imagecont");
    objDiv.style.height = (objImageDiv.offsetHeight - 40) + "px";
	
    ShowLoading();
	SetupNextPreviousVisibility(iIndex);
	
    var objImg;
    objImg = document.getElementById("bigimage");
    objImg.onload = function() {
	    ShowImage();
			
	    var divImage;
	    divImage = document.getElementById("imagediv");
	    divImage.style.width = this.width + "px";
	    divImage.style.height = this.height + "px";
		
	    if (this.height < objDiv.offsetHeight) {
		    var m;
		    m = ((objDiv.offsetHeight- this.height) / 2);
		    divImage.style.marginTop = m + "px";
			
		    if (this.width < objDiv.offsetWidth)
			    objDiv.style.overflow = "auto";				
	    }
	    else
		    divImage.style.marginTop = "0px";
    }
    objImg.src = objImageArray[iIndex].getAttribute("LargeSource").replace(/&amp;/gi, "&");
    objImg.alt = objImageArray[iIndex].alt;
	
    var lp;
    var ln;
    lp = document.getElementById("lnkprevious");
    lp.onclick = function() {
	    if (iIndex > 0) {
    	    ShowLoading();
			
    	    iIndex -= 1;
    	    objImg.src = objImageArray[iIndex].getAttribute("LargeSource").replace(/&amp;/gi, "&");
    	    objImg.alt = objImageArray[iIndex].alt;
        }
        SetupNextPreviousVisibility(iIndex);
	    return false;
    }
    ln = document.getElementById("lnknext");
    ln.onclick = function() {
	    if (iIndex < objImageArray.length - 1) {
    	    ShowLoading();

    	    iIndex += 1;
    	    objImg.src = objImageArray[iIndex].getAttribute("LargeSource").replace(/&amp;/gi, "&");
    	    objImg.alt = objImageArray[iIndex].alt;
	    }
	    SetupNextPreviousVisibility(iIndex);
	    return false;
    }
}
