﻿var Album = {};

Album.TotalItems = 0;
Album.CurrentId = 0;

Album.IsHiding = false;
Album.IsShowing = false;
Album.CurrentWidth = 0;

Album.IsHidingDescription = false;
Album.IsShowingDescription = false;

Album.GetImage = function (id) {
    return Album["img_" + id];
}

Album.GetDescription = function (id) {
    return Album["desc_" + id];
}

Album.GetWidth = function (id) {
    return Album["width_" + id];
}

Album.Next = function () {

    if ((Album.CurrentId + 1) < Album.TotalItems) {
        Album.Show(Album.CurrentId + 1);
    }
}

Album.Previous = function () {
    if (Album.CurrentId > 0) {
        Album.Show(Album.CurrentId - 1);
    }
}

Album.Show = function (id) {
    Album.CurrentId = parseInt(id);

    if (Album.CurrentId == 0) {
        jQuery("#buttonPrev").css("visibility", "hidden");
    }
    else {
        jQuery("#buttonPrev").css("visibility", "visible");
    }

    if (Album.CurrentId == Album.TotalItems - 1) {
        jQuery("#buttonNext").css("visibility", "hidden");
    }
    else {
        jQuery("#buttonNext").css("visibility", "visible");
    }

    jQuery("#imageDiv").fadeOut("2000", function () {

        jQuery("#image").attr("src", Album.GetImage(Album.CurrentId));
        Album.ClearSelected();
        jQuery("#thumb" + id).addClass("selected");
        jQuery("#imageDetails").html(Album.GetDescription(Album.CurrentId));

        jQuery('#carousel').jcarousel('scroll', Album.CurrentId - 1, true);

        jQuery("#imageDiv").fadeIn("2000", function () {

            var width = jQuery("#image").width();
            var height = jQuery("#image").height();
            var coord = width / 2;

            jQuery("#divButtonPrev").css("width", width / 2);
            jQuery("#divButtonNext").css("width", width / 2);
            
            jQuery("#imageDetails").css("width", width);
            jQuery("#buttons").css("width", width);

            Album.CurrentWidth = width;
            Album.FixDescriptionSize();
        });

    });
}

Album.ClearSelected = function () {
    jQuery("#carousel li img").removeClass("selected");
}

Album.ShowThumbs = function () {
    if (!Album.IsShowing) {
        Album.IsShowing = true;
        jQuery('.jcarousel-skin-tango').animate({ opacity: 1 }, 2000, function () {
            Album.IsShowing = false;
        });
    }
}


Album.HideThumbs = function () {
    if (!Album.IsHiding) {
        Album.IsHiding = true;
        jQuery('.jcarousel-skin-tango').animate({ opacity: 0 }, 2000, function () {
            Album.IsHiding = false;
        });
    }
}

Album.ShowHideDescription = function () {

    if (!Album.IsShowingDescription) {
        Album.IsShowingDescription = true;

        jQuery("#seriesDescription").show('slow');
    }
    else {
        Album.IsShowingDescription = false;

        jQuery("#seriesDescription").hide('slow');
    }
}

Album.FixDescriptionSize = function () {
    var totalWidth = jQuery(window).width();
    var albumWidth = jQuery("#site").width();
    var imageWidth = Album.CurrentWidth;
    var descriptionWidth = ((totalWidth - albumWidth) / 2) + (958 - imageWidth) / 2 - 20;
    if (descriptionWidth < 300) {
        descriptionWidth = 300;
    }
    jQuery("#seriesDescription").width(descriptionWidth);
}


