
// config variables for slideshow


var easeFunc = "easeInOutExpo"; /* <-- easing function names changed in jquery.easing.1.2.js */
var easeTime = 750;

var pictWidth = 965;
var pictHeight = 630;

var navStart = [217, 194, 169];
var navEnd = [180, 133, 82]; 
var slideshowObj = "ul.gallery";


// function to initialize

function slideshowInit() {
	
	if ($(slideshowObj).length == 0) return;
	
	var container = $(slideshowObj);
	pictEls = container.find("> li").size();
	
	// build the navigation buttons; they are colored in steps from navStart to navEnd
	
	var navStep = new Array();	
	navStep["r"] = Math.round((navStart[0] - navEnd[0])/(pictEls-1));
	navStep["g"] = Math.round((navStart[1] - navEnd[1])/(pictEls-1));
	navStep["b"] = Math.round((navStart[2] - navEnd[2])/(pictEls-1));
	
			
	// build the controller
	
	$(".navigation .selected").append('<div id="selector"></div>');
	
	container.each(function(i) {
					
		jQuery("div#selector").append('<div class="label"><span class="hide">(</span><a class="navNewer" href="#">Newer</a><span class="hide"> items listed first)</span></div>');
		jQuery("div#selector").append('<ol></ol>');
		jQuery("div#selector").append('<div class="label"><span class="hide">(</span><a class="navOlder" href="#">Older</a><span class="hide"> items listed last)</span></div>');			
		
		
		// for each li in the original UL, build a button			
		
		jQuery(this).find("> li").each(function(n) {
			jQuery("div#selector ol").append("<li><a href='#' id='nav"+n+"' style='background-color: rgb("
			+ (navStart[0] - (navStep.r * n)) + "," +
			+ (navStart[1] - (navStep.g * n)) + "," +
			+ (navStart[2] - (navStep.b * n)) +						
			"); border-color: rgb("
			+ (navStart[0] - (navStep.r * n)) + "," +
			+ (navStart[1] - (navStep.g * n)) + "," +
			+ (navStart[2] - (navStep.b * n)) +						
			");'>&nbsp;<\/a><\/li>");												
		});
			
		// Make each button (each <a> tag) do something. z is actually the number of the button pressed.
		
		jQuery("div#selector li a").each(function(z) {
			
			// on click, do..
			
			jQuery(this).click(function(){
				navSelect(z);
				return false; // this disables the <a> tag
			   });
			
			});
		
		// set the first button to "on"
		
		navSelect(0);
				
		// set up previous/next buttons that sit on top of the slides
		
		jQuery(".navNewer").click(function() {
			navSelect (navSelected == 0 ? navSelected : navSelected - 1);
			return false;
			});

		jQuery(".navOlder").click(function() {
			navSelect (navSelected == pictEls - 1 ? navSelected : navSelected + 1);
			return false;
			});

		});
};



// generic function for selecting a gallery item and animating to it

function navSelect (selected) {
	
	// initialize navSelected; if the current item is already selected, don't do anything

	if (typeof navSelected == "undefined") { navSelected = 0 }
		else {if (selected == navSelected) return; };
				
	
	// turn off the current item
	
	jQuery("#nav" + navSelected).removeClass("current");
	
	// turn on the new item
	
	jQuery("#nav" + selected).addClass("current");
	
	// if it's first or last, disable the proper items
	
	if (navSelected == 0) jQuery(".navNewer").removeClass("disabled");
	if (navSelected == pictEls-1) jQuery(".navOlder").removeClass("disabled");

	if (selected == 0) {
		jQuery(".navNewer").addClass("disabled");
		jQuery("#previousslide img").fadeOut("slow");
	};
	
	if (selected == pictEls-1) {
		jQuery(".navOlder").addClass("disabled");
		$("#nextslide img").fadeOut("slow");
	}
	
	// animate to the new item

	jQuery("ul.gallery").animate({ left: - (selected * pictWidth) }, easeTime, easeFunc);

	navSelected = selected;
	
	return;

}


