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, carousel_size);
    carousel.add(i, $(carousel_itemList[idx - 1]).html());

    displayDescription();
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

function displayDescription()
{
    $("#contractworldCarousel li").hover(
      function () {
        $(this).children("div.description").css("display","block");
        $(this).children("div.description_bg").css("display","block");
      },
      function () {
      	$(this).children("div.description").css("display","none");
      	$(this).children("div.description_bg").css("display","none");
      }
    );
};

$(document).ready(function() {
	if ($('#contractworldCarousel>').length) {
		$('div.homepagemainimage').children().replaceWith($('#contractworldCarousel'))
		$('#contractworldCarousel').show();

	    carousel_itemList = $('#contractworldCarousel').children();
	    carousel_size = carousel_itemList.length;

    	$('#contractworldCarousel').jcarousel({
	        auto: 5,
        	scroll: 1,
        	wrap: 'circular',
        	itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        	itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    	});
    	$('.jcarousel-container').append("<div class='carousel_right'></div>").append("<div class='carousel_left'></div>");

		displayDescription();
	}
});
