/*
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(){
			var bwidth = $(window).width();
			var bheight = $(window).height();
			
		//	console.log(bwidth + " " + bheight);
    		$('#supersize').resizenow(); 
		});
	};
	
	$.fn.preloadImages = function()
	{
	  for(var i = 0; i<arguments.length; i++)
	  {
	    jQuery("<img>").attr("src", arguments[i]);
	  }
	}
	
	//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 currentslide = $('#supersize .activeslide img');

		    if ( currentslide.length == 0 ) currentslide = $('#supersize :last img');

//		    var nextslide =  currentslide.next().length ? currentslide.next() : $('#supersize :first');
//			var nextslide =  $(this).next().length ? $(this).next() : $('#supersize :first');
			
			var imagewidth = currentslide.attr('rwidth');
			var imageheight = currentslide.attr('rheight');
			ratio = currentslide.attr('ratio');
		//	console.log("height " + imageheight + " width " + imagewidth);
						
			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){
					// Tall window
				//	console.log('Tall Window');
					if (Number(imageheight) > Number(imagewidth)) {
					//	console.log('Tall Image');
						// tall image, we've matched the longest sides
						    imageheight = browserheight;
						    $(this).height(browserheight);
							currentslide.height(browserheight);
							$(this).attr('style','margin-top: 0');
							
						    //imagewidth = browserheight/ratio;
						    //$(this).width(imagewidth);
					} else {
						// wide image
						//console.log('Wide Image setting to ' + browserwidth);
						imagewidth = browserwidth;
					    $(this).width(browserwidth);
						currentslide.width(browserwidth);
						$(this).attr('style','margin-top: ' + (browserheight - (browserwidth*ratio))/2 + 'px');
						
					    //imageheight = browserwidth * ratio;
					    //$(this).height(imageheight);
					}
				
				}
				
				//When browser is wider
				if (browserwidth >= browserheight){
					// wide window
					//console.log('Wide window');
					if (Number(imageheight) > Number(imagewidth)) {
						// tall image
					//	console.log('Tall Image resetting to ' + browserheight);
						    imageheight = browserheight;
						    $(this).height(browserheight);
							currentslide.height(browserheight);
							$(this).attr('style','margin-top: 0');
							//$(this).('img').height(browserheight);
						    //imagewidth = browserheight/ratio;
						    //$(this).width(imagewidth);
					} else {
						// wide image
					//	console.log('Wide image ' + imageheight + ' ' + imagewidth);
						//if (imagewidth > browserwidth) {
						//	console.log('Image wider than browser shrinking to ' + browserwidth);
							imagewidth = browserwidth;
						    $(this).width(browserwidth);
							$(this).attr('style','margin-top: ' + (browserheight - (browserwidth*ratio))/2 + 'px');
							currentslide.width(browserwidth);
						    //imageheight = browserwidth * ratio;
						    //$(this).height(imageheight);
						//}
					}				    
				}
			}
			return false;
		});
	};
	
	$.fn.supersized.defaults = { 
			startwidth: 600,  
			startheight: 400,
			minsize: .5,
			slideshow: 1,
			slideinterval: 5000  
	};
		
})(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');

	$('#supersize').resizenow(); 	

}  	