var Images = {

    arrayLength: imageArray.length - 1,

    currentImage: "",
    nextImage: "",
    previousImage: "",


    imgElm: "target-image",
    imgHeader: "image-header",
    textHeader: "text-header",
    textContent: "image-content-text",
    textFacts: "image-facts",
    currentImageNumber: "image-current-number",
    totalAmmount: "image-total-ammount",
    imgHighRes: "high-res-image",
    showThumbnails: "show-miniatures",

    OpenZoom: function () {
        Images.OpenWindow("/Templates/Public/Pages/ImageZoom.aspx?imageurl=" + imageArray[this.currentImage][10], "zoom");
    },

    OpenWindow: function (aURL, aWinName) {
        var wOpen;
        var sOptions;

        sOptions = 'status=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no';
        sOptions = sOptions + ',width=' + (screen.availWidth - 10).toString();
        sOptions = sOptions + ',height=' + (screen.availHeight - 122).toString();
        sOptions = sOptions + ',screenX=0,screenY=0,left=0,top=0';

        wOpen = window.open('', aWinName, sOptions);
        wOpen.location = aURL;
        wOpen.focus();
        wOpen.moveTo(0, 0);
        wOpen.resizeTo(screen.availWidth, screen.availHeight);
        return wOpen;
    },

    ShowImage: function () {
        var imgElm = $(this.imgElm);
        var imgHeader = $(this.imgHeader);
        var textHeader = $(this.textHeader);
        var textContent = $(this.textContent);
        var textFacts = $(this.textFacts);
        var currentImageNumber = $(this.currentImageNumber);
        var totalAmmount = $(this.totalAmmount);
        var imgHighRes = $(this.imgHighRes);
        //if(imgElm&&this.currentImage[0]) {
        if (imgElm) {
            imgElm.src = imageArray[this.currentImage][0];
            /*imgElm.width = imageArray[this.currentImage][1];
            imgElm.height = imageArray[this.currentImage][2];*/
        }
        if (imgHeader && imageArray[this.currentImage][3]) {
            imgHeader.childNodes[0].innerHTML = imageArray[this.currentImage][3];
        }
        if (textHeader && imageArray[this.currentImage][4]) {
            textHeader.innerHTML = imageArray[this.currentImage][4];
        }
        if (textContent && imageArray[this.currentImage][5]) {
            textContent.innerHTML = imageArray[this.currentImage][5];
        }
        if (textFacts && imageArray[this.currentImage][7]) {
            textFacts.innerHTML = imageArray[this.currentImage][7];
        }
        if (currentImageNumber) {
            currentImageNumber.innerHTML = this.currentImage;
        }
        if (totalAmmount) {
            totalAmmount.innerHTML = this.arrayLength;
        }
        if (imgHighRes && imageArray[this.currentImage][10]) {
            imgHighRes.href = imageArray[this.currentImage][10]; // +"&d=1";
        } else {
            General.addClassName(imgHighRes, "display-none");
        }
        if (this.arrayLength > 1) {
            General.removeClassName($(Images.showThumbnails), "display-none");
        }
        if (Cufon) {
            Cufon.replace('h1');
        }
        //General.SetOverlay();
    },

    NextImage: function () {
        this.nextImage = parseInt(this.currentImage - 1 + 2);
        var imgElm = $(this.imgElm);
        var imgHeader = $(this.imgHeader);
        var textHeader = $(this.textHeader);
        var textContent = $(this.textContent);
        var textFacts = $(this.textFacts);
        var totalAmmount = $(this.totalAmmount);
        var imgHighRes = $(this.imgHighRes);
        var currentImageNumber = $(this.currentImageNumber);

        if (this.nextImage <= this.arrayLength) {
            imgElm.src = imageArray[this.nextImage][0];
            /*imgElm.width = imageArray[this.nextImage][1];
            imgElm.height = imageArray[this.nextImage][2];*/
            /*
            var soImageZoom = new SWFObject("/gui/flash/image_zoom.swf", "zoom", "100%", "100%", "8", "#000000");
            soImageZoom.addVariable("imgURL", imageArray[this.nextImage][0]);
            soImageZoom.addVariable("imgWidth", "1695");
            soImageZoom.addVariable("imgHeight", "2258");
            soImageZoom.addParam("quality", "high");
            soImageZoom.addParam("menu", "false");
            soImageZoom.addParam("scale", "noscale");
            soImageZoom.addParam("align", "middle");
            soImageZoom.write("image-flash");
            */
            if (imgHeader && imageArray[this.nextImage][3]) {
                imgHeader.childNodes[0].innerHTML = imageArray[this.nextImage][3];
            }
            if (textHeader && imageArray[this.nextImage][4]) {
                textHeader.innerHTML = imageArray[this.nextImage][4];
            }
            if (textContent) {
                textContent.innerHTML = imageArray[this.nextImage][5];
            }
            if (textFacts) {
                textFacts.innerHTML = imageArray[this.nextImage][6];
            }
            if (imgHighRes && imageArray[this.nextImage][9]) {
                imgHighRes.href = imageArray[this.nextImage][9];
            }
            if (currentImageNumber) {
                currentImageNumber.innerHTML = this.nextImage;
            }
            this.currentImage = this.nextImage;
            if (Cufon) {
                Cufon.replace('h1');
            }
        } else {
            return false;
        }
    },

    PreviousImage: function () {
        this.previousImage = parseInt(this.currentImage - 1);
        var imgElm = $(this.imgElm);
        var imgHeader = $(this.imgHeader);
        var textHeader = $(this.textHeader);
        var textContent = $(this.textContent);
        var textFacts = $(this.textFacts);
        var totalAmmount = $(this.totalAmmount);
        var imgHighRes = $(this.imgHighRes);
        var currentImageNumber = $(this.currentImageNumber);

        if (this.previousImage >= 1) {
            imgElm.src = imageArray[this.previousImage][0];
            /*imgElm.width = imageArray[this.previousImage][1];
            imgElm.height = imageArray[this.previousImage][2];*/
            /*
            var soImageZoom = new SWFObject("/gui/flash/image_zoom.swf", "zoom", "100%", "100%", "8", "#000000");
            soImageZoom.addVariable("imgURL", imageArray[this.previousImage][0]);
            soImageZoom.addVariable("imgWidth", "1695");
            soImageZoom.addVariable("imgHeight", "2258");
            soImageZoom.addParam("quality", "high");
            soImageZoom.addParam("menu", "false");
            soImageZoom.addParam("scale", "noscale");
            soImageZoom.addParam("align", "middle");
            soImageZoom.write("image-flash");
            */
            if (imgHeader && imageArray[this.previousImage][3]) {
                imgHeader.childNodes[0].innerHTML = imageArray[this.previousImage][3];
            }
            if (textHeader && imageArray[this.previousImage][4]) {
                textHeader.innerHTML = imageArray[this.previousImage][4];
            }
            if (textContent) {
                textContent.innerHTML = imageArray[this.previousImage][5];
            }
            if (textFacts) {
                textFacts.innerHTML = imageArray[this.previousImage][6];
            }
            if (imgHighRes && imageArray[this.previousImage][9]) {
                imgHighRes.href = imageArray[this.previousImage][9];
            }
            if (currentImageNumber) {
                currentImageNumber.innerHTML = this.previousImage;
            }
            this.currentImage = this.previousImage;
            if (Cufon) {
                Cufon.replace('h1');
            }
        } else {
            return false;
        }
    },

    currentPage: "",
    nextPage: "",
    ammountOfPages: "",

    Fill: function () {
        var numberOfBlocks = this.arrayLength / 25;
        var elmList = $("thumbnail-list");
        var pageNumber = $("image-current-number");
        var totalAmmount = $("image-total-ammount");
        var imgHeader = $(this.imgHeader);

        for (i = 0; i < this.arrayLength; i++) {
            var no = 1 + i;
            var listItem = document.createElement('li');

            if (numberOfBlocks > 1) {
                if (i >= 0 && i < 25) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-1";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "1";
                    this.ammountOfPages = 1;
                }
                if (i > 24 && i < 50) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-2 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "2";
                    this.ammountOfPages = 2;
                }
                if (i > 49 && i < 75) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-3 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "3";
                    this.ammountOfPages = 3;
                }
                if (i > 74 && i < 100) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-4 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "4";
                    this.ammountOfPages = 4;
                }
                if (i > 99 && i < 125) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-5 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "5";
                    this.ammountOfPages = 5;
                }
                if (i > 124 && i < 150) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-6 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "6";
                    this.ammountOfPages = 6;
                }
                if (i > 149 && i < 174) {
                    listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                    listItem.className = "thumbnailPage-7 hide-thumbnail";
                    pageNumber.innerHTML = "1";
                    totalAmmount.innerHTML = "7";
                    this.ammountOfPages = 7;
                }
            } else {
                listItem.innerHTML = '<a href="#" onclick="General.ShowImageFromThumbNail(' + no + ');return false;this.blur()" title="' + imageArray[no][4] + '"><img src=' + imageArray[no][8] + ' width="85" height="62"></a>';
                totalAmmount.innerHTML = "1";
                pageNumber.innerHTML = "1";
            }
            elmList.appendChild(listItem);
        }
        if (imgHeader) {
            imgHeader.childNodes[0].innerHTML = imageArray[i][8];
        }
        this.currentPage = 1;
    },

    NextThumbNails: function () {
        this.nextPage = this.currentPage + 1;

        var pageNumber = $("image-current-number");
        var elmList = document.getElementById("thumbnail-list");
        var listItem = elmList.getElementsByTagName("li");

        if (this.nextPage <= this.ammountOfPages) {
            for (i = 0; i < listItem.length; i++) {
                elm = listItem[i];

                General.addClassName(elm, "hide-thumbnail");

                if (elm.className.replace(/.*thumbnailPage-(\d+).*/, "$1") == this.nextPage) {
                    General.removeClassName(elm, "hide-thumbnail");
                }
            }
            this.currentPage = this.nextPage;
            pageNumber.innerHTML = this.currentPage;
        } else {
            return false;
        }
    },

    PreviousThumbNails: function () {
        this.nextPage = this.currentPage - 1;

        var pageNumber = document.getElementById("image-current-number");
        var elmList = document.getElementById("thumbnail-list");
        var listItem = elmList.getElementsByTagName("li");

        if (this.nextPage >= 1) {
            for (i = 0; i < listItem.length; i++) {
                elm = listItem[i];

                General.addClassName(elm, "hide-thumbnail");

                if (elm.className.replace(/.*thumbnailPage-(\d+).*/, "$1") == this.nextPage) {
                    General.removeClassName(elm, "hide-thumbnail");
                }
            }
            this.currentPage = this.nextPage;
            pageNumber.innerHTML = this.currentPage;
        } else {
            return false;
        }
    },

    PrintImage: function () {
        if (document.createStyleSheet) {
            var newStyle = document.createStyleSheet("/gui/css/print-image.css", 0)
            newStyle.media = "print";
        }
        else {
            var styles = "/gui/css/print-image.css";
            var newStyle = document.createElement("link");
            newStyle.rel = "stylesheet";
            newStyle.type = "text/css";
            newStyle.media = "print";
            newStyle.href = escape(styles);
            document.getElementsByTagName("head")[0].appendChild(newStyle);
        }
        window.print();
    }

}
