function slideSwitch(sel) {
    var selector = sel;
    var $active = $(selector + ' a.active');

    if ( $active.length == 0 ) {
        $active = $( selector + ' a:last');
    }

    var $next =  $active.prev().length ? $active.prev()
    : $(selector + ' a:last');

    $active.addClass('last-active');

    $next.css({
        opacity: 0.0
    })
    .addClass('active')
    .animate({
        'opacity': 1.0
    }, 1000, function() {
        $active.removeClass('active last-active');
    })
}

var interval = {};
function startSlideShow(sel){
    //document.title = "start " + sel;
    var selector  = sel;
    if ($(selector + " a").length < 2)
        return;
    interval[selector] = setInterval( function(){
        slideSwitch(selector);
    }, 5000 );
}
function stopSlideShow(sel){
    //document.title = "stop " + sel;
    var selector = sel;
    if (interval[selector]){
      clearInterval(interval[selector]);
      interval[selector] = null;
    }
}

var selector1 = ".slideshow";
$(function() {
    startSlideShow(selector1);
    $(selector1).mouseenter(function (){ stopSlideShow(selector1);})
    .mouseleave(function (){ startSlideShow(selector1);});
});
