/*
Supersized - Fullscreen Slideshow jQuery Plugin
By Sam Dunn (www.buildinternet.com // www.onemightyroar.com)
Version: supersized.2.0.js // Relase Date: 5/7/09
Website: www.buildinternet.com/project/supersized
Thanks to Aen for preloading, fade effect, & vertical centering
*/

(function($){

	//Resize image on ready or resize
	$.fn.supersized = function() {
		$.inAnimation = false;
		$.paused = false;
		var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
		
		$(window).bind("load", function(){
			$('#supersize').fadeIn('fast');
			//if ($('#slideshow .activeslide').length == 0) $('#supersize a:first').addClass('activeslide');
		});

		if (options.slideshow == 1){
			slideshow_interval = setInterval("nextslide()", options.slide_interval);
		}
		
		$(window).bind("resize", function(){
    		$('#supersize').resizenow(); 
		});
		
		$('#supersize').hide();
		$('#supersize').resizenow(); 
	};
	
	//Adjust image size
	$.fn.resizenow = function() {
		var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
	  	return this.each(function() {
	  		
			//Define image ratio
			var ratio = 1200/1920;
			var min_width = 1200;
			var min_height = 750;

			var browserwidth = $(window).width();
			var browserheight = $(window).height();
			var offset;
			

		//	appendText("browserwidth: " + browserwidth); 
		//	appendText("browserheight: " + browserheight); 

			if(browserheight/browserwidth > ratio){
				//alert('height is the defining factor here so set height to browser height which is ' + browserheight);
				
				if(browserheight < min_height){
					browserheight = min_height;
					browserwidth = min_width;
				}
				else{
					browserwidth = browserheight / ratio;
				}
			}
			else{
				//alert('width is the defining factor here so set height to browser height');
				if(browserwidth < min_width){
					browserheight = min_height;
					browserwidth = min_width;
				}
				else{
					browserheight = browserwidth * ratio;
				}
				
			}
			
				browserwidth = parseInt(browserwidth);
				browserheight = parseInt(browserheight);
			
				$(this).width(browserwidth);
				$(this).height(browserheight);
				$(this).children().width(browserwidth);
				$(this).children().height(browserheight);
					

			return false;
		});
	};
	
	$.fn.supersized.defaults = { 
			startwidth: 4,  
			startheight: 3,
			vertical_center: 1,
			slideshow: 0,
			navigation:1,
			transition: 1, //0-None, 1-Fade, 2-slide top, 3-slide right, 4-slide bottom, 5-slide left
			pause_hover: 0,
			slide_counter: 1,
			slide_captions: 1,
			slide_interval: 5000
	};
	
})(jQuery);


	function getSlideByIndex(i){
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		//var index = index.substr(3);
		
		if($.inAnimation || i == index){ 
			appendText("trying to set slide index i=" + i + " but is same as index of currentslide=" + index);
			return false;
		}
		else {
			appendText("setting animation to true");
			$.inAnimation = true;
		}
		
		changeContentColor(i);
		
	    var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
	    var currentslide = $('#supersize .activeslide');
	    currentslide.removeClass('activeslide');
		
	   	if ( currentslide.length == 0 ) currentslide = $('#supersize a:last');
			
	    var nextslide =  $($('#supersize a')[i]);

		
		$('#imageMenu a').removeClass('active');
		$($('#imageMenu a')[i]).addClass('active');
		
	    var prevslide =  currentslide;
		
		$('.prevslide').removeClass('prevslide');
		prevslide.addClass('prevslide');
		
		nextslide.hide().addClass('activeslide');

	    nextslide.fadeIn(750, function(){
			appendText("setting animation to false");									   
			$.inAnimation = false;
		});
	    
		$('#supersize').resizenow();//Fix for resize mid-transition	    		
	}

	function appendText(txt){
		$('#debugPanel').append('<p>' + txt + '</p>');	
	}

	function changeContentColor(id){
		var slide_link = $('#supersize a')[id];
		
		if($(slide_link).attr('rel') == 'white'){
			$('#container').addClass('white');
		}else{
			$('#container').removeClass('white');
		}
		

		if($(slide_link).attr('placeholder')){
			$('#contentArea, #contentArea a, ul#footer, ul#footer a').attr('style', 'color: #' + $(slide_link).attr('placeholder'));
			$('#contentArea div.hr').attr('style', 'background-color: #' + $(slide_link).attr('placeholder'));
		}
		else{

		}							
	}
	
	//Slideshow Next Slide
	function nextslide() {
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		if($('#supersize a')[index + 1] != undefined){
			getSlideByIndex(index + 1);
		}
		else{
			getSlideByIndex(0);	
		}
	}
	
	//Slideshow Previous Slide
	function prevslide() {
		var currentslide = $('#supersize .activeslide');
		var index = $('#supersize a').index(currentslide);
		if($('#supersize a')[index - 1] != undefined){
			getSlideByIndex(index - 1);
		}
		else{
			getSlideByIndex($('#supersize a').length() - 1);	
		}	
	}	
