autoslide = true;
autoslideDelay = 4000;
thumbs = false;

function fadeGallery(){
	$("div.fade-gallery").each(function(){
		var f_gallery = $(this);
		var f_list = f_gallery.find(".fade-gallery-holder li");
		//active element searching
		var f_active = f_list.index(f_list.filter(".active:eq(0)"));
		//if absent so let be first
		if(f_active == -1) f_active=0;
		//all instead of first active are transparent and not active
		f_list.removeClass("active").css("opacity", 0).eq(f_active).addClass("active").css("opacity", 1);
		
		//thumbs generation
		var f_thumb = $('<ul class="thumbs"></ul>');
		for(i=0; i<f_list.length; i++){
			if (thumbs)
			{
				f_src = f_list.eq(i).find("img").attr("src");
				f_thumb.append('<li><a href="#"><img alt="thumb" src="' + f_src + '" /></a></li>');
			}
			else
			{
				f_thumb.append('<li><a href="#">' + (i + 1) + '</a></li>');
			}
		}
		f_gallery.append(f_thumb);
		var btn_prev = f_gallery.find("a.prev");
		var btn_next = f_gallery.find("a.next");
		var f_thumb = f_gallery.find(".thumbs li");
		f_thumb.eq(f_active).addClass("active");
		//click functions
		btn_prev.click( function(){
			slidePrev();
		});
		btn_next.click( function(){
			slideNext();
		});
		f_thumb.click( function(){
			changeItem(f_thumb.index(this));
			return false;
		});
		function slideNext()
		{
			if (f_active < f_list.length - 1) 
				changeItem(f_active + 1);
			else changeItem(0);
		}
		function slidePrev()
		{
			if(f_active > 0) changeItem(f_active-1);
			else changeItem(f_list.length-1);
		}
		//change item function
		function changeItem(f_index){
			if(f_index != f_active){
				f_thumb.eq(f_active).removeClass("active");
				f_thumb.eq(f_index).addClass("active");
				f_list.eq(f_active).removeClass("active").animate({opacity:0}, {queue:false, duration: 1000});
				f_list.eq(f_index).addClass("active").animate({opacity:1}, {queue:false, duration: 1000});
				f_active = f_index;
			}
		}
		
		///autoslide
		if (autoslide)
		{
			setInterval(function()
			{
				slideNext();
			}, autoslideDelay);
		}
	});
}

$(document).ready(function(){
	fadeGallery();
});

