var Slideshow = {

    init: function() {
        Slideshow.slideshows = [];
        $(".slideshow-container").each(function(i) {
            Slideshow.slideshows.push($(this));
            var slideshow = Slideshow.slideshows[i];
            slideshow.items = slideshow.children(".slideshow-item");
            // Don't bother doing anything unless there is more than one item
            if (slideshow.items.length > 1) {
				slideshow.currentItem	= 0;
                slideshow.itemWidth     = slideshow.items.outerWidth();
				slideshow.subtitles		= $('div.slideshow-item img');
                slideshow.addControls   = function() { Slideshow.addControls(slideshow); }
                slideshow.selectItem    = function(i) { Slideshow.selectItem(slideshow, i); }
                slideshow.selectPrev    = function() { Slideshow.selectPrev(slideshow); }
                slideshow.selectNext    = function() { Slideshow.selectNext(slideshow); }
                slideshow.isAtEdge      = function(side) { return Slideshow.isAtEdge(slideshow, side); }
                slideshow.isAnimated    = function() { return Slideshow.isAnimated(slideshow); }

                $(window).load(function() {
                    //slideshow.timeoutID = 0;
                    //slideshow.intervalID = window.setInterval(function() { slideshow.selectNext(); }, 20000);
                    slideshow.find(".slideshow-controls a").click(function() {
                        //window.clearTimeout(slideshow.timeoutID);
                        //window.clearInterval(slideshow.intervalID);
                        /*slideshow.timeoutID = window.setTimeout(function() {
                            slideshow.intervalID = window.setInterval(function() { slideshow.selectNext(); }, 20000);
                        }, 20000);*/
                    });
                });
                slideshow.addControls();
            }
        });
    },

    addControls: function(slideshow) {
        slideshow.wrapInner('<div class="slideshow-sliding-container"></div>');
        $('div#feature-photo').after('<div class="slideshow-controls"><div id="bg"></div</div>');

        slideshow.slider = slideshow.children(".slideshow-sliding-container");
        slideshow.controls = $(".slideshow-controls");
		slideshowContainer = $('div.slideshow-container:first');
		
        $('<a id="prev" href="./#"></a>').click(function() { slideshow.selectPrev(); return false; }).appendTo(slideshow.controls);
        $('<a id="next" href="./#"></a>').click(function() { slideshow.selectNext(); return false; }).appendTo(slideshow.controls);
		$("a").mouseover(
			function(){
				$(this).addClass("hover");
			}
		);
		$("a").mouseout(
			function(){
				$(this).removeClass("hover");
			}
		);
    },

    selectPrev: function(slideshow) {
        if (!slideshow.isAnimated()) {
            // Allow for "circular" scrolling
            if (slideshow.isAtEdge("left")) {
                slideshow.items.filter(":last-child").insertBefore(slideshow.items.filter(":first-child"));
                slideshow.slider.css({ marginLeft: parseInt(slideshow.slider.css("marginLeft")) - slideshow.itemWidth });
            }

			// Set current item value
			if(slideshow.currentItem == 0)
			{
				slideshow.currentItem = slideshow.items.length;
			}
			slideshow.currentItem -= 1;
			
            // Animate, then select the previous numbered link
            slideshow.slider.animate({ marginLeft: "+=" + slideshow.itemWidth }, 750, "swing", function(){
				
			});
			
			$('h4.tour-subtitle').animate({color:'#ffffff'},300,function(){
				$('h4.tour-subtitle').text(slideshow.subtitles.eq(slideshow.currentItem).attr('title'));
				$('h4.tour-subtitle').animate({color:'#766C56'},300);
			});
			
			
        }
    },

    selectNext: function(slideshow) {
        if (!slideshow.isAnimated()) {
            // Allow for "circular" scrolling
            if (slideshow.isAtEdge("right")) {
                slideshow.items.filter(":first-child").insertAfter(slideshow.items.filter(":last-child"));
                slideshow.slider.css({ marginLeft: parseInt(slideshow.slider.css("marginLeft")) + slideshow.itemWidth });
            }

			// Set current item value
			slideshow.currentItem += 1;
			if(slideshow.currentItem == slideshow.items.length)
			{
				slideshow.currentItem = 0;
			}

            // Animate, then select the previous numbered link
            slideshow.slider.animate({ marginLeft: "-=" + slideshow.itemWidth }, 750, "swing", function(){
				
			});
			
			$('h4.tour-subtitle').animate({color:'#ffffff'},300,function(){
				$('h4.tour-subtitle').text(slideshow.subtitles.eq(slideshow.currentItem).attr('title'));
				$('h4.tour-subtitle').animate({color:'#766C56'},300);
			});
			
        }
    },

    isAtEdge: function(slideshow, side) {
        if (side == "left") {
            return (parseInt(slideshow.slider.css("marginLeft")) == 0);
        } else if (side == "right") {
            return (parseInt(slideshow.slider.css("marginLeft")) == -(slideshow.itemWidth * (slideshow.items.length - 1)));
        }
    },

    isAnimated: function(slideshow) {
        return (slideshow.find(":animated").length)
    }

}

$(document).ready(function() {
    Slideshow.init();
	$(".old-subtitle").fadeTo(0, 0);
    // Show off
    //$(".slideshow-container").css("overflow", "visible");
});
