//Document Ready
jQuery(function(){
					
	//Count total number of banners.
	var NumberOfBanners = jQuery('#Rotator #SliderBanners img').length;
	//Display a number for each banner.
	var NavigationCode = "";
	jQuery('#Rotator #SliderBanners img').each(function(index){
		NavigationCode = NavigationCode + "<li><a class='SliderNavItem' rel='" + (index) + "'>" + (index + 1) + "</a></li>";
	});		
	jQuery('#Rotator').append('<ul id="SliderNav">' + NavigationCode + '</ul>');
	//Setup initial class.
	jQuery('#Rotator').addClass('Rotate');
	//Stops rotating and calls the Select banner.
	var StartSelection = false;
	
	jQuery('#Rotator a.SliderNavItem').click(function(){
		//Stop all movement.
		StartSelection = true;
		jQuery('#Rotator #SliderBanners img').stop(true, false);
												 
		var SelectedBanner = parseInt(jQuery(this).attr('rel'));
		
		//Reset all values.
		jQuery('#Rotator #SliderBanners img').each(function(index){
			if (index == SelectedBanner){
				jQuery('#Rotator #SliderBanners img').eq(index).css('zIndex', (NumberOfBanners - 1)).addClass('SelectedBanner');
			}
			else{
				jQuery('#Rotator #SliderBanners img').eq(index).removeClass('SelectedBanner');
				jQuery('#Rotator #SliderBanners img').css({
					'zIndex' : '0',
					'display' : 'block',
					'opacity' : '1'
				});
			}
		});

		
		jQuery('#Rotator #SliderBanners img').eq(SelectedBanner).css('zIndex', '50');
		
		StartSelection = false;
		RotateBanners(SelectedBanner-1);
	});
	//Calls the rotatePics function starting with the first image.
	RotateBanners(-1);

	//Rotates the banners.
	function RotateBanners(CurrentBanner){
		if(StartSelection == false){
			CurrentBanner = CurrentBanner % NumberOfBanners;
			//Change the number to change the amount of time as image is fading (unit is milimgseconds).
			jQuery('#Rotator #SliderBanners img').eq(CurrentBanner).fadeOut(2500, function(){
				//Reorder the z-index
				jQuery('#Rotator #SliderBanners img').each(function(index){
					var ZIndexLevel = ((NumberOfBanners-index) + CurrentBanner) % NumberOfBanners;
					jQuery(this).css({
						'zIndex' : ZIndexLevel,
						'display' : 'block'
					});
					//Adds "SelectedBanner" class to the banner currently being displayed.
					if(CurrentBanner == -1 || CurrentBanner == (NumberOfBanners - 1)){
						jQuery('#Rotator #SliderBanners img:first').addClass('SelectedBanner');
					}
					else if (index == CurrentBanner + 1){
						jQuery('#Rotator #SliderBanners img').eq(index).addClass('SelectedBanner');
					}
					else{
						jQuery('#Rotator #SliderBanners img').eq(index).removeClass('SelectedBanner');
					}					
				});
				//Update banner nav current item.		
				//HighlightBannerNavItem(CurrentBanner + 1);
				//Remove initial banner class (problem in ie7).
				if(jQuery('#Rotator #SliderBanners img.InitialBanner').size() > 0){
					jQuery('#Rotator #SliderBanners img.InitialBanner').removeClass('InitialBanner');
				}
				setTimeout(function() {RotateBanners(++CurrentBanner);}, 3500);
			});
		}
	}
	/*
	//Displays the selected banner.
	function SelectBanner(SelectedBanner){
		//Stop all animation.
		jQuery('#Rotator #SliderBanners img').stop(true, true);
		//Adds the "SelectedBanner" to the current banner img and resets all other banner img's ZIndex levels to 0.
		jQuery('#Rotator #SliderBanners img').each(function(index){
			if (index == SelectedBanner){
				jQuery('#Rotator #SliderBanners img').eq(index).css('zIndex', (NumberOfBanners - 1)).addClass('SelectedBanner');
			}
			else{
				jQuery('#Rotator #SliderBanners img').eq(index).removeClass('SelectedBanner');
				jQuery('#Rotator #SliderBanners img').eq(index).css('zIndex', '0');
			}
		});
		jQuery('#Rotator #SliderBanners').show();
		jQuery('#Rotator #SliderBanners').css('opacity', '1');
		//Update banner nav current item.	
		HighlightBannerNavItem(SelectedBanner);
		RestartRotate(SelectedBanner);
	}
	
	//Adds "current class to the banner nav item grouped with the banner currently being displayed.
	function HighlightBannerNavItem(CurrentBanner){		
		jQuery('#Rotator > a').removeClass('Current');
		if(CurrentBanner == NumberOfBanners){
			jQuery('#Rotator a:first').addClass('Current');
		}
		else{				
			jQuery('#Rotator > a').eq(CurrentBanner).addClass('Current');
		}
	}
	
	// Restarts the rotating loop using the current banner as the starting position.
	function RestartRotate(CurrentBanner){
		CurrentBanner = CurrentBanner - 1;

		//Get the banners zIndex ready.
		jQuery('#Rotator #SliderBanners img').each(function(index){
			CurrentBanner = CurrentBanner % NumberOfBanners;
			jQuery('#Rotator #SliderBanners img').each(function(index){
				//Calculate z-index
				var ZIndexLevel = ((NumberOfBanners-index) + CurrentBanner) % NumberOfBanners;
				jQuery(this).css({
					'zIndex' : ZIndexLevel,
					'display' : 'block'
				});
			});
		});
		if(jQuery('#Rotator #SliderBanners img').eq(0).hasClass('SelectedBanner')){
			jQuery('#Rotator #SliderBanners img.SelectedBanner').fadeOut(500, (function(){
				StartSelection = false;
				RotateBanners(CurrentBanner);
			}));
		}
		else{
			jQuery('#Rotator #SliderBanners img.SelectedBanner').prev('img').fadeOut(500, (function(){
				StartSelection = false;
				RotateBanners(CurrentBanner);
			}));
		}
	}*/
	
	//Runs the slide show rotator plugin.
	jQuery('#SliderBannersPlugin').before('<div id="SliderNavPlugin">').cycle({ 
		fx:     'fade', 
		speed:  2500, 
		timeout: 5000, 
		pager:  '#SliderNavPlugin'
	});
	
	/* Testimonial Fader */
	rotateTestimonials(1);
	
	//Rotates the images.
	function rotateTestimonials(currentTestimonial){
		var numberOfTestimonials = jQuery('.Testimonial ul li').length;
		currentTestimonial = currentTestimonial % numberOfTestimonials
		
		//Change the number to change the amount of time as image is fading (unit is milliseconds).
		jQuery('.Testimonial ul li').eq(currentTestimonial).fadeOut(2000, function(){
			//Reorder the z-index
			jQuery('.Testimonial ul li').each(function(i){
				//Calculate z-index
				var ZIndexLevel = ((numberOfTestimonials-i) + currentTestimonial) % numberOfTestimonials				
				jQuery(this).css({'zIndex' : ZIndexLevel, 'display' : 'block'});
			});
			
			//Change the number to change the amount of time an image is fully visible (unit is milliseconds).
			setTimeout(function() {rotateTestimonials(++currentTestimonial);}, 11000);
		});
	}
	
});
