(function($){
	
	$.timeSlide = function(el, options){
		
		var main = this;
		main.options = $.extend({},$.timeSlide.defaults, options);
		main.el = el;
		main.act = 0;
		main.dir = true;
		
		main.Go2Page = function(){
			main.desc.fadeOut();
			//$(main.bg).animate({"left":(main.act*main.w)+"px"},main.options.animationTime,main.options.easing);
			$("#slider .Images img").css({"z-index":"0"});
			$(main.images[main.act]).css({"z-index":"2","display":"none"});
			$("#slider .Images .actual").removeClass("actual").css({"z-index":"1"});
			$(main.images[main.act]).addClass("actual").animate({"opacity":"show"},main.options.animationTime,main.options.easing,function(){ 
				main.desc.text( $(main.images[main.act]).attr("alt") );
				main.desc.css({"bottom":-main.desc.height()+"px"}).animate({"opacity":"show","bottom":"0px"},main.options.animationTime,main.options.easing);
			});
		};
		
		main.Timer = function(){
			var barStart = main.act*main.w;
			var barEnd = main.act*main.w;
			main.dir ? barEnd += main.w : barStart += main.w;
			main.bar.css({"width":barStart+"px"});
			main.bar.animate({"width":barEnd+"px"},main.options.delay,null,function(){ 
				main.dir ? main.calculateNext() : main.calculatePrev();
				main.Go2Page();
				main.Timer();
			});
		};
		
		main.calculateNext = function() {
			main.act++;
			if(main.act == main.images.length) {
				main.act = 0;
			}
		}
		main.calculatePrev = function() {
			main.act--;
			if(main.act < 0) {
				main.act = main.images.length - 1;
			}
		}
		
		main.images = $(main.el).find(".Images img");
		$( main.images[main.act] ).addClass("actual").css({"display":"block"});
		
		main.bar = $("<div/>").addClass("Bar");
		$(main.el).find(".Images").after( $("<div/>").addClass("TimeLine").append( main.bar ) );
		
		main.desc = $("<p/>").addClass("Desc").text( $(main.images[main.act]).attr("alt") );
		$(main.el).find(".Images").append( main.desc )
		
		//main.bg = $("<div/>").addClass("Bg");
		//$(main.el).append( main.bg )
		
		//main.w = main.bg.width();
		main.w = 173;
		
		if(main.options.navi) {
			
			$(main.el).append( main.prevLink = $("<a />").addClass("prevLink").append("<span />") );
			$(main.el).append( main.nextLink = $("<a />").addClass("nextLink").append("<span />") );
			
			main.prevLink.click(function() {
				main.dir = false;
				main.bar.stop(false,true);
				return false;
			});
			
			main.nextLink.click(function() {
				main.dir = true;
				main.bar.stop(false,true);
				return false;
			});
			
		}
		
		main.Timer();
		
	};
	
	$.timeSlide.defaults = {
		easing: "easeInOutExpo",
		navi: true,
		animationTime: 1000,
		delay: 8000
	};
	
	$.fn.timeSlide = function(options){
		return this.each(function(i){( new $.timeSlide(this, options) ); });
	};
	
})(jQuery);

