var slideShow = {
    timer : 4000,
    init : function() {
		  //Change a#slideshowCntrl text to 'Stop Slideshow'
			$("#slideshowCntrl").text("Stop Slideshow");
			$("#slideshowCntrl").attr("title", "Stop Slideshow");

			//change image sizes to thumb sizes
			var max_width = 120;
      var selector = 'li.slide img';
			$(selector).each(function(){
					//Set variables	for manipulation
					var ratio = (375 / 500 );
					var new_width = 120;
					var new_height = (120 * ratio);
					//Shrink the image and add link to full-sized image
					$(this).height(new_height).width(new_width);
			} //ends each function
			);

      // reveal the slideshow controller
      $("div#ssThumbCntrl").show();

      // put the thumbs inside the controller div
      $("div#slideshow").find("ul").each(function(){
        $("#thumbContainer").append(this);
      });

      // add a visual overlay to the thumb
      // this makes it appear darker than the selected thumb
      $("#thumbContainer").find("ul").each(
              function() {
                $(this).find("li a").prepend("<div class='overlay'></div>");
                $(this).find("li:last").addClass("lastSlide");
              }
              );

      // add id to the last ul set of slides
      $("div#thumbContainer ul:last").addClass("lastUl");

      // make the first slide selected
      $("ul#set1 li:first").attr("id","selectedSlide").find(".overlay").remove();

      // hide all but the first ul or slide set
      $("ul#set1").nextAll().addClass("slidesHidden");

      // add slides class to the first ul
      $("ul#set1").addClass('slides');
      
    },
		slideshowControls : {
			play : function() {
				var nextSlide = $("#selectedSlide");
				slideShow.slideshowControls.nextSlide();
				t=setTimeout("slideShow.slideshowControls.play()", slideShow.timer);
			},
			stop : function() {
				clearTimeout(t);
        //Change a#slideshowCntrl text to 'Stop Slideshow'
			  $("#slideshowCntrl").text("Start Slideshow");
			  $("#slideshowCntrl").attr("title", "Start Slideshow");
      },
			nextSlide : function() {
        // if last li of ul then change ul shown
        if($("#selectedSlide").hasClass('lastSlide')) {
          var currentUl = $("#selectedSlide").parent();
          $("#selectedSlide a").prepend("<div class='overlay'></div>");
          $("#selectedSlide").removeAttr("id");
          slideShow.slideshowControls.nextSlideSet(currentUl);
        } else {
          var oldElm = $("#selectedSlide");
          //updated selected thumbnail
					$("#selectedSlide a").prepend("<div class='overlay'></div>");
          $("#selectedSlide").removeAttr("id");
					$(oldElm).next().attr("id", "selectedSlide");
					//remove the visual darkening around the img
					$(oldElm).next().find("div.overlay").remove();
					var selectedId = $(oldElm).find("a").attr("id");
				  //updated the title
					var slideTitle = $(oldElm).next().find("a").attr("title");
          $("#slideshowTitle").text(slideTitle);
					$("#viewer").attr("src", $(oldElm).next().find("a img").attr("src"));
				}
			},
			nextSlideSet : function(slideSet) {
        // if this is the last set of slides start over
        if($(slideSet).hasClass('lastUl')) {
          $(slideSet).addClass("slidesHidden").removeClass("slides");
          $("#set1").addClass("slides").removeClass("slidesHidden");
          $("#set1 li:first").attr("id", "selectedSlide").find("div.overlay").remove();
          var selectedId = $("#set1 li:first").find("a").attr("id");
				  //updated the title
					var slideTitle = $("#set1 li:first").find("a").attr("title");
          $("#slideshowTitle").text(slideTitle);
					$("#viewer").attr("src", $("#set1 li:first").find("a img").attr("src"));

        } else {
          $(slideSet).next().addClass("slides").removeClass("slidesHidden").end().addClass("slidesHidden").removeClass("slides");
          $(slideSet).next().find('li:first').attr("id", "selectedSlide").find("div.overlay").remove();
          var selectedId = $(slideSet).next().find("a").attr("id");
				  //updated the title
			    var slideTitle = $(slideSet).next().find('li:first').find("a").attr("title");
          $("#slideshowTitle").text(slideTitle);
			    $("#viewer").attr("src", $(slideSet).next().find('li:first').find("a img").attr("src"));
        }
      },
			prevSlideSet : function() {
        //if it's on the first set of thumbs then just select the top image
        if($("#set1").hasClass("slides")) {
          //select the top thumbnail
					$("#selectedSlide a").prepend("<div class='overlay'></div>");
          $("#selectedSlide").removeAttr("id");
					$("ul.slides li:first").attr("id", "selectedSlide");
					//remove the visual darkening around the img
					$("ul.slides li:first").find("div.overlay").remove();
					var selectedId = $("ul.slides li:first").find("a").attr("id");
				  //updated the title
					var slideTitle = $("ul.slides li:first").find("a").attr("title");
          $("#slideshowTitle").text(slideTitle);
					$("#viewer").attr("src", $("ul.slides li:first").find("a img").attr("src"));
        } else {
          $("#selectedSlide a").prepend("<div class='overlay'></div>");
          $("#selectedSlide").removeAttr("id");
          $("ul.slides").prev().addClass("slides").removeClass("slidesHidden").end().addClass("slidesHidden").removeClass("slides");
          $("ul.slides").find('li:first').attr("id", "selectedSlide").find("div.overlay").remove();
          var selectedId = $("ul.slides li:first").find("a").attr("id");
          //updated the title
          var slideTitle = $("ul.slides li:first").find("a").attr("title");
          $("#slideshowTitle").text(slideTitle);
          $("#viewer").attr("src", $("ul.slides li:first").find("a img").attr("src"));
        }
      },
      userSelected : function(event, elem) {
        //updated selected thumbnail
			  $("#selectedSlide a").prepend("<div class='overlay'></div>");
        $("#selectedSlide").removeAttr("id");
	  		$(elem).attr("id", "selectedSlide");
				//remove the visual darkening around the img
				$(elem).find("div.overlay").remove();
				var selectedId = $(elem).find("a").attr("id");
			  //updated the title
				var slideTitle = $(elem).find("a").attr("title");
        $("#slideshowTitle").text(slideTitle);
		  	$("#viewer").attr("src", $(elem).find("a img").attr("src"));
      },
      toggleLink : function() {
        var title = $("#slideshowCntrl").attr('title');
        if(title == "Start Slideshow") {
          slideShow.slideshowControls.play();
          //Change a#slideshowCntrl text to 'Stop Slideshow'
          $("#slideshowCntrl").text("Stop Slideshow");
          $("#slideshowCntrl").attr("title", "Stop Slideshow");
        } else {
          slideShow.slideshowControls.stop();
          //Change a#slideshowCntrl text to 'Stop Slideshow'
          $("#slideshowCntrl").text("Start Slideshow");
          $("#slideshowCntrl").attr("title", "Start Slideshow");
        }
      }
    }
};

// DOCUMENT READY
$(document).ready( function() {
  // creates buttons, scales images, etc.
  slideShow.init();

	$(".slide").click(function(event){
    slideShow.slideshowControls.userSelected(event, this);
    slideShow.slideshowControls.stop();
  });

	$("a.ssDwn").click(function(){
    slideShow.slideshowControls.nextSlideSet($("ul.slides"));
    //slideShow.slideshowControls.stop();
  });

	$("a.ssUp").click(function(){
    slideShow.slideshowControls.prevSlideSet();
    //slideShow.slideshowControls.stop();
  });

  $("#slideshowCntrl").click(function(){
    slideShow.slideshowControls.toggleLink();
  });

  var launchSlideshow = setTimeout("slideShow.slideshowControls.play()", slideShow.timer);
});
