﻿function mycarousel_itemLoadCallback(carousel, state) {
    for (var i = carousel.first; i <= carousel.last; i++) {
        if (carousel.has(i)) {
            continue;
        }

        if (i > mycarousel_itemList.length) {
            break;
        }

        carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[i - 1]));
    }
};

/**
* Item html creation helper.
*/
function mycarousel_getItemHTML(item) {
    return '<a href="' + item.url + '"><img src="' + item.src + '" width="100" height="100" alt="' + item.title + '" title="' + item.title + '" /></a>';
};

function mycarousel_initCallback(carousel) {
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

if (typeof (carousel_scroll) == 'undefined') var carousel_scroll = false;
jQuery(document).ready(function() {
    jQuery('#carousel').jcarousel({
        auto: carousel_scroll ? 2 : 0,
        //wrap: 'last',
        size: mycarousel_itemList.length,
        scroll: 8,
        animation: carousel_scroll ? 3000 : 1000,
        itemLoadCallback: { onBeforeAnimation: mycarousel_itemLoadCallback },
        initCallback: mycarousel_initCallback
    });
});
