function mycarousel_initCallback(carousel)
{   
	// Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

function mycarousel_getItemHTML(item)
{
    return '<a href="' + item.link + '" target="_self">' + '<img src="' + item.url + '" width="75" height="75" alt="' + item.url + '" border="0" />' + '</a>';
};

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);
};

function itemLoadCallbackFunction(carousel, state)
{
    for (var i = carousel.first; i <= carousel.last; i++) {
        // Check if the item already exists
        if (!carousel.has(i)) {
            // Add the item
            carousel.add(i, "I'm item #" + i);
        }
    }
};

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
        vertical: true,
		wrap: 'circular',
		scroll: 2,
		auto: 4,
		easing: 'linear',
		animation: 'slow',
		buttonNextHTML: '',
		buttonPrevHTML: '',
		initCallback: mycarousel_initCallback,
		itemLoadCallback: itemLoadCallbackFunction,
		itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
});
// JavaScript Document