(function( $ ){

	var slideshow,
	slides,
	numSlides = 0,
	positions = new Array(),
	currpage = 0,
	slideWidth = 0,
	marginRight = 0,
	settings = {
		'speed': 1000,
		'autoplay': false,
		'autoPlaySpeed': 5000
	},
	slideDistance = function(i) {
		var totalSlide = slideshow.find('dl > dd').width() + 36;
		return i*-totalSlide;
	},
	autoPlayTimeout,
	autoPlay = function() {
		$.fn.scuttleslide.right();
		t_o = setTimeout(autoPlay,settings['autoPlaySpeed']);
		return t_o;
	},
	stopPlay = function(t) {
		return clearTimeout(t);
	};
	
	$.fn.scuttleslide = function(options) {
	  	
			if(options) {
				$.extend(settings,options);
			}
			
			return this.each(function() {
	  	
				$(this).css('position','relative').wrapInner('<div class="scuttle-slideshow-container"/>');
	  	
				slideshow = $(this).first('.scuttle-slideshow-container');
				slides = slideshow.find('dl > dd');
				slideWidth = slides.width();
				numSlides = slides.length-1;
				marginRight = parseInt(slides.css('marginRight'));
	  	
				$(this).append('<div class="scuttle-arrow scuttle-left">Previous Slide</div>')
	  				.append('<div class="scuttle-arrow scuttle-right">Next Slide</div>');
	  	
				if(settings['autoplay']) {
					setTimeout($.fn.scuttleslide.autoPlay,settings['autoPlaySpeed']);
					$(this).append('<div class="scuttle-autoplay-control">Stop Auto Play</div>');
				}
				
				$('.scuttle-arrow').click(function () {
					slideshow.find('dl').css('left',slideDistance(currpage));
					if($(this).hasClass('scuttle-left')) {
						$.fn.scuttleslide.left();
					}
					else {
						$.fn.scuttleslide.right();
					}
				});
				
				slideshow.mouseenter(function () {
					$('.scuttle-autoplay-control').fadeIn('slow', function () {
						slideshow.mouseleave(function (){
							$('.scuttle-autoplay-control').fadeOut('slow');
						});
					});
				});
				
				$('.scuttle-autoplay-control').toggle(function () {
					$.fn.scuttleslide.autoPlayStop();
				}, function() {
					$.fn.scuttleslide.autoPlay();
				});
				
			});
			
	  	
		};
		
	$.fn.scuttleslide.autoPlay = function() {
		autoPlayTimeout = autoPlay();
		$('.scuttle-autoplay-control').html('Stop Auto Play');
	};
	
	$.fn.scuttleslide.autoPlayStop = function() {
		stopPlay(autoPlayTimeout);
		$('.scuttle-autoplay-control').html('Start Auto Play');
	};
		
	$.fn.scuttleslide.left = function (options) {
		stopPlay(autoPlayTimeout);
		if(options) {
			$.extend(settings,options);
		}
		
		if(currpage > 0) {
			currpage--;
			slideshow.find('dl').animate({left: slideDistance(currpage)},settings['speed']);
		}
		else
		{	
			currpage = numSlides;
			slideshow.find('dl').animate({left: slideDistance(numSlides)},settings['speed']);
		}
	};
	
	$.fn.scuttleslide.right = function (options) {
		stopPlay(autoPlayTimeout);
		if(options) {
			$.extend(settings,options);
		}
		
		if(currpage < numSlides) {
	 			currpage++;
	 			slideshow.find('dl').animate({left:slideDistance(currpage)},settings['speed']);
	 	}
	 	else
	 	{
	 		currpage = 0;
	 		slideshow.find('dl').animate({left:'0'},settings['speed']);
	 	}
	};
})( jQuery );
