﻿var activeSlideIndex = 9999;//must be greater than the number of slides		
$(window).load( function(){			
	overidePagingFunctions();
	initializeCycling();
});

function overidePagingFunctions(){
	//override updateActivePagerLink
	$.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) {
		//overide click event on pager object to instead go to location of first contained href
		//if the pager item is active
		if (activeSlideIndex == currSlideIndex) {
			var anchor = $(pager).find('li').filter('li:eq('+currSlideIndex+')').find('a');
			location.href = anchor.attr('href');					
		}
		
		//what to do when an inactive pager item is selected 
		$(pager).find('li')
			.filter('li:not('+currSlideIndex+')')
				.animate(
					{height: '30', width: '288', opacity: '.6'}, 
					300, 
					'', 
					function(){ 								
						$(this).removeClass('active'); 
						$(this).addClass('inactive');															
					}
				)
			.filter('li:eq('+currSlideIndex+')')
				.find('.nav-slide').fadeOut('fast', function(){																					 								
						$(this).parent().removeClass('inactive');
						$(this).parent().animate(
							{height: '100', width: '430', opacity: '.9'}, 
							500, 
							'easeInOutExpo', 
							function(){ 																						
								$(this).removeClass('inactive');			
								$(this).find('.nav-slide').fadeIn();									
								$(this).addClass('active');								
							}
						);
					}
				);								
										
		activeSlideIndex = currSlideIndex;
	};
}

function initializeCycling()
{	
	$('.slides ul').after('<div class="nav-slides-wrap"><ol>').cycle({
		fx: 'scrollLeft',//fade',
		easing: 'easeInOutExpo',
		speed: 1600,//speed of animation
		timeout: 5000,//time between slides				
		pager: '.nav-slides-wrap ol',
		pagerEvent: 'click',
		slideExpr: 'li .large-img img',
		pauseOnPagerHover: 1,
		containerResize: 0,							
		pagerAnchorBuilder: function(idx, slide) {
			var slideData = $('.slides ul li:eq(' + (idx) + ') div.slide-pager-data-wrap');
			var innerContent = slideData.html();
			slideData.remove();
			return '<li><div class="nav-slide">' + innerContent + '</div></li>';					
		}
	}).after('</ol></div>');
	
	$('.nav-slide').hover(
		function () {			
			var li = $(this).parent();
			if(li.hasClass('inactive'))
				li.animate({opacity: '.8'}, 'fast');
		}, 
		function () {
			var li = $(this).parent();
			if(li.hasClass('inactive'))
				li.animate({opacity: '.6'}, 'fast');
		}
	);
	
	$('.slideshow').removeClass("loading");		
}

