var mycarousel_itemList = [
    {url: 'http://www.barratthomes.co.uk/', img: 'images/logos/barratt.gif', title: 'Barratt Homes'},
    {url: 'http://www.bryant.co.uk/', img: 'images/logos/bryant.gif', title: 'Bryant Homes'},
    {url: 'http://www.georgewimpey.co.uk/', img: 'images/logos/georgewimpey.gif', title: 'George Wimpey'},
    {url: 'http://www.lioncourthomes.com/', img: 'images/logos/lioncourt.gif', title: 'Lioncourt Homes'},
    {url: 'http://www.millerhomes.co.uk/', img: 'images/logos/millerhomes.gif', title: 'Miller Homes'},
    {url: 'http://www.persimmonhomes.com/', img: 'images/logos/persimmon.gif', title: 'Persimmon Homes'},
    {url: 'http://www.kingsway-business-park.co.uk/', img: 'images/logos/roberthitchens.gif', title: 'Robert Hitchins Properties'},
    {url: 'http://www.glosha.co.uk/', img: 'images/logos/gha.gif', title: 'Gloucestershire Housing Association'},
    {url: 'http://www.kingsway-village.co.uk/bromford/', img: 'images/logos/bromford.gif', title: 'Bromford Homes'}
];

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 '<a href="' + item.url + '" title="' + item.title + '" target="_blank"><img src="' + item.img + '" width="195" height="75" alt="' + item.title + '" /></a>';
};

jQuery(document).ready(function(){
    jQuery('#carousel').jcarousel({
        wrap: 'circular',
        itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
});
