if (typeof(ArthurBrett) == 'undefined') {
	ArthurBrett	= {};
	ArthurBrett.UI	= {};
}

ArthurBrett.UI.Slideshow	= function()
{
	
	var slideshowID = 'slideshow';
	var slideshow;
	var track;
	var stopped = false;
		
	var speed 	= 2; // seconds per 100px
	
	var init	= function() {
		$('body').addClass('js');
		
		initSlideshow();
	};

	var initSlideshow = function() {
		slideshow = $('#'+slideshowID);
		
		if (slideshow.length) {
		
			slideshow.wrapInner('<div id="slideshow-track"></div>');
			track = $('#slideshow-track');
			
			$('#ask').prependTo(slideshow);
		
			initNav();
			var lang = window.location.pathname.replace(/\//g,'');
		
			$.get('/_ajax/slideshow/'+lang, function(data){
				slideshow.find('a.img:first').before(data);
				slideshow.find('a.img:last').remove();
				startSlideshow();
			});
			/*
			track.hover(function(){
				stopSlideshow();
			}, function(){
				startSlideshow();
			});
			*/
		}
	};
	
	var startSlideshow = function()	{
		stopped = false;
		
		showNextImage();

		$('#stop-slideshow span').text('Stop Slideshow');
		$('#stop-slideshow').removeClass('paused').addClass('playing');
	
	};
	
	var stopSlideshow = function() {
		stopped = true;
		track.stop();
		$('#stop-slideshow span').text('Start Slideshow');
		$('#stop-slideshow').removeClass('playing').addClass('paused');
	};
	
	var showNextImage = function() {
		var img = slideshow.find('a.img:first');
		var w = img.width();
		var track_left = 0-parseInt(track.css('left').replace('px', ''), 10);
		var tempo = ((w-track_left)/100)*(speed*1000);
		
		track.animate({
			'left': 0-(w)
		}, tempo, 'linear', function(){
			img.appendTo(track);
			track.css('left', 0);
			if (!stopped) showNextImage();
		});
		
		
		
	};
	
	var initNav = function() {
		var nav_html = '<div id="slideshow-util"><a id="stop-slideshow" class="playing" href="#"><span></span></a></div>';
		slideshow.append(nav_html);
		
		$('#stop-slideshow').click(function(e){
			e.preventDefault();
			track.unbind('mouseover').unbind('mouseout');
			
			if (!stopped) {
				stopSlideshow(true);
			}else{
				startSlideshow(true);
			}
			
		});
	};



	return {
		init: init
	};
	
}();



jQuery(function($) { ArthurBrett.UI.Slideshow.init(); });
