(function($) 
{
	$.fn.slideEca = function(params) 
	{
		params = $.extend({nbr : 4, widthImage : 250, heightImage : 150, margin : 10, zdefault:0, interval : 2000, zoom : 1.5,pageCpt : "modules/X-tra_partner/cpt.php", horizontal:true}, params);
		var i=0, pause = 0, oldpause=0, elem = $(this), oldLeft=0,oldTop=0;
		function addEvent()
		{
			elem.mouseover(function()
			{
				pause = 1;
			});
			elem.mouseout(function()
			{
				pause = 0;
			});
			
			elem.find("img").mouseover(function()
			{
				$(this).css({zIndex:"999"});
				oldTop = parseInt($(this).css("margin-top").replace("px",""));;
				oldLeft = parseInt($(this).css("margin-left").replace("px",""));
				newWidth = params.widthImage*params.zoom; 
				newHeight = params.heightImage*params.zoom; 
				newLeft = oldLeft - (params.widthImage*(params.zoom - 1)/2);
				newTop = oldTop - (params.heightImage*(params.zoom - 1)/2);
				$(this).animate({width:newWidth,height:newHeight,marginTop:newTop+"px",marginLeft:newLeft+"px"});
				
			});
			elem.find("img").mouseout(function()
			{
				elem.find("img").stop();
				$(this).css({width:params.widthImage+"px", height:params.heightImage + "px", marginTop:oldTop+"px", marginLeft:oldLeft+"px", zIndex:params.zdefault}); 
			});
		}
		function delEvent()
		{
			elem.unbind("mouseover");
			elem.unbind("mouseout");
			elem.find("img").unbind("mouseover");
			elem.find("img").unbind("mouseout");
		}

		if(params.horizontal)
		{
		function SlideListin() {
				setTimeout(function() 
				{
					if(pause<oldpause)
					{
						i--;
						if (i < 0) { i = elem.find("li").length -1;} 
					}
					if (!pause) {
						delEvent();
						elem.find("img").eq(i-1).fadeOut('fast',function(){
							elem.find("img").eq(i-1).css({width:params.widthImage, 
														marginLeft:(params.widthImage +params.margin)*params.nbr-1  +"px",
														marginTop:0,
														opacity :"1",
														"-moz-opacity" : "1",
														"-ms-filter": "alpha(opacity=100)",
														"filter" : "alpha(opacity=100)"});
							SlideListin();
						});
					}
					else SlideListin();
					oldpause = pause;
				}, params.interval);
				for(k=0;k<params.nbr;k++)
				{
					index = i+k;
					valleft = (params.widthImage + params.margin)*k  +"px";
					if(k==0) valleft = "0px";
					if (index >= elem.find("li").length) { index = Math.abs(elem.find("li").length -i -k);}
					 
					if (!pause) {
						elem.find("img").eq(index).animate({ marginLeft: valleft},300,function(){
							elem.find("img").eq(index).fadeIn('fast',function(){
								addEvent();
							});
						});
					}
				}
				if (!pause) {
					i++;
					if (i >= elem.find("li").length) { i = 0;} 
				}
			}
			var widthDiv = params.widthImage*params.nbr + params.margin*(params.nbr-1);
			elem.css({width:widthDiv+"px",margin:"0 auto",zIndex:params.zdefault});
			elem.css({height:elem.find("img").eq(0).css("height")});
			elem.find("ul").css({margin:'0', padding:'0'});
			elem.find("li").css({listStyleType:"none", float:"left"});
			elem.find("img").css({display:"none",position:"absolute", marginLeft:(params.widthImage + params.margin)*params.nbr-1  +"px",zIndex:params.zdefault, width:params.widthImage + "px", height:params.heightImage + "px"});
			for(init=0;init<params.nbr;init++)
			{
				valleft = (params.widthImage + params.margin)*init+"px";
				if(init==0) valleft = "0px";
				elem.find("img").eq(init).css({ marginLeft: valleft,display:'inline'});
			}
			
		}
		
		elem.find("img").bind("click",function(){ 
			$.post(params.pageCpt,{idpart:$(this).attr("rel")},
				function(data){},"html");
				
		});
		addEvent();
		SlideListin();
		return this;
	};
})(jQuery);


