function mycarousel_itemLoadCallback(carousel, state)
{
    if (carousel.has(carousel.first, carousel.last)) {
        return;
    }

    jQuery.get(
        'ajax.php',
        {
            first: carousel.first,
            last: carousel.last
        },
        function(xml) {
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, xml);
        },
        'xml'
    );
};

function mycarousel_itemAddCallback(carousel, first, last, xml)
{
    carousel.size(parseInt(jQuery('total', xml).text()));
    jQuery('image', xml).each(function(i) {
        //carousel.add(first + i, mycarousel_getItemHTML(jQuery(this).text(), jQuery('txt', xml).text()));
		var info = jQuery(this).text().split("~");
		carousel.add(first + i, mycarousel_getItemHTML(info[0], info[1], info[2], info[3]));
    });
};

function mycarousel_getItemHTML(url, title, tx, lnk)
{
    return '<div><a href="' + lnk + '"><img src="' + url + '" width="75" height="75" alt="" /><span><strong>' + title.replace(/\*/g, "&") + '</strong><br>' + tx.replace(/\*/g, "&") + '</span></a></div>';
};

jQuery(document).ready(function() {
    jQuery('#mycarousel').jcarousel({
        itemLoadCallback: mycarousel_itemLoadCallback
    });
});
