/*****************************************************************

Covenant Image Slider v 1.0 - FUMCWP Edition

*****************************************************************/

// initialize variables
   var slides;					// object with all .slide elements
   var slidesNum;				// total number of .slide elements
   var slide;					// current .slide object
   var buttons;					// total number of list items in slider-nav
   var button;					// current list item
   var timer;					// interval for automatic rotation

/*****************************************************************
  
  Document Ready Function
  
*****************************************************************/  
  
$(document).ready(function() {

  // set slides object, current slide, and count number of slides
     slides = $('div#slides div.csc-textpic');
     slide = slides.eq(0);
     slidesNum = slides.length;
		
  // hides all but the current slide
     slides.not(slide).hide();
		
  // set buttons object, current button, and adds active class to current button
     buttons = $('div#slider-nav ul li');
     button = buttons.eq(0);
     button.addClass('active');
  
  // start the timer
     timer = setInterval( "nextSlide()", 5000);
	 
  // next / prev button controllers
     $('#slider-next').click(function() { nextSlide(); });
	 $('#slider-prev').click(function() { prevSlide(); });
		
  /*****************************************************************
  
    Manual Button Control Function
  
  *****************************************************************/
  
    buttons.click(function() {
		
      // figure out which one was clicked
         var index = buttons.index(this);
		  
      // only fires if the current slide doesn't match the requested slide
         if(buttons.index(button) != index) {
             clearInterval(timer);
             slide.hide();
             button.removeClass('active');
		  
             button = buttons.eq(index);
             slide = slides.eq(index);
		  
             slide.fadeIn('medium');
             button.addClass('active');
             timer = setInterval( "nextSlide()", 5000);
         }
		
    });
	
});

/*****************************************************************
  
  Auto-Rotate Function
  
*****************************************************************/  

function nextSlide() {

     slide.hide();
     button.removeClass('active');
		
  // if we've reached the last item, start at the beginning again
     if(slides.index(slide) == (slidesNum - 1)) {
         slide = slides.first();
         button = buttons.first();
     } else {
  // otherwise go to the next slide and button
         slide = slide.nextAll('.csc-textpic:first');
         button = button.next();
     }
	 
     slide.fadeIn('medium');
     button.addClass('active');
	 
	 clearInterval(timer);
	 timer = setInterval( "nextSlide()", 5000);
	
}

function prevSlide() {

     slide.hide();
     button.removeClass('active');
		
  // if we've reached the first item, go to the end
     if(slides.index(slide) == 0) {
         slide = slides.last();
         button = buttons.last();
     } else {
  // otherwise go to the next slide and button
         slide = slide.prevAll('.csc-textpic:first');
         button = button.prev();
     }
	 
     slide.fadeIn('medium');
     button.addClass('active');
	 
	 clearInterval(timer);
	 timer = setInterval( "nextSlide()", 5000);
	
}
