$(function() {
	
	$.fn.contentSlider = function(){
		return this.each(function(){
			var SCROLL_SPEED = 500;
			var container = $(this);
			var slides = $('>div', container);
			var ul = $('>ul',slides);
			if(container.attr('id') == 'gallery') {
				var scrollAmount = 739;
			} else {
				var scrollAmount = 739;
			}

			var items = $('>li',ul);
			var itemsWidth = items.outerWidth(true) * items.length;
			items.clone().appendTo(ul);
			

			var slide = function(e){
				if(!slides.is(':animated')) {
					var currentScroll = slides.scrollLeft();

					if (e.data.direction == 'next') {
						slides.animate({scrollLeft: currentScroll+scrollAmount},{duration: SCROLL_SPEED, complete:function(){
							if (slides.scrollLeft()>=itemsWidth) slides.scrollLeft(slides.scrollLeft()-itemsWidth);
						}});
					} else {
						slides.animate({scrollLeft: currentScroll-scrollAmount},{duration: SCROLL_SPEED, complete:function(){
							if (slides.scrollLeft()<=0) slides.scrollLeft(itemsWidth);
						}});
					}
				}
			}

			// initialise slideshow
			slides.css({
				height: items.outerHeight()
			});
			ul.css({width: itemsWidth * 2 +'px'});

			$('<button class="slider_prev"><img src="/images/control_prev.png" alt="Previous" /></button>').bind('click',{direction:'prev'},slide).appendTo(container);
			$('<button class="slider_next"><img src="/images/control_next.png" alt="Next" /></button>').bind('click',{direction:'next'},slide).appendTo(container);

			if(container.attr('id') == 'gallery') {
				function slideContent(e) {
				  var currentScroll = slides.scrollLeft();
					slides.animate({scrollLeft: currentScroll+scrollAmount},{duration: SCROLL_SPEED, complete:function(){
						if (slides.scrollLeft()>=itemsWidth) slides.scrollLeft(slides.scrollLeft()-itemsWidth);
					}});

				}
				var slideInterval = setInterval(slideContent, 6000);
				function clearSlide() {
					clearInterval(slideInterval);
				}
				$('.slider_next, .slider_prev').click(function(){
					clearSlide();
					return false;
				});
			}

		});
	}
	
	$('#gallery').contentSlider();
});

