$(document).ready(function() {                  
        //INIT
        if($.browser.opera) {
          var myLength = 20000;
          } else {
              var myLength = 1000000;
              }
        
        $("<div>").attr("id", "storage").css({ visibility:"hidden"}).appendTo("#outerContainer");
        
        $("#viewer .wrapper").each(function() {
          $(this).clone().appendTo("div#storage");
				  });
          			
				$("<div>").attr("id", "container").css({ position:"absolute"}).width(myLength).height(37).appendTo("div#viewer");

				$("#viewer .wrapper").each(function() {
          $(this).appendTo("div#container");
				  });  
				
				$("img").mouseover(function() {
          $(this).attr("src",$(this).attr("src").replace("static", "hover")); 
          });
        $("img").mouseout(function() {
          $(this).attr("src",$(this).attr("src").replace("hover", "static")); 
          });

				var duration = $("#viewer .wrapper").length * myLength;
				var speed = (parseInt($("div#container").width()) + parseInt($("div#viewer").width())) / duration;		
				$("div#container").css("left", "0");
				
				//ANIMATOR
				var animator = function(el, time) {					 		
					  el.animate({ left:"-" + el.width() + "px" }, time, "linear", function() {
              $(this).css({ left:$("div#imageScroller").width(), right:"" });
              animator($(this), duration);				
    					});
				  }
				animator($("div#container"), duration*2);
          
        setInterval(function() {
          $("#storage .wrapper").clone().css("visibility","visible").appendTo("div#container");
          $("img").mouseover(function() {
            $(this).attr("src",$(this).attr("src").replace("static", "hover")); 
            });
          $("img").mouseout(function() {
            $(this).attr("src",$(this).attr("src").replace("hover", "static")); 
            });
          }, 30000);

				//PAUSE
				$("a.wrapper").live("mouseover", function() {
					$("div#container").stop(true);
				  });
				
				//RESTART
				$("a.wrapper").live("mouseout", function(e) {
					var totalDistance = parseInt($("div#container").width()) + parseInt($("div#viewer").width());
					var distanceLeft = totalDistance - (parseInt($("div#viewer").width()) - (parseInt($("div#container").css("left")))) ;
					animator($("div#container"), distanceLeft / speed);
				  });
		    });
		    
		    
