function playNextImage() {
  if($('.buttonsWrapper a:last').hasClass('marqueeActiveButton')) {
    $('.buttonsWrapper a:first').click();
  } else {
    $('.buttonsWrapper a.marqueeActiveButton').next().click();
  }
}

var playNextMarqueeImage;




$(function() {
  
  var intervaloDeTransicao = 3000;
  var velocidadeDeTransicao = 1000;
  var velodicadeDeFadeInOutText = velocidadeDeTransicao / 2;
  var imageMarqueAnimating = false;
  var eachImageHeight = 287;
  var nrOfImages = $('.marqueeSlideContainer img').size();
  var firstImg = 1;
  
  
  $('.marqueeSlideContainer img').each(function() {
    $('.buttonsWrapper').append('<a href="#">&nbsp;</a>');
  });
  $('.buttonsWrapper a:first').addClass('marqueeActiveButton');
  $('.imageText p').html( $('.marqueeSlideContainer img:nth-child('+firstImg+')').attr('alt') );
  
  
  $('.buttonsWrapper a').click(function(event){
    event.preventDefault();
    clearInterval(playNextMarqueeImage);
    if(imageMarqueAnimating == false) {
      
      imageMarqueAnimating = true;
      var zeroBasedIndex = $(this).index();
      var oneBasedIndex = $(this).index() + 1;
      var thisIndexText = $('.marqueeSlideContainer a:nth-child('+oneBasedIndex+') img').attr('alt');
      var sliderMarqueeCurrentPosition = $('.marqueeSlideContainer').css('top');
      var clikedButtonRespectiveImgPos = zeroBasedIndex * eachImageHeight;
      
      
      $('.marqueeActiveButton').removeClass('marqueeActiveButton');
      $(this).addClass('marqueeActiveButton');
      
      
      $('.marqueeSlideContainer').animate( { top: -(clikedButtonRespectiveImgPos) }, velocidadeDeTransicao, 'easeInOutExpo', function() {
        imageMarqueAnimating = false;
        playNextMarqueeImage = setInterval('playNextImage()', intervaloDeTransicao);
      });
      $('.imageText p').fadeOut(velodicadeDeFadeInOutText, function() {
        $('.imageText p').html(thisIndexText);
        $('.imageText p').fadeIn(velodicadeDeFadeInOutText);
        var thisImgLink = $('.marqueeSlideContainer a:nth-child('+oneBasedIndex+')').attr('href');
        $('.imageText p').parent().attr('href', thisImgLink);
      });
      
    }  
  });
  
  playNextMarqueeImage = setInterval('playNextImage()', intervaloDeTransicao);
  
});
