/**
 * Fade Gallery - Image gallery for jQuery
 * Written by Akop Kesheshyan
 * Twitter: http://twitter.com/creativator_ru
 *
 * @author Akop Kesheshyan
 * @site http://creativator.net/
 * @version 0.5
 *
 **/
(function($){		
	$.extend({
		fadeGallery:{
			object:{},
			settings:{
				speed: 1000,
				auto: 5,
				callback:false
			},
			init: function($this, $settings){
				
				this.object = $this;					
				this.settings = $.extend(this.settings,$settings);				
							
				$('ul',this.object).css({
					listStyle:'none',
					margin:0,
					padding:0
				}).find('li').css({position:'absolute',zIndex:0}).hide();
				
				
				$('li:first',this.object).addClass('active').show();
				
				if(this.settings.auto){
					this.setAuto();
				}				
				
				if($.isFunction(this.settings.callback)){
					return this.settings.callback(this);
				}
			},
			nextImage: function(){
				var $this = this;
				var $active = $('.active',this.object).removeClass('active');
					$active.next().size()? $current = $active.next(): $current = $('li:first',$this.object);
					$current.addClass('active').fadeIn(this.settings.speed);
				$active.fadeOut(this.settings.speed);						  				
			},
			prevImage: function(){
				var $this = this;
				var $active = $('.active',this.object).removeClass('active');
					$active.prev().size()? $current = $active.prev(): $current = $('li:first',$this.object);
					$current.addClass('active').fadeIn(this.settings.speed);
				$active.fadeOut(this.settings.speed);
			},
			setAuto: function(){
				var $this = this;					
				window.setTimeout(function(){ $this.setAuto(); $this.nextImage();},$this.settings.auto*1000);
			}
		}
	});
	
	$.extend($.fn, {
		fadeGallery: function(settings){
			$.fadeGallery.init(this,settings);
		}
	});	


})(jQuery);
