(function($) {

	$.fn.Slideshow = function(settings) {

		var config = {  };
            
		if (settings) $.extend(config, settings);
        
		return this.each(function() {
        
			var $self = $(this),
				$slidecontainer = $self.find('#slides'),
				$slides = $self.find('.slide'),
				$_slidetotal = $slides.length,
				_activeslide = 0,
				_initialized = false,
				_interval;
			
			$self
				.css({});
			
			$slidecontainer
				.css({position:'relative',zIndex:1,height: config.height, width: config.width, overflow: 'hidden'});
			
			if (config.listener){
			 $('body').bind(config.listener,
			   function(e,current_page,pages){
			     var page_id = current_page-1;
			     $self.triggerHandler('SEEK',page_id);
			   })
			}
			
			if (config.arrows) {
				$('<a/>').html('&lt;').attr({'id':'slide-arrow-left','href':'#/prev'}).click(function(){_clearInterval();_prev();}).appendTo($nav);	
			}
			
			$slides
				.each(function(index) {
					
					var $slide 	= $(this).css({position:'absolute',top:20,left:0}).fadeOut(0)
					    					
					$self
						.bind('SEEK',function(e,id) {
							if (id==index) {
								$slide.fadeIn(config.speed)	
							}else{
								$slide.fadeOut(config.speed)
							}
						});
				});

			function _seek(id) {
				_activeslide = id;
				$self.triggerHandler('SEEK',id)
			}
			

			function _setInterval() {
				_interval = setInterval(_next,config.interval);
			}
			
			function _clearInterval() {
				clearInterval(_interval);
			}
			
			if (config.interval)
				_setInterval();
				
			//$self.triggerHandler('SEEK',0)
			
			
		});
	
	}
	
})(jQuery);
