var j = 0;
jQuery.fn.slideView = function(settings) {
	  settings = jQuery.extend({
     easeFunc: "easeInOutExpo", /* <-- easing function names changed in jquery.easing.1.2.js */
     easeTime: 950,
	  diaporama: false,
	  tpsDiapo: 4500,
     cadreTransparent: false
  }, settings);
	return this.each(function() {
		var curImg = 1; /* sur quelle image est-on ? */
		var nbImg = 0;

		var container = jQuery(this);
		container.find(".ldrgif, .ldrdiv").remove(); // removes the preloader
		container.removeClass("svw").addClass("stripViewer");		
		var pictWidth = container.find("li").find("img").width();
		var pictHeight = container.find("li").find("img").height();
		var pictEls = container.find("li").size();
		var stripViewerWidth = pictWidth*pictEls;
		container.find("ul").css("width" , stripViewerWidth); //assegnamo la larghezza alla lista UL	
		container.css("width" , pictWidth);
		container.css("height" , pictHeight);
		container.append("<a id='prev'>&nbsp;<span>&laquo;</span></a><a id='next'>&nbsp;<span>&raquo;</span></a>");
		
		container.each(function(i) {
			
			var idContainer=j;
			
			/* ajout du selecteur d'images */
			jQuery(this).after("<div class='stripTransmitter' id='stripTransmitter" + j + "'><ul><\/ul><\/div>");
			jQuery(this).find("li").each(function(n) {
				nbImg++;
				jQuery("div#stripTransmitter" + j + " ul").append("<li><a id="+j+"-"+(n+1)+" title='" + jQuery(this).find("img").attr("alt") + "' href='#'>"+(n+1)+"<\/a><\/li>");												
			});
			/* gestion des styles */
			jQuery("div#stripTransmitter" + j).css("width" , pictWidth);
			jQuery("div#stripTransmitter" + j + " a:eq(0)").addClass("current");
			
			/* ajout des observateurs sur les sélecteurs d'images */
			jQuery("div#stripTransmitter" + j + " a").each(function(z) {
				jQuery(this).bind("click", function() {
					jQuery(this).addClass("current").parent().parent().find("a").not(jQuery(this)).removeClass("current"); // wow!
					curImg = z+1; /* on met à jour l'image sur laquelle on est */
					var cnt = - (pictWidth*z);
					jQuery(this).parent().parent().parent().prev().find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc);
					return false;
				});
			});
			
			/* passe à l'image suivante comme son nom l'indique ;) */
			function imageSuivante() {
				/* il faut aller à la première image si on est sur la dernière */
				if (curImg == nbImg) 
					idImg = 1;
				else 
					idImg = curImg + 1;
				
				nextImg = jQuery("div#stripTransmitter" + idContainer + " a#" + idContainer + "-" + idImg);
				nextImg.addClass("current").parent().parent().find("a").not(jQuery(nextImg)).removeClass("current");
				var cnt = -(pictWidth * (idImg - 1)); /* déplacement dans la liste en px, en fonction du numéro de l'image */
				nextImg.parent().parent().parent().prev().find("ul").animate({
					left: cnt
				}, settings.easeTime, settings.easeFunc); /* on change l'image */
				curImg = idImg; /* on met à jour l'image en cours */
				return false;
			}
			
			function imagePrecedente() {
				/* il faut aller à la dernière image si on est sur la première */
				var prevImg;
				var idImg;
				if(curImg==1)
					idImg=nbImg;
				else
					idImg=curImg-1;
				prevImg=jQuery("div#stripTransmitter" + idContainer + " a#"+idContainer+"-"+idImg);
				prevImg.addClass("current").parent().parent().find("a").not(jQuery(prevImg)).removeClass("current");
				var cnt = - (pictWidth*(idImg-1)); /* déplacement dans la liste en px, en fonction du numéro de l'image */
				prevImg.parent().parent().parent().prev().find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc); /* on change l'image */
				curImg=idImg; /* on met à jour l'image en cours */
				return false;
			}
						
			/* si on a demandé un diaporama */
			if (settings.diaporama) {
				var timer;			
				
				/* fonction principale */	
				function diaporama(){
					imageSuivante();
					timer = setTimeout(diaporama, settings.tpsDiapo);
				}
				
				/* gestion des entrées et sorties dans le cadre des photos */
				container.bind("mouseenter", function(){
					clearTimeout(timer);
				}).bind("mouseleave", function(){
					timer = setTimeout(diaporama, settings.tpsDiapo);
				});
				
				/* gestion des entrées et sorties dans le selecteur d'images */
				jQuery("div#stripTransmitter" + j).bind("mouseenter", function(){
					clearTimeout(timer);
				}).bind("mouseleave", function(){
					timer = setTimeout(diaporama, settings.tpsDiapo);
				});
				
				/* mr chronomètre */
				timer = setTimeout(diaporama, settings.tpsDiapo);
			}
			
			/* si on a demandé un cadre transparent */
			if(settings.cadreTransparent) {
				/* gestion des entrées et sorties dans le cadre des photos */
				container.bind("mouseenter", function(){
					var myImg=container.find('ul li:eq('+(curImg-1)+') img'); /* mon element image en cours : pour récupérer les attributs de l'image */
					container.append('<a class="cadreTransparent" href="'+myImg.attr('longdesc')+'" title="Cliquez-ici pour voir la page du produit">'+myImg.attr('alt')+'<br/>'+myImg.attr('title')+' €<br/><img src="/themes/mabimbo/img/icon/catalogue_voir.png" alt="voir le produit" /><span>Voir</span></a>');
					container.find('a.cadreTransparent').animate({
						//height: "55px"
					},400);
				}).bind("mouseleave", function(){
					container.find('a.cadreTransparent').stop().fadeOut(250, function() {
						$(this).remove();
					});
				});
				
				/* gestion des boutons précédent / suivant */
				jQuery("#prev").bind("click", function() {
					var myImg=container.find('ul li:eq('+(curImg-1)+') img');
					container.find('a.cadreTransparent').attr('href',myImg.attr('longdesc'));
					container.find('a.cadreTransparent').html(myImg.attr('alt')+'<br/>'+myImg.attr('title')+' €<br/><img src="/themes/mabimbo/img/icon/catalogue_voir.png" alt="voir le produit" /><span>Voir</span>');
				});
				jQuery("#next").bind("click", function() {
					var myImg=container.find('ul li:eq('+(curImg-1)+') img');
					container.find('a.cadreTransparent').attr('href',myImg.attr('longdesc'));
					container.find('a.cadreTransparent').html(myImg.attr('alt')+'<br/>'+myImg.attr('title')+' €<br/><img src="/themes/mabimbo/img/icon/catalogue_voir.png" alt="voir le produit" /><span>Voir</span>');					
				});
				
			}			
		});
		
		j++;
  });
};