var intervalId = new Object();

function slideshow(id, speed, action)
{
    if(!speed) speed = 5000;
    var img = [];
    $("#"+id).find("div.slide").each(function(){
        img.push(this);
    });
    
    function animationPrev()
    {
        for(var i=0; i<img.length; ++i){
            if(img[i].style.display!='none'){
                var prev = i - 1;
                if(prev<0)
                    prev = img.length - 1;
                $(img[i]).hide();
                $(img[prev]).css({opacity: 0.0}).show().animate({opacity: 1.0}, 1000);
                break;
            }
        }
    }

    function animationNext()
    {
        for(var i=0; i<img.length; ++i){
            if(img[i].style.display!='none'){
                var next = i + 1;
                if(next>=img.length)
                    next = 0;
                $(img[i]).hide();
                $(img[next]).css({opacity: 0.0}).show().animate({opacity: 1.0}, 1000);
                break;
            }
        }
    }
    
    if(!action){
        $(img[0]).show();
        if(img.length == 1) return;
        intervalId[id] = setInterval(animationNext, speed);
    }else if(action == 'next'){
        clearInterval(intervalId[id]);
        animationNext();
        intervalId[id] = setInterval(animationNext, speed);
    }else if(action == 'prev'){
        clearInterval(intervalId[id]);
        animationPrev();
        intervalId[id] = setInterval(animationNext, speed);
    }
}
