$(document).ready(function() {
	

	//Set Default State of each portfolio piece
	//$(".paging").show();
	$(".paging a:first").addClass("active");
	$(".sliderDiv:first").addClass("activeD");
	$(".sliderDiv").css("opacity", "0");
	$(".sliderDiv.activeD").css("opacity", "1");
		
	//Get size of images, how many there are, then determin the size of the image reel.

	
	//Adjust the image reel to its new size
	//$(".image_reel").css({'width' : imageReelWidth});
	
	//Paging + Slider Function
	rotate = function(){	
		clearInterval(play); //Stop the rotation
		
		var triggerID = $active.attr("rel") - 1; //Get number of times to slide
		//alert(triggerID)
		
		$activeN = $('.sliderDiv.activeD').next(".sliderDiv"); //get the next slide
		$activeD = $('.sliderDiv.activeD'); // get the current slide	
		$active = $('.paging a.active').next();
		if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.paging a:first'); //go back to first
				$activeN = $('.sliderDiv:first');
			}
		$activeN.stop().fadeTo(1000, 1); //fade in the next slide
		$activeD.stop().fadeTo(1000, 0); //fade out the current slide
		$(".sliderDiv.activeD").removeClass("activeD"); //remove active class from current slide
		$activeN.addClass('activeD'); //add class activeD to new slide
		
		
			
		$(".paging a").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		
		rotateSwitch(); //Resume rotation
		return false; //Prevent browser jump to link anchor

		
	}; 
	
	//Rotation + Timing Event
	rotateSwitch = function(){		
		play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
			$active = $('.paging a.active').next();
			if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.paging a:first'); //go back to first
			}
			rotate(); //Trigger the paging and slider function
		}, 5000); //Timer speed in milliseconds (3 seconds)
	};
	
	rotateSwitch(); //Run function on launch
	
	//On Hover
	$(".window").hover(function() {
		clearInterval(play); //Stop the rotation
	}, function() {
		rotateSwitch(); //Resume rotation
	});	
	
	//On Click
	$(".paging a").click(function() {	
		clearInterval(play); //Stop the rotation
		
		$(".paging a").removeClass('active'); //Remove all active class
		$(this).addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		
		$activeN = $('.paging a').index(this); //get the next slide
		$activeD = $('.sliderDiv.activeD'); // get the current slide
		
		$activeD.stop().fadeTo(1000, 0).removeClass("activeD"); //fade out the current slide
		$('.sliderDiv').eq($activeN).stop().fadeTo(1000, 1).addClass("activeD");	
		
		$activeN = $('.sliderDiv.activeD').next(".sliderDiv"); //get the next slide	
		
		rotateSwitch(); //Resume rotation
	});	
	
	
		
	
	$(".prevNext #slNext").click(function(){
		clearInterval(play); //Stop the rotation
		$activeN = $('.sliderDiv.activeD').next(".sliderDiv"); //get the next slide
		$activeD = $('.sliderDiv.activeD'); // get the current slide	
		$active = $('.paging a.active').next();
		if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.paging a:first'); //go back to first
				$activeN = $('.sliderDiv:first');
			}
		$activeN.stop().fadeTo(500, 1); //fade in the next slide
		$activeD.stop().fadeTo(500, 0); //fade out the current slide
		$(".sliderDiv.activeD").removeClass("activeD"); //remove active class from current slide
		$activeN.addClass('activeD'); //add class activeD to new slide
		
		
			
		$(".paging a").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		rotateSwitch(); //Resume rotation
		return false; //Prevent browser jump to link anchor
		
	});
	
	$(".prevNext #slPrev").click(function(){
		clearInterval(play); //Stop the rotation
		$activeN = $('.sliderDiv.activeD').prev(".sliderDiv"); //get the next slide
		$activeD = $('.sliderDiv.activeD'); // get the current slide	
		$active = $('.paging a.active').prev();
		if ( $active.length === 0) { //If paging reaches the end...
				$active = $('.paging a:last'); //go back to first
				$activeN = $('.sliderDiv:last');
			}
		$activeN.stop().fadeTo(500, 1); //fade in the next slide
		$activeD.stop().fadeTo(500, 0); //fade out the current slide
		$(".sliderDiv.activeD").removeClass("activeD"); //remove active class from current slide
		$activeN.addClass('activeD'); //add class activeD to new slide
		
		
			
		$(".paging a").removeClass('active'); //Remove all active class
		$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
		rotateSwitch(); //Resume rotation
		return false; //Prevent browser jump to link anchor
	});
	
	
});

 function processSlideshow(elem, imageList, imageDuration, fadeSpeed, current) 
{
	var listSize = imageList.length;
    if (!current || current >= listSize) current = 0;
    if (!imageDuration) imageDuration = 2000;
    if (!fadeSpeed) fadeSpeed = 1000;
    $(elem + " img").attr("src", imageList[current]);
    if (current == (listSize - 1)) { $(elem).css("background", "transparent url(" + imageList[0] + ") no-repeat");
    } else {
        $(elem).css("background", "transparent url(" + imageList[current + 1] + ") no-repeat");
    }
    $(elem + " img").animate({ opacity: "1" }, imageDuration).
	      animate({ opacity: "0.01" }, fadeSpeed, function() 
		   { 
		     $(this).css("opacity", "1"); processSlideshow(elem, imageList, imageDuration, fadeSpeed, current + 1) 
			});

} 
