﻿function slideThumbnail(pPrefix, pImageArray, pControlWidth, pThumbnailWidth, pThumbnailHeight, pTextHeight) {
    var stnObject = new Object();
    var e1ThumbnailTitleFind;
    var e1ThumbnailSummaryFind;
    var e1ActiveThumbnail;
    

    stnObject.PreFix = "stn_" + pPrefix + "_";            // PreFix which is added to all the elements.
    stnObject.ImageObjectArray = pImageArray; // Array of objects containing the data for images

    stnObject.firstThumbnailPic;  //the counter for the thumbnail image array
    stnObject.elSlideShowContainer = null;
    stnObject.title = null;
    stnObject.summary = null;
    stnObject.elImageDots = new Array();
    stnObject.showDots = 4;

    thumbnailWidth = parseInt(pThumbnailWidth);
    stnObject.constThumbnailWidth = (thumbnailWidth - 6) + "px";
    stnObject.constThumbnailHeight = (parseInt(pThumbnailHeight) - 6) + "px";
    stnObject.countThumbnail = Math.floor((parseInt(pControlWidth) - 6) / thumbnailWidth);
    stnObject.textHeight = pTextHeight;

    stnObject.images = {};
    stnObject.images.dot = new Array();
    stnObject.images.dot[0] = "/news/images/gray_status.gif";
    stnObject.images.dot[1] = "/news/images/gray_active_status.gif";
    stnObject.images.navButton = new Array();
    stnObject.images.navButton[0] = "/news/images/left_gray_btn.gif";
    stnObject.images.navButton[1] = "/news/images/right_gray_btn.gif";

    

    stnObject.loadSTN = function() {
        if ("undefined" == typeof stnObject.ImageObjectArray || null == stnObject.ImageObjectArray) {
            alert("No data!");
            return false;
        }

        stnObject.firstThumbnailPic = 0;

        stnObject.buildHTML();        // Adds HTML Element to the document
        stnObject.displayThumbnail();
    }

    stnObject.buildHTML = function() {
        document.write("<div id=\"" + stnObject.PreFix + "slideShowContainer\"></div>");
        stnObject.elSlideShowContainer = document.getElementById(stnObject.PreFix + "slideShowContainer");
        stnObject.elSlideShowContainer.className = "slideShowContainer";
        document.write("<div id=\"" + stnObject.PreFix + "ThumbNailTitle\"></div>");
        stnObject.title = document.getElementById(stnObject.PreFix + "ThumbNailTitle");
        document.write("<div id=\"" + stnObject.PreFix + "ThumbNailSummary\"></div>");
        stnObject.summary = document.getElementById(stnObject.PreFix + "ThumbNailSummary");

        stnObject.addHeading();
        stnObject.addThumbnailBar();
    }

    stnObject.addHeading = function () {
        el_p = document.createElement("div");
        stnObject.elSlideShowContainer.appendChild(el_p);
        el_p.className = "divHeading";

        el_p1 = document.createElement("a");
        el_p.appendChild(el_p1);
        el_p1.className = "divHeading1";
        el_p1.innerHTML = "Multimedia &#187;";
        el_p1.href = "/news/multimedia.aspx";


        if (0 != stnObject.ImageObjectArray.length) {
            el_p2 = document.createElement("span");
            el_p.appendChild(el_p2);
            el_p2.className = "divHeading2";

            elThumbnailSpanPrevious = document.createElement("span");
            el_p2.appendChild(elThumbnailSpanPrevious);

            elThumbnailLinkPrevious = document.createElement("a");
            elThumbnailSpanPrevious.appendChild(elThumbnailLinkPrevious);
            elThumbnailLinkPrevious.className = "navButton";
            elThumbnailLinkPrevious.href = "javascript:void(0);";
            elThumbnailLinkPrevious.alt = elThumbnailLinkPrevious.title = "Previous";
            //elThumbnailLinkPrevious.onclick = stnObject.processThumbnailPrevious;

            elThumbnailLinkPreviousImg = document.createElement("img");
            elThumbnailLinkPrevious.appendChild(elThumbnailLinkPreviousImg);
            elThumbnailLinkPreviousImg.alt = elThumbnailLinkPreviousImg.title = "Previous";
            elThumbnailLinkPreviousImg.src = stnObject.images.navButton[0];
            elThumbnailLinkPreviousImg.onclick = stnObject.processThumbnailPrevious;

          
            stnObject.showDots = (stnObject.countThumbnail < stnObject.showDots) ? stnObject.showDots : stnObject.countThumbnail;
            
            for (dot = 0; dot < stnObject.showDots; ++dot) {
                elThumbnailSpanDot = document.createElement("span");
                el_p2.appendChild(elThumbnailSpanDot);

                elThumbnailLinkDot = document.createElement("a");
                elThumbnailSpanDot.appendChild(elThumbnailLinkDot);
                elThumbnailLinkDot.className = "navDots";
                elThumbnailLinkDot.href = "javascript:void(0);";
                elThumbnailLinkDot.title = elThumbnailLinkDot.alt = "Page " + (dot + 1);
                elThumbnailLinkDot.setAttribute("PageNumber", dot);
                elThumbnailLinkDot.onclick = stnObject.processThumbnailDot;

                elThumbnailLinkDotImg = document.createElement("img");
                elThumbnailLinkDot.appendChild(elThumbnailLinkDotImg);
                stnObject.elImageDots[dot] = elThumbnailLinkDotImg;

                // GJB - Fixed problem with no dots showing up at first when by default the first page shows.
                elThumbnailLinkDotImg.src = dot == 0 ? stnObject.images.dot[1] : stnObject.images.dot[0];

                elThumbnailLinkDotImg.title = elThumbnailLinkDotImg.alt = "Page " + (dot + 1);
                elThumbnailLinkDotImg.onclick = stnObject.processThumbnailDot;
            }

            elThumbnailSpanNext = document.createElement("span");
            el_p2.appendChild(elThumbnailSpanNext);

            elThumbnailLinkNext = document.createElement("a");
            elThumbnailSpanNext.appendChild(elThumbnailLinkNext);
            elThumbnailLinkNext.className = "navButton";

            elThumbnailLinkNext.href = "javascript:void(0);";
            elThumbnailLinkNext.alt = elThumbnailLinkNext.title = "Next";
            //elThumbnailLinkNext.onclick = stnObject.processThumbnailNext;

            elThumbnailLinkNextImg = document.createElement("img");
            elThumbnailLinkNext.appendChild(elThumbnailLinkNextImg);
            elThumbnailLinkNextImg.alt = elThumbnailLinkNextImg.title = "Next";
            elThumbnailLinkNextImg.src = stnObject.images.navButton[1];
            elThumbnailLinkNextImg.onclick = stnObject.processThumbnailNext;
        }
    }



    stnObject.addThumbnailBar = function () {
        if (0 != stnObject.ImageObjectArray.length) {
            elThumbnailDivBuild = document.createElement("div");
            stnObject.elSlideShowContainer.appendChild(elThumbnailDivBuild);
            elThumbnailDivBuild.id = stnObject.PreFix + "displayThumbnailDiv";
            elThumbnailDivBuild.className = "ClassThumbnailDivBuild";
            // Commented coz we dont require the background color
            //            if (navigator.userAgent.indexOf("MSIE") != -1) {
            //                elThumbnailDivBuild.style.display = "block";
            //                elThumbnailDivBuild.style.height = (parseInt(stnObject.textHeight) + parseInt(stnObject.constThumbnailHeight)) + "px";
            //            }
            //            else elThumbnailDivBuild.style.display = "inline-table";

            var newCount;
            for (count = 0; count < stnObject.countThumbnail; ++count) {
                newCount = (stnObject.firstThumbnailPic + count) % stnObject.ImageObjectArray.length;

                elThumbnailSpan = document.createElement("div");
                elThumbnailDivBuild.appendChild(elThumbnailSpan);
                elThumbnailSpan.className = "photo navBarSpan";

                elThumbnailImageA = document.createElement("a");
                elThumbnailSpan.appendChild(elThumbnailImageA);
                elThumbnailImageA.className = "imgLink";
                elThumbnailImageA.href = "javascript:void(0);";
                elThumbnailImageA.onclick = stnObject.processThumbnailImage;

                elSpan = document.createElement("span");
                elThumbnailImageA.appendChild(elSpan);
                elSpan.id = stnObject.PreFix + "displayThumbnailSpanOverlay" + count;
                elSpan.className = "spanClass";

                elThumbnailImage = document.createElement("img");
                elThumbnailImageA.appendChild(elThumbnailImage);
                elThumbnailImage.id = stnObject.PreFix + "displayThumbnailImage" + count;
                elThumbnailImage.style.width = stnObject.constThumbnailWidth;
                elThumbnailImage.style.height = stnObject.constThumbnailHeight;
                elThumbnailImage.style.opacity = 0.4;
                elThumbnailImage.style.filter = 'alpha(opacity=40)';

                elThumbnailImage.alt = "";


                elThumbnailImage.setAttribute('onmouseover', 'ImageDescription(' + count + ',this)');
                // elThumbnailImage.onmouseover = ImageDescription(' + count + ', this);

                elThumbnailImage.onmouseover = new Function('ImageDescription(' + count + ',this)');



                elThumbnailDescription = document.createElement("div");
                elThumbnailSpan.appendChild(elThumbnailDescription);

                elThumbnailDescription.id = stnObject.PreFix + "displayThumbnailDescription" + count;
                elThumbnailDescription.style.width = stnObject.constThumbnailWidth;
                elThumbnailDescription.style.height = stnObject.textHeight;
                elThumbnailDescription.className = "description";
            }
        }
    }


    ImageDescription = function (cnt, form) {


        e1ThumbnailTitleFind.style.visiblility = 'visible';
        e1ThumbnailSummaryFind.style.visibility = 'visible';
        // newCount = (stnObject.firstThumbnailPic + cnt) % stnObject.ImageObjectArray.length;
        if (stnObject.firstThumbnailPic == 0)
            newCount = (stnObject.firstThumbnailPic + cnt) % (stnObject.ImageObjectArray.length);
        else if (stnObject.firstThumbnailPic == stnObject.ImageObjectArray.length)
            newCount = ((stnObject.firstThumbnailPic - 3) + cnt) % (stnObject.ImageObjectArray.length);

        else if (stnObject.firstThumbnailPic / stnObject.showDots > 1)
            newCount = ((stnObject.firstThumbnailPic - 2) + cnt) % (stnObject.ImageObjectArray.length);

        else if (stnObject.firstThumbnailPic / stnObject.showDots == 1)
            newCount = ((stnObject.firstThumbnailPic - 1) + cnt) % (stnObject.ImageObjectArray.length);

        /*        if (stnObject.firstThumbnailPic == stnObject.ImageObjectArray.length)

        newCount = (stnObject.firstThumbnailPic + cnt) % (stnObject.ImageObjectArray.length) + 9;*/
        e1ThumbnailTitleFind = stnObject.title;
        e1ThumbnailTitleFind.style.fontFamily = 'arial,tahoma';
        e1ThumbnailTitleFind.style.fontWeight = 'bold';
        e1ThumbnailTitleFind.style.color = '#383838';
        e1ThumbnailTitleFind.style.fontSize = '12px';
        e1ThumbnailTitleFind.style.textTransform = 'uppercase';
        e1ThumbnailSummaryFind = stnObject.summary;
        e1ThumbnailSummaryFind.style.fontFamily = 'arial,tahoma';
        e1ThumbnailSummaryFind.style.fontSize = '9pt';
        e1ThumbnailSummaryFind.style.color = '#383838';
        e1ThumbnailTitleFind.innerHTML = stnObject.ImageObjectArray[newCount].Caption.replace("\r\n", "<br>").replace("\r", "<br>").replace("\n", "<br>");
        var temp = stnObject.ImageObjectArray[newCount].Description;
        if (temp.length > 150) {


            temp = temp.substring(0, 150);
            temp = temp.replace(/\w+$/, '');

            e1ThumbnailSummaryFind.innerHTML = temp;
        }
        else
            e1ThumbnailSummaryFind.innerHTML = temp;

        e1ActiveThumbnail = cnt;
        for (count = 0; count < stnObject.countThumbnail; ++count) {
            //newCount = (stnObject.firstThumbnailPic + count) % stnObject.ImageObjectArray.length;
            elThumbnailImageFind = document.getElementById(stnObject.PreFix + "displayThumbnailImage" + count);
            elThumbnailImageFind.style.opacity = '0.4';
            elThumbnailImageFind.style.filter = 'alpha(opacity=40)';

        }

        document.getElementById(form.id).style.opacity = '1.0';
        document.getElementById(form.id).style.filter = 'alpha(opacity=100)';

    }



  
    stnObject.displayThumbnail = function() {
        var elThumbnailImageFind;
        var elThumbnailDescriptionFind;
        var newCount;

        e1ThumbnailTitleFind = document.getElementById(stnObject.PreFix + "ThumbNailTitle");
        e1ThumbnailSummaryFind = document.getElementById(stnObject.PreFix + "ThumbNailSummary");

        for (count = 0; count < stnObject.countThumbnail; ++count) {
            elThumbnailImageFind = document.getElementById(stnObject.PreFix + "displayThumbnailImage" + count);
            elThumbnailDescriptionFind = document.getElementById(stnObject.PreFix + "displayThumbnailDescription" + count);
            elThumbnailOverlayFind = document.getElementById(stnObject.PreFix + "displayThumbnailSpanOverlay" + count);

            if (null != elThumbnailImageFind) {

                
                if (stnObject.firstThumbnailPic==0)
                    newCount = (stnObject.firstThumbnailPic + count) % (stnObject.ImageObjectArray.length);
                else if (stnObject.firstThumbnailPic == stnObject.ImageObjectArray.length)
                    newCount = ((stnObject.firstThumbnailPic - 3) + count) % (stnObject.ImageObjectArray.length);

               else if(stnObject.firstThumbnailPic/stnObject.showDots>1)
                   newCount = ((stnObject.firstThumbnailPic - 2) + count) % (stnObject.ImageObjectArray.length);

               else if (stnObject.firstThumbnailPic / stnObject.showDots == 1)
                   newCount = ((stnObject.firstThumbnailPic - 1) + count) % (stnObject.ImageObjectArray.length);


                
                if (stnObject.ImageObjectArray[newCount].Type == 2) {
                    elThumbnailImageFind.setAttribute("FileID", "/news/multimedia/media.aspx?type=PG&id=" + stnObject.ImageObjectArray[newCount].FileID);
                }
                else {
                    elThumbnailImageFind.setAttribute("FileID", "/news/multimedia/media.aspx?type=M&id=" + stnObject.ImageObjectArray[newCount].FileID);
                }
                elThumbnailImageFind.src = "/news/" + stnObject.ImageObjectArray[newCount].Location;

                if (null != elThumbnailOverlayFind) {
                    if (stnObject.ImageObjectArray[newCount].Location.indexOf("audio") != -1)
                        elThumbnailOverlayFind.className = "spanAudioClass";
                    else if (stnObject.ImageObjectArray[newCount].Location.indexOf("video") != -1)
                        elThumbnailOverlayFind.className = "spanVideoClass";
                    else if (stnObject.ImageObjectArray[newCount].Location.indexOf("slide_show") != -1)
                        elThumbnailOverlayFind.className = "spanCameraClass";
                    else if (stnObject.ImageObjectArray[newCount].Location.indexOf("photo") != -1)
                        elThumbnailOverlayFind.className = "spanCameraClass";
                    else
                        elThumbnailOverlayFind.className = "spanClass";
                }
//                if (null != elThumbnailDescriptionFind) {
//                    elThumbnailDescriptionFind.innerHTML = stnObject.ImageObjectArray[newCount].Caption.replace("\r\n", "<br>").replace("\r", "<br>").replace("\n", "<br>");
//                } // end if
            }
        } // end for
        if (null != e1ActiveThumbnail) {
            e1ThumbnailTitleFind.innerHTML = stnObject.ImageObjectArray[newCount-(count-1)+e1ActiveThumbnail].Caption.replace("\r\n", "<br>").replace("\r", "<br>").replace("\n", "<br>");
            var temp = stnObject.ImageObjectArray[newCount - (count - 1) + e1ActiveThumbnail].Description;
            if (temp.length > 150) {
                temp = temp.substring(0, 150);
                temp = temp.replace(/\w+$/, '');
                e1ThumbnailSummaryFind.innerHTML = temp;
            }
            else
                e1ThumbnailSummaryFind.innerHTML = temp;
        }
        
    }

  

    stnObject.processThumbnailImage = function(e) {
        el = (null != e) ? e.target : window.event.srcElement;
        if (el != null) {
            els = el.getAttribute("FileID");
            if (els != null)
                win = window.open(els, "Multimedia");
        }
    }


    stnObject.processThumbnailNext = function () {

        //stnObject.firstThumbnailPic = (stnObject.firstThumbnailPic - stnObject.showDots) % stnObject.ImageObjectArray.length;
        if (stnObject.firstThumbnailPic == stnObject.ImageObjectArray.length)
            stnObject.firstThumbnailPic = 0;
        else {
            stnObject.firstThumbnailPic = (stnObject.firstThumbnailPic + stnObject.showDots) % stnObject.ImageObjectArray.length;

            if (stnObject.firstThumbnailPic == 0)
                stnObject.firstThumbnailPic += stnObject.ImageObjectArray.length;
        }

        stnObject.displayThumbnail();
        stnObject.resetDots();

        if (stnObject.firstThumbnailPic % stnObject.showDots == 0) {
            stnObject.elImageDots[stnObject.firstThumbnailPic / stnObject.showDots].src = stnObject.images.dot[1];

        }

    }


    stnObject.processThumbnailPrevious = function() {
        stnObject.firstThumbnailPic = (stnObject.firstThumbnailPic - stnObject.showDots) % stnObject.ImageObjectArray.length;

        if (stnObject.firstThumbnailPic < 0)
            stnObject.firstThumbnailPic = stnObject.ImageObjectArray.length;

        stnObject.displayThumbnail();
        stnObject.resetDots();
        if (stnObject.firstThumbnailPic % stnObject.showDots == 0) {
            stnObject.elImageDots[stnObject.firstThumbnailPic / stnObject.showDots].src = stnObject.images.dot[1];
        }
    }

    stnObject.processThumbnailDot = function (e) {
        el = (null != e) ? e.target : window.event.srcElement;

        if (el.nodeName == "IMG")
            el = el.parentNode;

        stnObject.resetDots();
        pPage = el.getAttribute("PageNumber");

        if ("undefined" != typeof pPage && null != pPage) {
            stnObject.firstThumbnailPic = stnObject.showDots * pPage;
          

            stnObject.elImageDots[pPage].src = stnObject.images.dot[1];
            stnObject.displayThumbnail();
        }
    }

    stnObject.resetDots = function() {
        for (index = 0; index < stnObject.elImageDots.length; ++index)
            stnObject.elImageDots[index].src = stnObject.images.dot[0];
    }

    // Actual Call
    stnObject.loadSTN();

    function Default() {
        e1ThumbnailTitleFind.style.visiblility = 'visible';
        e1ThumbnailTitleFind.style.fontFamily = 'arial,tahoma';
        e1ThumbnailTitleFind.style.fontWeight = 'bold';
        e1ThumbnailTitleFind.style.color = '#383838';
        e1ThumbnailTitleFind.style.fontSize = '12px';
        e1ThumbnailTitleFind.style.textTransform = 'uppercase';
        e1ThumbnailSummaryFind.style.visibility = 'visible';
        e1ThumbnailSummaryFind.style.fontFamily = 'arial,tahoma';
        e1ThumbnailSummaryFind.style.fontSize = '9pt';
        e1ThumbnailSummaryFind.style.color = '#383838';
        e1ThumbnailTitleFind.innerHTML = stnObject.ImageObjectArray[0].Caption.replace("\r\n", "<br>").replace("\r", "<br>").replace("\n", "<br>");
        var temp = stnObject.ImageObjectArray[0].Description;
        if (temp.length > 150) {


            temp = temp.substring(0, 150);
            temp = temp.replace(/\w+$/, '');

            e1ThumbnailSummaryFind.innerHTML = temp;
        }
        else
            e1ThumbnailSummaryFind.innerHTML = temp;

        elThumbnailImageFind = document.getElementById(stnObject.PreFix + "displayThumbnailImage" + 0);
        elThumbnailImageFind.src = "/news/" + stnObject.ImageObjectArray[0].Location;
        elThumbnailImageFind.style.opacity = "1.0";
        elThumbnailImageFind.style.filter = 'alpha(opacity=100)';
        e1ActiveThumbnail = 0;
       

}
window.onload = Default;
}

