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