/**
 * @author Zane DeBusk (PLS Creative Solutions)
 * 
 */

jQuery.noConflict();

jQuery(document).ready(function($) {
	
	// activate javascript slideshow
	$("#slideshow-mast").removeClass("static");
	
    function SlideBox(slides, nav, timeout, speed){
        this.timeout = timeout;
		this.speed = speed;
        this.slides = slides;
        this.nav = nav;
        this.current = 0;
        
		this.slides = slides;//slide.children();
		this.navs = nav.children();
        this.count = this.slides.length;
		
        for (var i = 0; i < this.slides.length; i++) {
            $(this.slides[i]).css('z-index', String(eval($(this.slides[i]).css('z-index')) + (this.slides.length - i))).css('position', 'absolute');
            $(this.slides[i]).hide();
        }
		
		$(this.slides[0]).show();
			
		this.getNext = function(){
		    var next;
		    if (this.current < this.count - 1) 
		        next = this.current + 1;
		    else 
		        next = 0;
		    return next;
		}
		
		this.swap = function(swapped){
			$(this.slides[this.current]).fadeOut(this.speed);
			$(this.navs[swapped]).addClass("active");
			$(this.slides[swapped]).fadeIn(this.speed);
			
			n = $(this.navs[this.current]);
			this.current = swapped;
			
			// active state animation
			$('#slide-nav-nub span').fadeOut(this.speed/2,
				function() {
				offset = 80 * swapped;
				n.removeClass("active");
				$('#slide-nav-nub').css("top", offset);
			});
						
			$('#slide-nav-nub span').fadeIn(this.speed/2);
			// end active state animation
			
			slideLoop();
		}
		
		this.jump = function(to){
			this.swap(to);
		}
		
		this.next = function(){
		    this.swap(this.getNext());
		}
    }
    
    var homeSlide = new SlideBox($('#slide-nav img'), $('#slide-nav'), 7000, 2000);
	
    $(homeSlide.navs[0]).click(function(){
		if(homeSlide.current != 0) {
			homeSlide.jump(0);
			return false;
		}		
    });
	
	$(homeSlide.navs[1]).click(function(){
		if(homeSlide.current != 1) {
			homeSlide.jump(1);
			return false;
		}
    });
	
	$(homeSlide.navs[2]).click(function(){
		if(homeSlide.current != 2) {
			homeSlide.jump(2);
			return false;
		}
    });
	
	$(homeSlide.navs[3]).click(function(){
		if(homeSlide.current != 3) {
			homeSlide.jump(3);
			return false;
		}
    });
	
	var t;
    function slideLoop() {
		clearTimeout(t);
        t = setTimeout(function(){
            homeSlide.next();
        }, homeSlide.timeout);
    }
	slideLoop();
});
