/*
Supersized - Full Screen Background/Slideshow jQuery Plugin
supersized.1.0.js
February 2009
By Sam Dunn
www.buildinternet.com / www.onemightyroar.com
*/
(function($) {
	jQuery(function($) {
		//Resize image on ready or resize
		$.fn.supersized = function() {
		
			var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
			
			if (options.slideshow == 1){
				setupslides();
				setInterval(function() { theslideshow(); }, options.slideinterval);
			}
			
			$().ready(function() {
				$('#supersize').resizenow(); 
			});
			$(window).bind("resize", function(){
				$('#supersize').resizenow(); 
			});
		};
		
		//Adjust image size
		$.fn.resizenow = function() {
			
			var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);
			
			return this.each(function() {
				
				//Define image ratio & minimum dimensions
				var minwidth = options.minsize*(options.startwidth);
				var minheight = options.minsize*(options.startheight);
				var ratio = options.startheight/options.startwidth;
				
				//Gather browser and current image size
				var imagewidth = $(this).width();
				var imageheight = $(this).height();
				var browserwidth = $(window).width();
				var browserheight = $(window).height();
				
				//Check for minimum dimensions
				if ((browserheight < minheight) && (browserwidth < minwidth)){
					$(this).height(minheight);
					$(this).width(minwidth);
				}
				else{	
					//When browser is taller	
					if (browserheight > browserwidth){
						imageheight = browserheight;
						$(this).height(browserheight);
						imagewidth = browserheight/ratio;
						$(this).width(imagewidth);
						
						if (browserwidth > imagewidth){
							imagewidth = browserwidth;
							$(this).width(browserwidth);
							imageheight = browserwidth * ratio;
							$(this).height(imageheight);
						}
					
					}
					
					//When browser is wider
					if (browserwidth >= browserheight){
						imagewidth = browserwidth;
						$(this).width(browserwidth);
						imageheight = browserwidth * ratio;
						$(this).height(imageheight);
						
						if (browserheight > imageheight){
							imageheight = browserheight;
							$(this).height(browserheight);
							imagewidth = browserheight/ratio;
							$(this).width(imagewidth);
						}
					}
				}
				return false;
			});
		};
		
		$.fn.supersized.defaults = { 
				startwidth: 4,  
				startheight: 3,
				minsize: .5,
				slideshow: 1,
				slideinterval: 5000
		};
		
	
		function setupslides() {
		
			var currentslide = $('#supersize .activeslide');
			if ( currentslide.length == 0 ) currentslide = $('#supersize :last');
		
			while(currentslide.next().length != 0) {
			currentslide = currentslide.next();
			currentslide.css({opacity: '0'});
			}
		}
		
		//Slideshow Add-on
		function theslideshow() {
			
			var currentslide = $('#supersize .activeslide');
					
			if ( currentslide.length == 0 ) currentslide = $('#supersize :last');
				
			var nextslide = currentslide.next().length ? currentslide.next() : $('#supersize :first');
				
			currentslide.animate({opacity: '0'}, 2000, function() {
			nextslide.addClass('activeslide');
			currentslide.removeClass('activeslide');
			nextslide.animate({opacity: '1'}, 2000);
		});
		
		}

	});
}) (jQuery);
