/**
 * @author VIRTUOUSQUARE
 * http://web.virtuousquare.fr
 */
jQuery.fn.scrollide = function(options) {
	var defaults = {
		cible: "h2"
	};
	
	var opts = jQuery.extend(defaults, options);
	
	$(this).children("div").wrap("<div style='float:left'></div>");
	
	var diapos = $(this).children("div").children("div").length;
	var largeur = $(this).children("div").children("div").width();
	
	var decalage = ($(window).width() - largeur)/2;
	var wrap = largeur + decalage + 10;

	$(this).children("div").css({width : wrap});
	
	var H = document.body.clientHeight-140;
	$(this).children("div").css({height : H});
	
	
	
	var largeurTot = diapos*wrap;
	$(this).css({width : largeurTot});
	var current = 0;
	var element = $(this);
	var elementParent = $(this).parent().parent();
	
	$("<ul class='lister'></ul>").prependTo(elementParent);
	for (i = 0; i < diapos; i++) {
		var textes = $(".diapo2:eq("+ i +") "+ opts.cible +"").text();
		$("ul.lister").append("<li class='"+ i +"'><span>"+ textes +"</span></li>");
	}

	var ulLargeur = $("ul.lister").width();
	var posList = (($(elementParent).width())/2) - (ulLargeur/2);	
	$("ul.lister").css({left : posList});
	
	var toolLargeur = $("li span").width();
	$("ul.lister li span").hide().css({left : -(toolLargeur/2)});
	$("ul.lister li").hover(function(){
		$(this).find("span").fadeIn();
	},function(){
		$(this).find("span").stop(true,true).fadeOut();
	});
	
	$("ul.lister li:eq("+ current +")").addClass("current");
	var prevBtn = $(this).prev("a");
	var nextBtn = $(this).next("a");
	$(prevBtn).hide();
	$(prevBtn).click(function(){
		if (current > 0) {
			current--;
			if (current == 0) {
				$(this).fadeOut();
			}
			if (current < diapos - 1) {
				$(nextBtn).fadeIn();
			}
			$(element).animate({left : '+=' + wrap},500);
			$("ul.lister li").removeClass("current");
			$("ul.lister li:eq("+ current +")").addClass("current");
		}
	});
	$(nextBtn).click(function(){
		if (current < diapos - 1) {
			current++;
			if (current == diapos - 1) {
				$(this).fadeOut();
			}
			if (current > 0) {
				$(prevBtn).fadeIn();
			}
			$(element).animate({left : '-=' + wrap},500);
			$("ul.lister li").removeClass("current");
			$("ul.lister li:eq("+ current +")").addClass("current");
			
		}
	});
	
	$("ul.lister li").click(function(){
		var attr = $(this).attr("class");
		current = attr;
		if (current == 0) {
			$(prevBtn).fadeOut();
		}
		if (current < diapos - 1) {
			$(nextBtn).fadeIn();
		}
		if (current == diapos - 1) {
			$(nextBtn).fadeOut();
		}
		if (current > 0) {
			$(prevBtn).fadeIn();
		}
		$(element).animate({left : attr*-wrap},500);
		$("ul.lister li").removeClass("current");
		$(this).addClass("current");
	});
};
