jQuery(document).ready(function () {
    //$show = 0;

    jQuery('#work-link').mouseenter(function () {
        clearTimeout(jQuery(this).data('timeoutId'));
        jQuery('#work-link').addClass('work-link-active');
        jQuery('#work').removeClass('hidden');
        jQuery('#work').addClass('visible');
    });

    jQuery('#work-link').mouseleave(function () {
        var someelement = this;
        var timeoutId = setTimeout(function () {
            jQuery('#work-link').removeClass('work-link-active');
            jQuery('#work').removeClass('visible');
            jQuery('#work').addClass('hidden');
        }, 50);
        jQuery(someelement).data('timeoutId', timeoutId);

    });

    jQuery('#work').mouseenter(function () {
        clearTimeout(jQuery('#work-link').data('timeoutId'));
    });

    jQuery('#work').mouseleave(function () {
        var someelement = jQuery('#work-link');
        var timeoutId = setTimeout(function () {
            jQuery('#work-link').removeClass('work-link-active');
            jQuery('#work').removeClass('visible');
            jQuery('#work').addClass('hidden');
        }, 50);
        jQuery(someelement).data('timeoutId', timeoutId);

    });

    //Start slideshows
    jQuery('.widget_slideshow').each(function (index, widget) {
        var tabs = jQuery('.tabs li', widget);
        var slides = jQuery('.slideshowItem', widget);
        var transitionTime = 1000;
        var hoveredIndex = null;

        //Start carousel
        slides.dumbCrossFade({
            slideType: 'fade',
            showTime: 5000,
            transitionTime: transitionTime,
            doHoverPause: true,
            maxZIndex: 2,
            slideChange: function (slideIndex) {
                setTimeout(function () {
                    tabs.removeClass('current');
                    jQuery(tabs[slideIndex]).addClass('current');
                }, transitionTime / 2);
            }
        });

        //Start/stop the crossfade when the user hovers over tabs
        jQuery('.tabs', widget).hover(function () {
            slides.dumbCrossFade('stop');
        }, function () {
            hoveredIndex = hoveredIndex || 0;
            slides.dumbCrossFade('jump', hoveredIndex);
        });

        //Switch slide to the one the user is hovering over
        tabs.hover(function (event) {
            var tab = jQuery(this);
            hoveredIndex = tab.index();

            //Change tab
            tabs.removeClass('current');
            tab.addClass('current');

            //Change slide
            slides.hide();
            jQuery(slides[hoveredIndex]).show();
        });
    });
});
