(function($){  
     $.fn.extend({
        bannersCarousel: function(settings) {  
			settings = jQuery.extend({
				delay: 1000
			},settings);
			var el = this;
			var objectId = this.attr("id");
			var current = 0;
			var timeOut = null;
			//var banners = el.children()
			function _initialize(){
				$.getJSON("http://www.sintillate.co.uk/dev5/getbanners.php", function(json){
					settings.banners = json;
					var width = 949*settings.banners.length;
					var images = '<div style="width:'+width+'px"><a href="http://www.sintillate.co.uk/dev5/article/clubsindex">';
					var buttons = '<div id="bannerButtons">';
					$.each(settings.banners, function(i,item){
						_preload(item);
						images += '<img src="/dev5/'+item+'" border="0" />';
						var pos = new Number(i+1);
						buttons += '<a href="#'+i+'" id="banner_'+i+'">'+pos+'</a>';
					});
					images += '</a></div>';
					buttons += '</div>';
					el.append(images);
					el.parent().append(buttons);
					el.animate({scrollLeft: 0 }, 0);
					$('#bannerButtons a:first').addClass('current');
					$('#bannerButtons a').click(function() {
						banner = $(this).attr("hash").replace("#", "")
						__load(banner);
						return false;
					});
					
					timeOut = setTimeout(__auto, settings.delay);
				});
			}
			
			function __auto(){
				current++;
				if(current == settings.banners.length){
					current=0;
				}
				__load(current);
			}
			
			function __load(pos){
				clearTimeout(timeOut);
				current = pos;
				var totalScroll = pos*949;
				el.animate({scrollLeft: totalScroll }, 1000);
				$('#bannerButtons a').removeClass("current");
				$('#bannerButtons a#banner_'+pos).addClass("current");
				timeOut = setTimeout(__auto, settings.delay);
			}
			
			function _preload(image){
				var preload_image_object = new Image();
				preload_image_object.src = image;
				preload_image_object.onload = function() { };
			}
			
			_initialize();
		}
	});
})(jQuery);  
