function slideshow(slideshowidarray) {
	for (var i=0; i<slideshowidarray.length; i++) {
		var slideshowid = slideshowidarray[i];
		if(!document.getElementById(slideshowid)) {return;} // make sure id exists
	
		makeNav(slideshowid); // creates a navigable array of slide items and next/prev buttons
		
		// initialize slideshow
		$('#'+slideshowid+' .slide-wrapper').hide();
		$('#'+slideshowid+' li:first').addClass('active').find('.slide-wrapper').fadeIn();

	
	// slide title
	/*
	$('#'+slideshowid+' li').click(function() {
		clearInterval(timer);	
		var element = $('#'+slideshowid+' li').index(this);
		currentSlide(element, slideshowid);
	});
	*/
	
	// slide navigation
	$('#'+slideshowid+'-nav li').click(function() {
		clearInterval(timer);
		var element = $('#'+slideshowid+'-nav li').index(this);
		currentSlide(element, slideshowid);
   });

	// next button
	$('#'+slideshowid+'-next').click(function() {
		clearInterval(timer);	
		nextSlide(slideshowid);
	});
	
	// previous button
	$('#'+slideshowid+'-prev').click(function() {
		clearInterval(timer);	
  	  	prevSlide(slideshowid);
	});
	
	$('#'+slideshowid+'-control').click(function() {
		if( $(this).hasClass('on') ) {$(this).removeClass('on'); clearInterval(timer);}
		else { $(this).addClass('on'); playSlideshow(slideshowid);}
	});
	

	//nextSlide();
	timer = setInterval( function(){nextSlide(slideshowid);}, 4500 );
	}
	
	function playSlideshow(slideshowid) {
		timer = setInterval( function(){nextSlide(slideshowid);}, 4500 );
	}
}



function nextSlide(slideshowid) {
	// jump started thanks to http://jonraasch.com/blog/a-simple-jquery-slideshow 
	var $active = $('#'+slideshowid+' li.active'); // active default
	
	if ( $active.length == 0 ) $active = $('#'+slideshowid+' li:last');

	var $next =  $active.next().length ? $active.next() : $('#'+slideshowid+' li:first'); // loop when we reach the end
   
	$active.addClass('last-active'); // so we can fadeout the last slide
 	
	$next.addClass('active'); // find the next slide
	$('.active .slide-wrapper').fadeIn();
	$('.last-active .slide-wrapper').fadeOut();
    $active.removeClass('active last-active'); // remove previous slide classes
			
	// add active state to slideshow navigation
	var index = $('#'+slideshowid+' li').index($next);
	$('#'+slideshowid+'-nav li').removeClass('active');
	$('#'+slideshowid+'-nav li').eq(index).addClass('active');
}


function prevSlide(slideshowid) {
  	var $active = $('#'+slideshowid+' li.active');
		
	if ( $active.length == 0 ) $active = $('#'+slideshowid+' li:first');
		
    var $prev =  $active.prev().length ? $active.prev() : $('#'+slideshowid+' li:last');
	
	$active.addClass('last-active');
	
	$prev.addClass('active');
	$('.active .slide-wrapper').fadeIn();
	$('.last-active .slide-wrapper').fadeOut();
    $active.removeClass('active last-active');
	
	var index = $('#'+slideshowid+' li').index($prev);
	$('#'+slideshowid+'-nav li').removeClass('active');
	$('#'+slideshowid+'-nav li').eq(index).addClass('active');
}


function currentSlide(element, slideshowid) {
	$('#'+slideshowid+'-nav li').removeClass('active'); // reset elements
	$('#'+slideshowid+'-nav li').eq(element).addClass('active'); // make selected item active
						  
	$('#'+slideshowid+' li').removeClass('active last-active').find('.slide-wrapper').fadeOut();
	$('#'+slideshowid+' li').eq(element).addClass('active').find('.slide-wrapper').fadeIn();
}

function makeNav(slideshowid) {
	$('#'+slideshowid).after('\n<div id="'+slideshowid+'-nav">'); // build slideshow nav wrapper
	$('#'+slideshowid+'-nav').append('<ul>'); // wrap slide links so next/prev aren't included in array
	$('#'+slideshowid+'-nav ul').before('\n<a id="'+slideshowid+'-prev">&#171;</a>\n'); // previous slide link
	$('#'+slideshowid+'-nav ul').after('\n<a id="'+slideshowid+'-next">&#187;</a>\n'); // next slide link
	$('#'+slideshowid+'-nav ul').after('\n<a class="on" id="'+slideshowid+'-control">Play/Pause</a>\n'); //pause button

	$('#'+slideshowid).find("li").each(function(i) {
		i = i+1; // start at 1, not 0
		$('#'+slideshowid+'-nav ul').append('<li><a>'+i+'</a></li>');
	});
}
