$(document).ready(function(){

    //menu
    $('#menu li').hover(
        function(){ $(this).addClass('Over'); },
        function(){ $(this).removeClass('Over'); }
    );

    //slideshow
    if ($('#homepageBanners').length > 0) {
        $('#homepageBanners .Image').cycle({ fx: 'fade', speed: 10000 });
    }
    if ($('#gallery').length > 0) {
        $('#imageCarousel').jcarousel({
            animation: 1000,
            auto: 1,
            scroll: 1,
            wrap: 'circular',
            initCallback: imageCarousel,
            itemVisibleInCallback: {onBeforeAnimation: imageCarousel_itemVisibleInCallback},
            itemVisibleOutCallback: {onAfterAnimation: imageCarousel_itemVisibleOutCallback}
        });
    }

    //accordion
    $('#content .BOM li').each(function(){
        $(this).click(function(){
                $(this).siblings().children('.Info').slideUp();
                $(this).siblings().removeClass('Selected');

                $(this).children('.Info').slideDown();
                $(this).addClass('Selected');
            })
            .hover(
                function(){ $(this).addClass('Over') },
                function(){ $(this).removeClass('Over') }
            );
    });

    //gallery
    $('#content ul.Gallery li').each(function(){
        $(this).hover(
            function(){ $(this).children('h3').slideDown() },
            function(){ $(this).children('h3').slideUp() }
        );
    });

});

function imageCarousel_itemVisibleInCallback(carousel, item, i, state, evt) {
    var idx = carousel.index(i, imageCarousel_itemList.length);
    carousel.add(i, imageCarousel_getItemHTML(imageCarousel_itemList[idx - 1]));
}

function imageCarousel_itemVisibleOutCallback(carousel, item, i, state, evt) {
    carousel.remove(i);
}
function imageCarousel_getItemHTML(item) {
    return '<a href="javascript:void(0);" title="' + item.title + '"><img src="' + item.url + '" width="272" height="182" alt="' + item.title + '" /></a>';
}

function imageCarousel(carousel) {
    carousel.clip.hover(
        function(){ carousel.stopAuto(); },
        function(){ carousel.startAuto(); }
    );
}