$('.main-content > .big-banner').load('fragments/home/banner' + ((parseInt(Math.random()*100)%7)+1) + '.html', null);

$(document).ready(function() {
    // automatic slider on the right
    var $dots = $('.main-content > .columns > .column > .dots');
    var $cases = $('.main-content > .columns > .column > .cases');
    var currentCase = 1;
    var numberOfCases = $cases.find('.slide').length;
    var singleCaseWidth = $cases.find('.slide').width();
    var caseInterval = null;
    
    var resetCaseInterval = function() {
        clearTimeout(caseInterval);
        return setInterval(function() {
            if (currentCase < numberOfCases) {
                $cases.slideLeft();
                currentCase++;
                $dots.find('.current').removeClass('current').next().addClass('current');
            }
            else {
                $cases.slideRight((numberOfCases * singleCaseWidth) - singleCaseWidth);
                currentCase = 1;
                $dots.find('.current').removeClass('current').end().children().first().addClass('current');
            }
        }, 5000);
    }
    
    caseInterval = resetCaseInterval();
    $cases.width(numberOfCases * singleCaseWidth);
    
    $(window).blur(function(event) {
        clearTimeout(caseInterval);
    });
    $(window).focus(function(event) {
        caseInterval = resetCaseInterval();
    });
    
    $dots.find('.dot').click(function(event) {
        event.preventDefault();
        
        if ($cases.is(':animated')) {
            return false;
        };
        
        clearTimeout(caseInterval);
        
        if ($(this).index() + 1 < currentCase) {
            var offset = currentCase - ($(this).index() + 1);
            $cases.slideRight(offset * singleCaseWidth);
        }
        else if ($(this).index() + 1 > currentCase) {
            var offset = ($(this).index() + 1) - currentCase;
            $cases.slideLeft(offset * singleCaseWidth);
        };
        
        $(this).siblings('.current').removeClass('current').end().addClass('current');
        currentCase = $(this).index() + 1;
        
        caseInterval = resetCaseInterval();
    });
    
    // slideshow on the left
    var $tour = $('.main-content > .columns > .column > .tour');
    var currentTour = 1;
    var numberOfTour = $tour.find('.slide').length;
    var singleTourWidth = $tour.find('.slide').width();
    
    $tour.width(numberOfTour * singleTourWidth);
    
    $('.main-content > .columns > .column > .arrow.left').click(function(event) {
        event.preventDefault();
        
        if ($tour.is(':animated')) {
            return false;
        };
        
        if (currentTour == 1) {
            $tour.slideLeft((numberOfTour - 1) * singleTourWidth);
            currentTour = numberOfTour;
        }
        else {
            $tour.slideRight();
            currentTour--;
        }
    });
    
    $('.main-content > .columns > .column > .arrow.right').click(function(event) {
        event.preventDefault();
        
        if ($tour.is(':animated')) {
            return false;
        };
        
        if (currentTour == numberOfTour) {
            $tour.slideRight((numberOfTour - 1) * singleTourWidth);
            currentTour = 1;
        }
        else {
            $tour.slideLeft();
            currentTour++;
        }
    });
    
    // video handler
    var alreadyOpened = false;
    // $('.scopri').click(function(event) {
    //         event.preventDefault();
    //         
    //         if (alreadyOpened) {
    //             return false;
    //         };
    //         
    //         $('.on-top').removeClass('hidden');
    //     });
    
    $('.on-top > .container > .close').click(function(event) {
        event.preventDefault();
        $('.on-top').addClass('hidden');
        alreadyOpened = false;
    });
});

$.fn.slideLeft = function(amount) {
    amount = amount || this.find('.slide').width();
    this.animate({left: "-=" + amount}, 500);
}

$.fn.slideRight = function(amount) {
    amount = amount || this.find('.slide').width();
    this.animate({left: "+=" + amount}, 500);
}
