var change_image_timer;
var LEFT  = -1;
var RIGHT = 1;
var in_animation = false;

$(document).ready(function()
{
    start_timer();

    $(".button_animation").click(function()
    {
        if ($(this).hasClass("selected") == false && in_animation == false)
        {
            in_animation = true;
            resetTimer();

            var current_image_id = $("#photos_buttons").find(".selected").attr("id").substring(5);
            var next_image_id    = $(this).attr("id").substring(5);

            change_image(current_image_id, next_image_id);
        }
    });

    $("#animation_left").click(function()
    {
        if (in_animation == false)
        {
            in_animation = true;
            resetTimer();
            prepare_next_image(LEFT);
        }
    });

    $("#animation_right").click(function()
    {
        if (in_animation == false)
        {
            in_animation = true;
            resetTimer();
            prepare_next_image(RIGHT);
        }
    }); 
});

function change_image(current_image_id, next_image_id)
{
    $("#link_" + current_image_id).removeClass("selected");
    $("#link_" + next_image_id).addClass("selected");

    $("#photo_" + current_image_id).fadeOut(650, function()
    {
        $("#photo_" + next_image_id).fadeIn(650, function()
        {
            in_animation = false;
        });
    });
}

function start_timer()
{
    //change_image_timer = setInterval("prepare_next_image(RIGHT)", 5000);
}

function prepare_next_image(direction)
{
    var nb_of_images     = $("#photos").children(".animation_images").length;    
    var current_image_id = parseInt($("#photos_buttons").find(".selected").attr("id").substring(5));

    if(direction == LEFT)
    {
        var next_image_id = current_image_id - 1;

        if (next_image_id < 0)
        {
            next_image_id = nb_of_images - 1;
        }
    }
    else
    {
        var next_image_id = current_image_id + 1;

        if (next_image_id >= nb_of_images)
        {
            next_image_id = 0;
        }
    }

    change_image(current_image_id, next_image_id);
}

function resetTimer()
{
    clearInterval(change_image_timer);
    start_timer();
}
