jQuery(document).ready(function() {
    jQuery().ajaxStart(function() {
        jQuery(".loading").show();
    });

    jQuery().ajaxStop(function() {
        jQuery(".loading").hide();
    });

    jQuery("#imgs").jcarousel({
        itemVisible: 7,
        itemScroll: 1,
        wrap: false,
        loadItemHandler: loadItemHandler,
        nextButtonStateHandler: nextButtonStateHandler,
        prevButtonStateHandler: prevButtonStateHandler
    });
});




function loadItemHandler(carousel, start, last, available)
{
    if (available) {
        carousel.loaded();
        return;
    }
    var cr = carousel;
    jQuery.get("imagelist.txt", function(data) {
        appendItemCallback(cr, start, last, data);
    });
};

function appendItemCallback(carousel, start, last, data)
{
    var items = data.split("|");
    for (i = start; i <= last; i++) {
        if (items[i] == undefined) {
            break;
        }
        var item = carousel.add(i, getItemHTML(items[i]));
        item.each(function() {
            jQuery("a.thickbox", this).click(function() {
                var t = this.title || this.name || null;
                var g = this.rel || false;
                TB_show(t,this.href,g);
                this.blur();
                return false;
            });
        });
    }
    carousel.loaded();
};

function getItemHTML(url)
{
    var url_m = url.replace(/_s.jpg/g, '.jpg');
    return '<a href="' + url_m + '" class="thickbox" rel="gallery"><img src="' + url + '" width="' + 75 + '" height="' + 75 + '" /></a>';
};


var nextOver = function() {
    jQuery(this).attr("src", "img/next-over.gif");
};

var nextOut = function() {
    jQuery(this).attr("src", "img/next.gif");
};

var nextDown = function() {
    jQuery(this).attr("src", "img/next-down.gif");
};

function nextButtonStateHandler(carousel, button, enabling)
{
    if (enabling) {
        jQuery(button).attr("src", "img/next.gif")
                      .mouseover(nextOver)
                      .mouseout(nextOut)
                      .mousedown(nextDown);
    } else {
        jQuery(button).attr("src", "img/next-disabled.gif")
                      .unmouseover(nextOver)
                      .unmouseout(nextOut)
                      .unmousedown(nextDown);
    }
}

var prevOver = function() {
    jQuery(this).attr("src", "img/prev-over.gif");
};

var prevOut = function() {
    jQuery(this).attr("src", "img/prev.gif");
};

var prevDown = function() {
    jQuery(this).attr("src", "img/prev-down.gif");
};

function prevButtonStateHandler(carousel, button, enabling)
{
    if (enabling) {
        jQuery(button).attr("src", "img/prev.gif")
                      .mouseover(prevOver)
                      .mouseout(prevOut)
                      .mousedown(prevDown);
    } else {
        jQuery(button).attr("src", "img/prev-disabled.gif")
                      .unmouseover(prevOver)
                      .unmouseout(prevOut)
                      .unmousedown(prevDown);
    }
}

