(function ($) {
  
  Drupal.behaviors.corbin = {
    attach: function (context, settings) {
      if ($('#counters').children().length == 0) {
        // Setup
        var slides = $("#slider .view-content").children().length;
        var current = 1;
        var pause = false;
        var time = 4000;
        var timer = setTimeout(function(){ nextSlide(); }, time);
        $("#slider .view-content > div").hide();
        $("#slider .view-content > div:first-child").show();
        
        // Generate Counters
        for (i=1;i<=slides;i++) {
          $("#counters").append('<a href="'+i+'" class="slide-'+i+'">'+i+'</a>');
        }
        $("#counters a:first-child").addClass('active');
        
        // Pause on hover
        $(".slider-slide > div > .content").mouseenter(function() {
          pause = true;
        });
        $(".slider-slide > div > .content").mouseleave(function() {
          pause = false;
          clearTimeout(timer);
          timer = setTimeout(nextSlide, time);
        });
        
        // Next Button
        $(".next").click(function() {
          slide = current + 1;
          moveSlider(slide);
          return false;
        });
        
        // Previous Button
        $(".previous").click(function() {
          slide = current - 1;
          moveSlider(slide);
          return false;
        });
        
        // Counters
        $("#counters a").click(function() {
          moveSlider($(this).attr('href'));
          return false;
        });
        
        function nextSlide() {
          if (pause == true) return false;
          moveSlider(Number(current)+1);
        }
        
        // Slider Function
        function moveSlider(slide) {
          // Check valid slide number
          if (slide == current) return false;
          if (slide > slides) {
            slide = 1;
          }
          if (slide < 1) {
            slide = slides;
          }
          
          // Clear timers
          clearTimeout(timer);
          
          // Update slide navigation
          $('#counters').children().removeClass('active');
          $('#counters .slide-' + slide).addClass('active');
          
          // Change slides
          $("#slider .view-content > div:nth-child(" + slide + ")").css('z-index', 2);
          $("#slider .view-content > div:nth-child(" + slide + ")").fadeIn('slow', function() {
            $("#slider .view-content > div:nth-child(" + current + ")").hide();
            $("#slider .view-content > div:nth-child(" + slide + ")").css('z-index', 1);
            current = slide;
            timer = setTimeout(nextSlide, time);
          });
        }
      }
    }
  };

}(jQuery));;

