$(document).ready(function () {
    var is_reverse = false;
    var currentPosition = 0;
    // var slideWidth = 450;
    var slideHeight = 148;
    var slides = $('.slide');
    var numberOfSlides = slides.length;
    var timeOut = null;


    function autoAdvance(p) {
          $('#rightControl').trigger('click', [true]);
    }

    $(window).blur(function (e) {
        clearInterval(timeOut);
    });
    $(window).focus(function (e) {
        clearInterval(timeOut);
        timeOut = setInterval(autoAdvance, 10000);
    });

    timeOut = setInterval(autoAdvance, 10000);
    //alert(1);
    $('#slidesContainer').css('overflow', 'hidden');

    slides
        .wrapAll('<div id="slideInner"></div>')
        .css({
            'height':slideHeight
        });


    $('#slideInner').css('height', slideHeight * numberOfSlides);

    $('#slideshow')
        .prepend('<span class="control" id="leftControl"></span>')
        .append('<span class="control" id="rightControl"></span>');


    manageControls(currentPosition);


    $('.control')
        .bind('click', function (e, simulated) {

            if (!simulated) {
                currentPosition = ($(this).attr('id') == 'rightControl') ? currentPosition + 1 : currentPosition - 1;
            }
            else {
                if (currentPosition == 0) {
                    is_reverse = false;
                }
                else if (currentPosition == (numberOfSlides - 1)) {
                    is_reverse = true;
                }

                currentPosition = is_reverse ? currentPosition - 1 : currentPosition + 1;
            }


            manageControls(currentPosition);


            $('#slideInner').animate({
                'marginTop':(slideHeight * (-currentPosition))
            });

            if (!simulated) {
                clearInterval(timeOut);
                timeOut = setInterval(autoAdvance, 10000);
            }
        });


    function manageControls(position) {

        if (position == 0) {
            $('#leftControl').hide()
        } else {
            $('#leftControl').show()
        }

        if (position == numberOfSlides - 1) {
            $('#rightControl').hide()
        } else {
            $('#rightControl').show()
        }
    }
});
