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

Covenant Image Slider v 1.1, Home Edition - Adds Background Image Functionality

For now, manual preloading and class definition in CSS is required.

*****************************************************************/
	
// 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 main-navi
   var button;					// current list item
   var timer;					// interval for automatic rotation
   
// preload background images - will be less 'manual' in future versions
   var image1 = new Image();
   image1.src = 'http://covweb.com/wp-content/themes/Covweb/images/featured-ycm-back.jpg';
   var image2 = new Image();
   image2.src = 'http://covweb.com/wp-content/themes/Covweb/images/featured-bb-back.jpg';
  
/*****************************************************************
  
  Document Ready Function
  
*****************************************************************/  
  
$(document).ready(function() {

  // set slides object, current slide, and count number of slides
     slides = $('.slide');
     slide = slides.eq(0);
     slidesNum = slides.length;
		
  // creates nav button for each slide
     for(var count = 0 ; count < slidesNum ; count++) {
         $('ul#main-navi').append('<li></li>');
     }
		
  // hides all but the current slide
     slides.not(slide).hide();
		
  // set buttons object, current button, and adds active class to current button
     buttons = $('ul#main-navi li');
     button = buttons.eq(0);
     button.addClass('active');
  
  // start the timer
     timer = setInterval( "switchSlide()", 8000);
		
  /*****************************************************************
  
    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) {
	         $("#wrap").removeClass().addClass('bg'+index);
			 
             clearInterval(timer);
             slide.hide();
             button.removeClass('active');
		  
             button = buttons.eq(index);
             slide = slides.eq(index);
		  
             slide.show();
             button.addClass('active');
             timer = setInterval( "switchSlide()", 8000);
         }
		
    });
	
});

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

function switchSlide() {

     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.next();
         button = button.next();
     }
	 
	 var bgclass = buttons.index(button);
	 $("#wrap").removeClass().addClass('bg'+bgclass);
		
     slide.show();
     button.addClass('active');
	
}
