
jQuery.fn.slideshow = function(options) {
	var defaults = {
		pos:0,
		url:'',
		data: {},
		imgfolder: "img/ref/",
		ajax:1,
		width:110,
		height:96
	};

	var debug = true;

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

	var pos = opts.pos;
	var imgFolder = opts.imgfolder;
	var ajax = opts.ajax;

	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.png" 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;" class="slideshowPrev"/>'+
			'<div class="masque"><div style="height:'+opts.height+'px;float:left;" class="slideShowContent"></div></div>'+
			'<img src="/img/fleched.png" alt="suivant" title="suivant" style="cursor:pointer;-cursor:hand;margin-top:'+parseInt((opts.height-38)/2)+'px;float:right" class="slideshowNext"/>'+'<div style="clear:both"></div>');
			//console.log( $("#" + this.id+" .slideShowContent"));
			$("#" + this.id+" .slideShowContent").css({
					overflow:'hidden'
					//,width:opts.width+'px'
			});

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


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

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

			currentImg.onload=function(){
				var el,ot,s;
				el = $("#"+ thisid+" .slideshowImgPlaceHolder:eq(1)");
				ot = getOffsetTop(currentImg.height);
				s=el[0].style;
				s.width=0;
				s.marginTop=ot+'px';
				if (ajax) {
					addajax = 'onclick="return ajaxLoad(this.href)"';
				} else {
					addajax = '';
				}

				el.html('<a href="'+opts.url+opts.data[pos]['id']+'" '+addajax+'>'+
						'<img src="'+currentImg.src+'" alt="" title="'+opts.data[pos]['nom']+'"/></a>');
				//$('#entreprise').animate({width:"auto"});
			}

			prevImg.onload=function(){

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

			nextImg.onload=function(){
				//console.log(ajax);
				var s,ot,el = $("#" + thisid+" .slideshowImgPlaceHolder:eq(2)");

				ot=getOffsetTop(nextImg.height);
				s=el[0].style;
				s.width=0;
				s.marginTop=ot+'px';
				if (ajax) {
					addajax = 'onclick="return ajaxLoad(this.href)"';
				} else {
					addajax = '';
				}
				el.html('<a href="'+opts.url+opts.data[getNext()]['id']+'" '+addajax+'>'+
						'<img src="'+nextImg.src+'" alt="" title="'+opts.data[getNext()]['nom']+'"/></a>');
			}


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

			$("#" + this.id+" .slideshowPrev").click(function(){
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(1)').animate({width:0},{ queue:false, duration:500 });
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(0)').animate({width:opts.width},{ queue:false, duration:500 });
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(2)').remove();
				$("#" + thisid+" .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 + imgFolder + opts.data[getPrev()]['file'];
				setCookie('slideshowPos',pos);
			});

			$("#" + this.id+" .slideshowNext").click(function(){
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(1)').animate({width:0});
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(2)').animate({width:opts.width});
				$("#" + thisid+' .slideshowImgPlaceHolder:eq(0)').remove();
				$("#" + thisid+" .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 + imgFolder + opts.data[getNext()]['file'];
				setCookie('slideshowPos',pos);
			});
		}
	);
	return $(this);
};
