/*--------------------------------------------------------------------------
 *  YOJA-WEB.COM : module carousel
 *  Copyright (c) Jamal Chaqouri, Yohann Fontaine, of yoja team (http://www.yoja-web.com)
 *
 *  module carousel is a yoja-web work.
 *  For details, see the yoja web site: http://www.yoja-web.com
 *  For V3.5 Zlioshop
/*--------------------------------------------------------------------------*/

CAROUSEL = "<div></div>";
CAROUSEL_CLASS = ".yojaCarousel";
CAROUSEL_CLASS_DEFAULT = "jMyCarousel";
CAROUSEL_WIDTH_DEFAULT = '780px';
CAROUSEL_DEFAULT_PARAM = "defaultCarousel";


var carouselParameters = new Array();
carouselParameters[CAROUSEL_DEFAULT_PARAM]=true;

function ImagesCarousel (context) {  
    this.vignettes = YOJAUtil.cleanStyle($j("img.product_thumbnail_medium", context)).clone(true);
};


ImagesCarouselFormatter = { 
   formater: function(imgsCarousel) {
      var template = $j(CAROUSEL);     
      var vignettes =  imgsCarousel.vignettes;
      vignettes.appendTo(template); 
      YOJAUtil.wrapUlList(vignettes);    
      return template;
   }
};
 
GestionImagesCarousel =  {
  traiter : function() {    
    var context = $j("div.category_item, div#favoriteHighlight"); 
   	if(context.length<1){
		return null;
	}
    var carousel = new ImagesCarousel(context);
    var result = ImagesCarouselFormatter.formater(carousel); 
    return result;
  }
};

function initCarousel() {

 	if($j("div.user_content")){
		var yojaCarousel = GestionImagesCarousel.traiter();
	
		if(carouselParameters[CAROUSEL_DEFAULT_PARAM]){
			initDefaultCarousel(yojaCarousel);
		}
	}
	$j(CAROUSEL_CLASS).each(function(){
			var currentCarousel = $j(this);
			var params = getCarouselParameters(currentCarousel);					
			if(currentCarousel.hasClass('myImages')){
				currentCarousel.jMyCarousel(params);
			} else {
				var cloneYojaCarousel = GestionImagesCarousel.traiter();
				currentCarousel.append(cloneYojaCarousel);
				cloneYojaCarousel.jMyCarousel(params);
			}
			
			if(currentCarousel.hasClass('reflection')){
				currentCarousel.reflecter(); 
			}
		
		});
		
		
	
}

function initDefaultCarousel(carousel){
	  if(carousel != null){
		  carousel.attr("id","yojaCarousel");
	      carousel.addClass(CAROUSEL_CLASS_DEFAULT);
			var test = $j("body#pageHome");
		 if($j("body#pageHome") && $j("body#pageHome").length!=0){
			  $j("div.user_content").prepend(carousel);
			  carousel.jMyCarousel(getCarouselParameters(carousel));
			  carousel.reflecter();
		  }
	   }
}

function getCarouselParameters(carousel){
   var parameters = carouselParameters[carousel.attr("id")] || [];
   parameters.visible = parameters.visible || getCarouselVisibility(carousel);
   parameters.auto = parameters.auto || false;
   parameters.speed = parameters.speed || 500;
   return parameters;
}

function getCarouselVisibility(carousel){

	  var visibility = CAROUSEL_WIDTH_DEFAULT;
	  var widthCarousel = carousel.css("width");
	  if(widthCarousel && widthCarousel!='auto'){
		  visibility=widthCarousel;
	  }
	  return visibility;
}


DocumentReadyExecuter.addTraitement(initCarousel);