/*Written by Rich Hendrickson*/

$.fn.slideyFadey = function(options) {

	options = $.extend({
		start: 1,
		slideSize: 300,
		slideHeight: 300
	}, options);
	
	return this.each(function(){
		var slidey = $(this);
		//set local vars
		var currentSlide = options.start;
		var slideWidth = options.slideSize;//slidey.find('.slide').width();
                var selected = 0;
		//var slideCount = slidey.find('#slideyContainer').children().size();
		
		//resizes the container to hold all of the slides, prevents animation glitch
		//$('#slideyContainer').width(slideWidth*slideCount + 'px');
		
		//animates the slides left or right
		function animateSlides(cur, wid, sel)
		{	
			var newHeight = slidey.find('.slide-' + sel + ' img').height();
			slidey.find('.slider').height(newHeight).find('.slideWrap').height(newHeight).find('.slide').height(newHeight);
			if(newHeight > 490)
			{
				slidey.find('.sliderContainer').height(490)
			}
			else
			{
				slidey.find('.sliderContainer').height(newHeight)
			}
			if(cur>sel) { distance =  (cur - sel) * wid; }
			else if(sel>cur) { distance =  -(sel - cur) * wid; }
			else { distance = 0; } //Current slide selected, does not animate.
			/*$('.slideWrap')*/slidey.find('.slideWrap').animate({
				marginLeft: '+=' + distance + 'px'
			}, 1000, function(){
				//run after
			});
		}	
		
		function updateSize(sel)
		{
			var newHeight = slidey.find('.slide-' + currentSlide + ' img').height();
			slidey.find('.slider').height(newHeight).find('.slideWrap').height(newHeight).find('.slide').height(newHeight);
		}
		
		//updateSize();
		
		//Defines the selected slide, animates the slides and resets the current slide to the selected slide. Also adds and removes the active class
		/*$('.slideNav a')*/slidey.find('.slideNav a').click(function(){
			selected = parseInt($(this).attr("href").slice(5));
			/*$('.slideNav .activeSlide')*/slidey.find('.activeSlide').removeClass('activeSlide');
			animateSlides(currentSlide, slideWidth, selected);
			currentSlide = selected;
			/*($('.slideNav a[href=#tab-' + currentSlide + ']')*/ slidey.find('.slideNav a[href=#tab-' + currentSlide + ']').parent().addClass('activeSlide');
			
			return false;
		});

                /*$('.next')*/slidey.find('.next').click(function(){
					
                    selected = currentSlide + 1;
                    if(selected > /*$('.slideNav li')*/slidey.find('.slideNav li').size() + options.start - 1)
                    {
                      selected = options.start;
					}
                    /*$('.slideNav .activeSlide')*/slidey.find('.slideNav .activeSlide').removeClass('activeSlide');
                    animateSlides(currentSlide, slideWidth, selected);
                    currentSlide = selected;
                    /*($('.slideNav a[href=#tab-' + currentSlide + ']')*/ slidey.find('.slideNav a[href=#tab-' + currentSlide + ']').parent().addClass('activeSlide');
                    return false;
                });

                /*$('.prev')*/slidey.find('.prev').click(function(){
                    selected = currentSlide - 1;
                    if(selected < options.start)
                    {
                        selected = /*$('.slideNav li')*/slidey.find('.slideNav li').size() + options.start - 1;
                    }
                    /*$('.slideNav .activeSlide')*/slidey.find('.slideNav .activeSlide').removeClass('activeSlide');
                    animateSlides(currentSlide, slideWidth, selected);
                    currentSlide = selected;
                    /*($('.slideNav a[href=#tab-' + currentSlide + ']')*/ slidey.find('.slideNav a[href=#tab-' + currentSlide + ']').parent().addClass('activeSlide');
                    return false;
                });
			
	});
};
