function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, mycarousel_itemList.length);
    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
};
function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};
/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item)
{
    return ' <img onclick="fnShowProd(this.src, this.alt)" src="' + item.url + '" width="50" height="58" alt="' + item.title + '" style="cursor:pointer" />';
};
jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
        wrap: 'circular',
        scroll: 1,
        auto: 0,
        visible: 6,
        animation: 300,
        itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
});
