
/*

Supersized - Full Screen Background/Slideshow jQuery Plugin

supersized.1.0.js

February 2009

By Sam Dunn

www.buildinternet.com / www.onemightyroar.com

*/

(function($){



	//Resize image on ready or resize

	$.fn.supersized = function() {



		var options = $.extend($.fn.supersized.defaults, $.fn.supersized.options);



		if (options.slideshow == 1){

			setInterval("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: 640,

			startheight: 480,

			minsize: .5,

			slideshow: 1,

			slideinterval: 10000

	};



})(jQuery);



//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');



    nextslide.addClass('activeslide');

    currentslide.removeClass('activeslide');



}

