
jQuery.fn.slideshow = function(options) {
	var defaults = {
		pos:0,
		url:'',
		data: {},
		width:110,
		height:96
	};

	var debug = true;

	var opts= $.extend(defaults, options);
	var l	= opts.data.length;

	var pos = opts.pos;

	function getNext(){
		var p;
		if(pos==l-1){
			p=0;
		}
		else p=pos+1;
		return p;
	}
	function getPrev(){
		var p;
		if(pos==0){
			p=l-1;
		}
		else p=pos-1;
		return p;
	}
	function getOffsetTop(h){
		if(h==undefined)
			h=0;
		return parseInt((opts.height-h)/2);
	}
	function getOffsetLeft(l){
		if(l==undefined)
			l=0;
		return parseInt((opts.width-l)/2);
	}
	var prevImg 	= new Image();
	var currentImg 	= new Image();
	var nextImg 	= new Image();

	var lbut;
	var rbut;
	$('#nsRef').remove();
	$(this).each(
		function(){
			$(this).html(
			'<img src="/img/flecheg.jpg" alt="précédent" title="précédent" style="cursor:pointer;-cursor:hand;margin-top:'+parseInt((opts.height-38)/2)+'px;float:left;margin-right:15px;" id="slideshowPrev"/>'+
			'<div style="height:'+opts.height+'px;float:left" id="slideShowContent"></div>'+
			'<img src="/img/fleched.jpg" alt="suivant" title="suivant" style="cursor:pointer;-cursor:hand;margin-top:'+parseInt((opts.height-38)/2)+'px;float:right" id="slideshowNext"/>'+'<div style="clear:both"></div>');

			$("#slideShowContent").css({
					overflow:'hidden'
					//,width:opts.width+'px'
			});

			$("#slideShowContent").append('<div class="slideshowImgPlaceHolder"></div><div class="slideshowImgPlaceHolder"></div><div class="slideshowImgPlaceHolder"></div>');
			$('.slideshowImgPlaceHolder').css({
					height:opts.height+'px',
					'float':'left'
					//,border:"1px solid #f00"
					,overflow:'hidden'
				 // ,paddingLeft:(getOffsetLeft(currentImg.width)+10)+'px'
			});


     // $('#entrepriseN').html(opts.data[pos]['nom']);

			//log($('.slideshowImgPlaceHolder'));

			currentImg.onload=function(){
				var el,ot,s;
				el = $('.slideshowImgPlaceHolder:eq(1)');
				ot = getOffsetTop(currentImg.height);
				s=el[0].style;
				s.width=0;
				s.marginTop=ot+'px';
				el.html('<a href="'+opts.url+opts.data[pos]['id']+'" onclick="return ajaxLoad(this.href)">'+
						'<img src="'+currentImg.src+'" alt="" title="'+opts.data[pos]['nom']+'"/></a>');
				//$('#entreprise').animate({width:"auto"});
			}

			prevImg.onload=function(){
				var el,ot,s;
				el = $('.slideshowImgPlaceHolder:eq(0)');
				ot=getOffsetTop(nextImg.height);
				log(el,ot+'px');
				s=el[0].style;
				s.width=0;
				s.marginTop=ot+'px';
				el.html('<a href="'+opts.url+opts.data[getPrev()]['id']+'" onclick="return ajaxLoad(this.href)">'+
					'<img src="'+prevImg.src+'" alt="" title="'+opts.data[getPrev()]['nom']+'"/></a>');
			}

			nextImg.onload=function(){
				var s,ot,el = $(".slideshowImgPlaceHolder:eq(2)");
				ot=getOffsetTop(nextImg.height);
				s=el[0].style;
				s.width=0;
				s.marginTop=ot+'px';
				el.html('<a href="'+opts.url+opts.data[getNext()]['id']+'" onclick="return ajaxLoad(this.href)">'+
						'<img src="'+nextImg.src+'" alt="" title="'+opts.data[getNext()]['nom']+'"/></a>');
			}


			prevImg.src		  =ROOT_URL + "img/ref/" + opts.data[getPrev()]['file'];
			currentImg.src	=ROOT_URL + "img/ref/" + opts.data[pos]['file'];
			nextImg.src		  =ROOT_URL + "img/ref/" + opts.data[getNext()]['file'];

			$('#slideshowPrev').click(function(){
				$('.slideshowImgPlaceHolder:eq(1)').animate({width:0},{ queue:false, duration:500 });
				$('.slideshowImgPlaceHolder:eq(0)').animate({width:opts.width},{ queue:false, duration:500 });
				$('.slideshowImgPlaceHolder:eq(2)').remove();
				$("#slideShowContent").prepend('<div class="slideshowImgPlaceHolder" style="height:'+opts.height+'px;float:left;overflow:hidden"></div>');
				//$('#entrepriseN').html(opts.data[getPrev()]['nom']);
        pos = getPrev();
        prevImg.src		=ROOT_URL + "img/ref/" + opts.data[getPrev()]['file'];
				setCookie('slideshowPos',pos);
			});

			$('#slideshowNext').click(function(){
				$('.slideshowImgPlaceHolder:eq(1)').animate({width:0});
				$('.slideshowImgPlaceHolder:eq(2)').animate({width:opts.width});
				$('.slideshowImgPlaceHolder:eq(0)').remove();
				$("#slideShowContent").append('<div class="slideshowImgPlaceHolder" style="height:'+opts.height+'px;float:left;overflow:hidden"></div>');
				//$('#entrepriseN').html(opts.data[getNext()]['nom']);
        pos = getNext();
				nextImg.src		=ROOT_URL + "img/ref/" + opts.data[getNext()]['file'];
				setCookie('slideshowPos',pos);
			});
		}
	);
	return $(this);
};
