$slideshow = {
	context: false,
	tabs: true,
	timeout: 9000,      // time before next slide appears (in ms)
	slideSpeed: 1000,   // time it takes to slide in each slide (in ms)
	tabSpeed: 1000,      // time it takes to slide in each slide (in ms) when clicking through tabs
	fx: 'scrollLeft',   // the slide effect to use
	
	init: function() {
		// set the context to help speed up selectors/improve performance
		this.context = $('#slideshow');
		
		// set tabs to current hard coded navigation items
		this.tabs = $('ul.slides-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();
		
		//pause slideshow
		this.pauseSlideshow();        		
	},
	
	//stop slideshow
	stopSlideshow: function() {
		// pause the jquery cycle plugin -
		$('div.slides > ul').cycle('stop');
	},
	
	//pause slideshow
	pauseSlideshow: function() {
		// pause the jquery cycle plugin -
		$('div.slides > ul').cycle('pause');
	},
	
	//resume slideshow
	resumeSlideshow: function() {
		// pause the jquery cycle plugin -
		$('div.slides > ul').cycle('resume',true);
	},
	
	prepareSlideshow: function() {
		// initialise the jquery cycle plugin -
		// for information on the options set below go to: 
		// http://malsup.com/jquery/cycle/options.html
		$('div.slides > ul', $slideshow.context).cycle({
			fx: $slideshow.fx,
			timeout: $slideshow.timeout,
			speed: $slideshow.slideSpeed,
			fastOnEvent: $slideshow.tabSpeed,
			pager: $('ul.slides-nav', $slideshow.context),
			pagerAnchorBuilder: $slideshow.prepareTabs,
			before: $slideshow.activateTab,
			pauseOnPagerHover: true,
			pause: true
		});            
	},
	
	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');
		}            
	}            
};


$(function() {
	// add a 'js' class to the body
	$('body').addClass('js');	
	// initialise the slideshow when the DOM is ready
	$slideshow.init();
});  

function stop(){ 
	//pause slideshow
	$slideshow.pauseSlideshow(); 
	//hide pause button
	 $('#stopSlideshow').attr("style", "display:none");
	 //display play button
	 $('#startSlideshow').attr("style", "display:block");
	  //change icon
	 $('#buttonsPic').attr("style",'background-position: top left;'); 
}

function play(){ 
	//resume slideshow
	$slideshow.resumeSlideshow(); 
	//hide play button
	 $('#startSlideshow').attr("style", "display:none;");
	 //display pause button
	 $('#stopSlideshow').attr("style", "display:block;");
	 //change icon
	 $('#buttonsPic').attr("style",'background-position: bottom left;'); 
}

window.onload=function(){
	$('#slideshowButtons').show("slide", { direction: "down" }, 700);
}