jQuery(document).ready(function($) {
	$slideshow = {
		startingSlide: Math.floor(Math.random() * ($('#features li').length - 1)),
		context: false,
		tabs: false,
		easing: 'bounceout',
		timeout: 7000,      // time before next slide appears (in ms)
		slideSpeed: 500,   // time it takes to slide in each slide (in ms)
		tabSpeed: 300,      // time it takes to slide in each slide (in ms) when clicking through tabs
		fx: 'wipe',   // the slide effect to use
		//cleartype: true, // for white background in IE7 and 8
		//cleartypeNoBg: true,
		
		init: function() {
		// set the context to help speed up selectors/improve performance
		this.context = $('#featured');
		
		// set tabs to current hard coded navigation items
		this.tabs = $('#featured-nav li', this.context);
		
		// remove hard coded navigation items from DOM 
		// because they aren't hooked up to jQuery cycle
		this.tabs.remove();
		
		// prepare slideshow and jQuery cycle tabs
		this.prepareSlideshow();
		},
		
		prepareSlideshow: function() {
		// initialise the jquery cycle plugin -
		// for information on the options set below go to: 
		// http://malsup.com/jquery/cycle/options.html
		$('#features', $slideshow.context).cycle({
			fx: $slideshow.fx,
			timeout: $slideshow.timeout,
			speed: $slideshow.slideSpeed,
			fastOnEvent: $slideshow.tabSpeed,
			pager: $('#featured-nav', $slideshow.context),
			pagerAnchorBuilder: $slideshow.prepareTabs,
			before: $slideshow.activateTab,
			pauseOnPagerHover: true,
			pause: true,
			startingSlide: $slideshow.startingSlide
		});    
		},
		
		prepareTabs: function(i, slide) {
		// return markup from hardcoded tabs for use as jQuery cycle tabs
		// (attaches necessary jQuery cycle events to tabs)
		return $slideshow.tabs.eq(i);
		},
		
		activateTab: function(currentSlide, nextSlide) {
		// get the active tab
		var activeTab = $('a[href="#' + nextSlide.id + '"]', $slideshow.context);
		
		// if there is an active tab
		if(activeTab.length) {
			// remove active styling from all other tabs
			$slideshow.tabs.removeClass('on');
			
			// add active styling to active button
			activeTab.parent().addClass('on');
		}            
		}            
	};
	
	// initialise the Home Page slideshow when the DOM is ready
	$slideshow.init();
	
	// Navigation
	$('#featured-nav').hide();
	$('#featured').hover(
		function() { $('#featured-nav').fadeIn(); },
		function() { $('#featured-nav').fadeOut(); }
	);
	 
});

