jQuery.fn.slideshow = function(options){	
    
    // Set plugin options -->
    defaults = {
		reload:true,
		speed:5000,
		transition:2000,
		thumbs:false,
		type:'simple',
		reset:false,
		stop:false
	}
	options = jQuery.extend(defaults,options);
		
	// Stop slideshow -->
    if(options.stop && !(typeof(track)=="undefined")) {
    	clearInterval(track);
    	return false;
    }	
		
	// Plugin function -->
    this.each(function(){  
        	
    	// Clear previous slideshows -->
    	if(options.reset && !(typeof(track)=="undefined")) clearInterval(track);
               
    	// Define slider and show it's first image -->
    	var slider = $(this);
    	slider.children('.active').removeClass('active');
    	
    	slider.children(':first').addClass('active').children('img').show();
    	// Diferent TYPE options for first image -->
    	if(options.type=='up') slider.children(':first').animate({marginTop:-230},options.speed+options.transition,'linear');
    		
    	// Create thumbnails -->
    	if(options.thumbs) {
			var anchor = slider.attr('title');
			var name = slider.attr('id');
			var thumbs = "";										
			for(i=0;i<slider.children().size();i++){
				var img = slider.children('li').eq(i).children('img').attr('src');
				thumbs += '<li><a href="'+img+'"><img src="'+img+'" alt="Image'+i+'"/></a></li>';
			}
			$('#'+name+'Thumbs').remove();
			$('#'+anchor).append('<ul id="'+name+'Thumbs" class="slideshowThumbs">'+thumbs+'</ul>');
			$('#'+name+'Thumbs li:first a').addClass('active');					
		}    			
			
		// Change image every x seconds -->
    	track = setInterval( function() {					
    		var active = slider.children('.active').index();		  
    		var next = (active+1==slider.children().size()) ? 0 : active+1;			  			
    		slider.children().eq(active).removeClass('active').children('img').fadeOut(options.transition);    		
    		slider.children().eq(next).addClass('active').children('img').fadeIn(options.transition);	
    		
    		// Diferent TYPE options -->
    		if(options.type=='up') slider.children().eq(next).css('margin',0).animate({marginTop:-230},options.speed+options.transition,'linear');	
    		    
    		// Change active thumbnail -->
    		if(options.thumbs) {
    			var name = slider.attr('id');
    			$('#'+name+'Thumbs a').removeClass('active').eq(next).addClass('active');
    		}				
		},options.speed);				    						        		
    });    		
 	
 	// Thumbnail menu click -->   		
    $('ul.slideshowThumbs li a').live('click',function(){
		var index = $(this).parent('li').index();
		var name = $(this).parent('li').parent('ul').attr('id').replace('Thumbs','');
		$('#'+name+'Thumbs a').removeClass('active').eq(index).addClass('active');				
		$('#'+name+' li').removeClass('active').children('img').hide();
		$('#'+name+' li').eq(index).addClass('active').children('img').fadeIn(100);
		
		return false;
	});    		
}
