

//Will T. Avalon Consulting.  initialize the slideshow when the DOM is ready
//this is to start the slide show
var $j = jQuery.noConflict();

var $pause = null;
$j(document).ready(function() {
    $j('.slideshow').cycle({
		fx: 'fade', 
		delay:  500,
		speed:  'fast',
		timeout: 7000,
		prev:   '#prev', 
	    	next:   '#next',
	    	before: onBefore,
		after:  onAfter,
		pause:  1,
		thumb: '#thumbs'
	});
    //hide thumbnail images
    var tnails = $j("#thumbnails a").get();
    for(i = 0; i < tnails.length; i++){
	if (i > 7) tnails[i].className = 'hidden';
    }
    // init thumbnail click events
    $j('#thumbs').click();
    // hide text descriptions
    // hide user input textual elements
    for(i=1; i<tnails.length; i++){
	iFind = i + 1;
	var find = "#description"+iFind;
	$j(find).css("display", "none");
    }
    // jump to 3rd slide, not used but may come back
    //var gotoSlide = $('#3').get();
    //if(gotoSlide.length > 0) {
    //	$('#3').trigger('click');
    //	}
    
    // show slideshow after page load
    $j("#slideshow").css('visibility', 'visible');
    
});

function onBefore(curr, next, opts, fwd) {
  if (navigator.appName.indexOf("Microsoft Internet") !=-1){
  	$j("#slideshow object").css("display", "none");
 	var $objects = $j("#slideshow object").get();
 	for(i=0; i < $objects.length; i++){
 		var findVidNumber = i + 1;
 		var findVid = "#video" + findVidNumber;
 		var findVidHolder = "#vidHolder" + findVidNumber;
 		var vidClone = $j(findVid).clone(true);
 		$j(findVid).remove();
 		$j(findVidHolder).html(vidClone);
 	}
  }
}
//this hides description text and iterates through the thumbnails for the slideshow region
function onAfter(curr, next, opts, fwd) {
  if (navigator.appName.indexOf("Microsoft Internet") !=-1){
  	$j("#slideshow object").css("display", "block");
  }
 var tnails = $j("#thumbnails a").get();
 var tNum = opts.currSlide;
 $j("#thumbnails a.current").removeClass("current");
 // first slide hides
 if(opts.currSlide == 0){
    	// hide user input textual elements
	for(i=1; i<tnails.length; i++){
		iFind = i + 1;
		var find = "#description"+iFind;
		$j(find).css("display", "none");
		$j("#description1").css("display", "block");
	}
	$j("#thumbnails a.hidden").removeClass("hidden");
	for(i = 0; i < tnails.length; i++){
		if (i > 7) tnails[i].className = 'hidden';
	}
    	// making sure first thumb is current and visible
    	// going the extra mile here to make sure all elements are visible - for IE
    	if(tnails.length > 0){
    		$j("#thumbs").css('visibility', 'visible');
    		$j("#1").css('visibility', 'visible');
    		tnails[2].visibility = 'visible';
    		tnails[2].className = 'current';
    	}
 }else{ // handle all slides except first
	if (opts.currSlide > 5) tnails[tNum-4].className = 'hidden';
	// handle previous button click to end of image list
	// this handles previous button click from 1st slide for thumbnails
	if (!fwd  && (opts.currSlide) == (tnails.length-3)){
		$j("#thumbnails a.hidden").removeClass("hidden");
		var iHide = (tnails.length-8);
		for(i = 0; i < iHide; i++){
			tnails[i+2].className = 'hidden';
		}
	}
	//all text is hidden except current slide number
	for(i=0; i < tnails.length; i++){
		iAll = i+1;
		var allFind = "#description"+iAll;
		$j(allFind).css("display", "none");		
	}
	iFind = opts.currSlide+1;
	var find = "#description"+iFind;
	$j(find).css("display", "block");


	if(tnails.length > 0)tnails[tNum+2].className = null;
	if(tnails.length > 0)tnails[tNum+2].className = 'current';

	// handle mid list previous button click for image thumbnails
	var hidden =$j("#thumbnails a.hidden").get();
	if (hidden.length !== (tnails.length-8)){
		if(tnails.length > 0)tnails[tnails.length - opts.currSlide].className = 'hidden';
	}
 }
}




