﻿jQuery(document).ready(function() {
    jQuery('div.galleryThumbs').each(function() {
        MakeGallery(jQuery(this));
    });
});

function MakeGallery(thumbContainer) {
    var image = thumbContainer.prev().find("img.galleryImage");
    var caption = thumbContainer.next();
    var prev = thumbContainer.prev().find("a.prev");
    var next = thumbContainer.prev().find("a.next");
    var current = 0;

    thumbContainer.find("div").each(function(i) {
        var thumb = jQuery(this);
        var url = thumb.find("input").eq(0).val();
        var dimensions = thumb.find("input").eq(1).val().split("x");
        var fullsize = jQuery('<img src="' + url + '" alt="" width="0" height="0" />');
        thumb.find("img").after(fullsize);

        thumb.find("img").click(function() {
            ChangeImage(image, url, dimensions[0], dimensions[1], caption, thumb.find("img").attr("alt"));
            current = i;
        });
    });

    prev.click(function() {
        current = (current <= 0 ? thumbContainer.find("div").length - 1 : current - 1);
        var thumb = thumbContainer.find("div").eq(current);
        var url = jQuery(thumb.find("input")[0]).val();
        var dimensions = jQuery(thumb.find("input")[1]).val().split("x");
        ChangeImage(image, url, dimensions[0], dimensions[1], caption, thumb.find("img").attr("alt"));
    });
    next.click(function() {
        current = (current >= thumbContainer.find("div").length - 1 ? 0 : current + 1);
        var thumb = thumbContainer.find("div").eq(current);
        var url = jQuery(thumb.find("input")[0]).val();
        var dimensions = jQuery(thumb.find("input")[1]).val().split("x");
        ChangeImage(image, url, dimensions[0], dimensions[1], caption, thumb.find("img").attr("alt"));
    });
}

function ChangeImage(imageObject, url, width, height, captionObject, caption) {
    imageObject.attr("src", url);
    imageObject.attr("width", width);
    imageObject.attr("height", height);
    imageObject.css("width", width + "px");
    imageObject.css("height", height + "px");
    captionObject.text(caption);
}
