(function($) {
	$.fn.lbislider = function(options){
		
		// default configuration properties
		var defaults = {			
			BlijvenStaan: 	4,
			SnelheidSliden: 3,
			Ballen: true,
			divIDBallen: "slider_balls"
		}; 
		
		var options = $.extend(defaults, options); 
		
		this.each(function() {
			var obj = $(this);
			
			var secBlijvenStaan = options.BlijvenStaan;
			var secSnelheidSliden = options.SnelheidSliden;
			
			/*
			var aantalPanelenVoorBallen = $("li", obj).length;
			if (options.Ballen) {
				// toevoegen van LI's aan div ballen
				var ulBallen = $("div#" + options.divIDBallen).append("<ul></ul>").find("ul");
				for (i=0; i<aantalPanelenVoorBallen; i++)
				{
					ulBallen.append("<li>" + (i+1) + "</li>");
				}
			}*/
			
			if ($("li", obj).length > 1) {
				// Kopieren van de eerste LI naar de laatste
				var liEerste = $("li:first", obj);			
				liEerste.clone().appendTo( $("ul", obj) );
				
				var aantalPanelen = $("li", obj).length;
				var breedtePaneel = $("li", obj).width();			
				var hoogtePaneel = $("li", obj).height();			
				var breedteTotaalPanelen = breedtePaneel * aantalPanelen;
				var newMarginLeft = 0;
				// Instellen van de div om de UL heen
				obj.css("width", breedtePaneel);
				obj.css("overflow", "hidden");
				obj.css("height", hoogtePaneel);
				
				// Instellen van de UL
				$("ul", obj).css("width", breedteTotaalPanelen);
				$("ul", obj).css("height", hoogtePaneel);
				$("ul", obj).css("margin-left", 0);

				// Instellen van LI's
				$("li", obj).css("float", "left");
				
				var huidigPaneel = 0;
				
				function Slide()
				{
					// De nieuwe margin-left				
					newMarginLeft -= breedtePaneel;
					huidigPaneel += 1;
					
					// Als de laatste is geweest, zet snel de margin-left op 0
					if (newMarginLeft <= breedteTotaalPanelen * -1)
					{
						$("ul", obj).css("margin-left", 0);	
						newMarginLeft = 0 - breedtePaneel;
						huidigPaneel = 0;
					}
					
					// Doe de animatie
					$("ul", obj).animate( {marginLeft: newMarginLeft}, secSnelheidSliden * 1000 )
					
					// Zet de timeout zodat hij over x seconden weer opnieuw begint
					timeout = setTimeout(function() {
						Slide();
						}, secBlijvenStaan * 1000 + secSnelheidSliden * 1000 );				
				}
				
				// Zet de timeout zodat hij na x seconden begint
				timeout = setTimeout(function() {
					Slide();
				}, secBlijvenStaan * 1000 + secSnelheidSliden * 1000 );	
			}	
		});
	}
})(jQuery);
