

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

    try{
        var next = carousel.index(i+1, mycarousel_itemList.length);
        if( mycarousel_itemList[next - 1].loaded==0 ){
            var img = new Image();
            img.src = mycarousel_itemList[next - 1].url;
            mycarousel_itemList[next - 1].loaded = 1;
        }
    }catch(e){}

};

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

/**
 * Item html creation helper.
 */
function mycarousel_getItemHTML(item)
{
    if(item.link)
        return '<a href="'+item.link+'"><img src="' + item.url + '" width="'+item.width+'" height="'+item.height+'" alt="' + item.title + '" /></a><div class="articleFlash" style=" margin-top:-4px;  width:'+item.width+'px;"><div class="ArticleFlashTextBackground"><div class="ArticleFlashTextStyle" style="padding-top:14px;">'+item.title+'</div></div></div><div><img src="http://www.avmap.it/images/imageTerrestreArticleBottom.png" width="'+item.width+'"/></div>';
    else
        return '<img src="' + item.url + '" width="'+item.width+'" height="'+item.height+'" alt="' + item.title + '" /><div class="articleFlash" style=" margin-top:-4px; width:'+item.width+'px;"><div class="ArticleFlashTextBackground"><div class="ArticleFlashTextStyle" style="padding-top:14px;">'+item.title+'</div></div></div><div><img src="http://www.avmap.it/images/imageTerrestreArticleBottom.png"  width="'+item.width+'"/></div>';

};

jQuery(document).ready(function() {

    //Preload images
    try{
        for(i in mycarousel_itemList){
            var img = new Image();
            img.src = mycarousel_itemList[i].url;
            mycarousel_itemList[i].loaded = 1;
            if(i>2) break;
        }


    }catch(e){}

    jQuery('#mycarousel').jcarousel({
        buttonPrevHTML:null,
        buttonNextHTML:null,
        auto:5,
        scroll:1,
        wrap: 'circular',
        itemVisibleInCallback: {
            onBeforeAnimation: mycarousel_itemVisibleInCallback
        },
        itemVisibleOutCallback: {
            onAfterAnimation: mycarousel_itemVisibleOutCallback
        }
    });
});



