﻿$(document).ready(function() {
	$(function() {
			
		//remove js-disabled class
		$("#viewer").removeClass("js-disabled");
			
		//create new container for images
		$("<div>").attr("id", "container").css({ position:"absolute"}).width($(".wrapper").length * 400).height(300).appendTo("div#viewer");
			  	
		//add images to container
		$(".wrapper").each(function() {
			$(this).appendTo("div#container");
		});
				
		//work out duration of anim based on number of images (1 second for each image)
		var duration = $(".wrapper").length * 7000;
				
		//store speed for later (distance / time)
		var speed = (parseInt($("div#container").width()) + parseInt($("div#viewer").width())) / duration;
				
		//set initial position and class based on direction
		$("div#container").css("left", $("div#viewer").width()).addClass("rtl")
				
		//animator function
		var animator = function(el, time) {
					 		
			//animate the el
			el.animate({ left:"-" + el.width() + "px" }, time, "linear", function() {
												
				//reset container position
				$(this).css({ left:$("div#imageScroller").width(), right:"" });
							
				//restart animation
				animator($(this), duration);
							
				//hide controls if visible
				($("div#controls").length > 0) ? $("div#controls").slideUp("slow").remove() : null ;			
											
			});
		}
				
		//start anim
		animator($("div#container"), duration);
				
		//pause on mouseover
		$("a.wrapper").mouseover(function() {
				  
			//stop anim
			$("div#container").stop(true);
					
			//variable to hold trigger element
			var title = $(this).attr("title");
		});
				
		//restart on mouseout
		$("a.wrapper").mouseout(function(e) {
				  
			//hide controls if not hovering on them
			(e.relatedTarget == null) ? null : (e.relatedTarget.id != "controls") ? $("div#controls").slideUp("slow").remove() : null ;
					
			//work out total travel distance
			var totalDistance = parseInt($("div#container").width()) + parseInt($("div#viewer").width());
														
			//work out distance left to travel
			var distanceLeft = ($("div#container").hasClass("ltr")) ? totalDistance - (parseInt($("div#container").css("left")) + parseInt($("div#container").width())) : totalDistance - (parseInt($("div#viewer").width()) - (parseInt($("div#container").css("left")))) ;
					
			//new duration is distance left / speed)
			var newDuration = distanceLeft / speed;
				
			//restart anim
			animator($("div#container"), newDuration, $("div#container").attr("class"));
		});
	});
});
