jQuery.fn.artslider = function (options){

  var settings = jQuery.extend({
     delayLength: 5000,
	 imgSpeed: 500,
	 animSpeed: 500,
	 returnSpeed: 1000,
	 width: 700,
	 slide: "div.slide",
	 titre: "h1",
	 paragraph: "p",
	 image: "img"
  }, options);
    
  var currentPanel=0;
  var img =[];

  var numPanels = $(settings.slide).length;  
  var slideWidth;
  var moverWidth;
  
  var imgStartPos ;
  
  setSlideWidth = function (){	
	slideWidth  = settings.width;
	moverWidth  = settings.width * numPanels;

  };
  
  imgMove = function(){
		if(img[currentPanel]){
			img[currentPanel].show().animate( { top: "0px" }, settings.imgSpeed  );
		}
  };
  
  findImg = function(){
	 jQuery(settings.slide).each(function(i){
		//if( this.id=="" ) 
		jQuery(this).attr("id", 'slide'+i );
		if(jQuery('img', this)) {
				jQuery('img', this).attr("id", 'slide_img'+i );
			img[i] = jQuery('img', this);
		}
	 });  
  };
  

  return this.each(function(){
	 
	 setSlideWidth();
	 
	 //alert(jQuery(settings.paragraph).css("height"));
	 var container = this;
	 var html = jQuery(container).html();
	 jQuery(container).html("<div id='artslider-mover'>"+html+'</div>');
	 jQuery(container).css("width",slideWidth);
	 jQuery(container).css("position", "relative");
	 jQuery(container).css("overflow", "hidden");

	 findImg();
	 
	 var imgStartPos = jQuery(settings.image).css("height");
	 jQuery(settings.slide).css("float", "left");
	 jQuery(settings.slide).css("width", settings.width+"px");
	 jQuery(settings.slide).css("overflow", "hidden");
	 	 
	 jQuery(settings.slide+' '+settings.image).css("position", "relative");
	 jQuery(settings.slide+' '+settings.image).css("top", "-600px");
	 jQuery('#artslider-mover').css("position", "relative");
	 jQuery('#artslider-mover').css("width", moverWidth);

	 imgMove();
	 action = setInterval(function(){
		if(currentPanel<numPanels-1){
			currentPanel++;
			var moverRight = parseFloat(  jQuery('#artslider-mover').css("right"), 10);
			var right = moverRight + slideWidth;
			jQuery('#artslider-mover').animate( { right : '+='+slideWidth+'px' }, settings.animSpeed , imgMove );
		}else{
			currentPanel=0;
			jQuery(settings.slide+' '+settings.image, '#artslider-mover').css("top", "-600px" );
		 	var retour = moverWidth - slideWidth;
			jQuery('#artslider-mover').animate( { right : '-='+retour+'px' }, settings.returnSpeed , imgMove );
		}
	}, settings.delayLength);

  });
};
