/*
MooSizer - a Mootools rewrite of: Supersized - Full Screen Background/Slideshow jQuery Plugin

License:
	MIT-style license.

Credits:
	Original jQuery supersized script By Sam Dunn ( <http://buildinternet.com> / <http://onemightyroar.com>	 )
	found here: <http://buildinternet.com/2009/02/supersized-full-screen-backgroundslideshow-jquery-plugin/>
	rewritten for Mootools 1.2 by Markus Timtner ( <http://mtness.net> ) 2009-03-27 1100-1500 GMT+1
	improved by Lorenz Losmann for Comwrap Ltd. ( <http://www.comwrap.eu> )
*/

var mooSizer = new Class({

	Implements: [Options, Events],
	options: {
		startwidth: 640,  
		startheight: 480,
		minsize: .5,
		slideshow: 1,
		slideinterval: 5000,
		bgElement: ''
	},

	initialize: function(options){													
        this.setOptions(options);

		//Define image ratio & minimum dimensions
		var minwidth	= this.options.minsize*(this.options.startwidth);		
		var minheight	= this.options.minsize*(this.options.startheight);			
		var ratio		= this.options.startheight/this.options.startwidth;		

		this.resizenow(minwidth,minheight,ratio);

 		window.addEvent('resize', function(){										
			this.resizenow(minwidth,minheight,ratio);
		}.bind(this));

	},
	
	resizenow: function(minwidth,minheight,ratio) {								

		//Gather browser and current image size
		var imagesize		= $(this.options.bgElement).getSize();
		var imagewidth		= imagesize.x;											
		var imageheight		= imagesize.y;											
		var clientsize		= window.getSize();
		var browserwidth	= clientsize.x;											
		var browserheight	= clientsize.y;											
		var El 				= $(this.options.bgElement);
		//var margin			= 100 ; bestimmt die aussränder syntax der zu ersetzen wäre z.B.: changeFX.start('height', (browserheight-margin)); 
		//Bildauschnitt verändern über CSS background image, ansonsten Bild direkt ins Layer als img src
		
		
 		//Check for minimum dimensions
		if ((browserheight < minheight) && (browserwidth < minwidth)){				
				//$(this).height(minheight);
				$(this.options.bgElement).setStyle('height',minheight);
				//$(this).width(minwidth);
				$(this.options.bgElement).setStyle('width',minwidth);
		}
		else{	
			//When browser is taller	
			if (browserheight > browserwidth){
				
				imageheight = browserheight;
				
				var changeFX = new Fx.Tween(El);	
					changeFX.start('height', browserheight);
					//$(this.options.bgElement).setStyle('height',browserheight);
					
				imagewidth = browserheight/ratio;
					var changeFX2 = new Fx.Tween(El);
					changeFX2.start('width',imagewidth);
					//$(this.options.bgElement).setStyle('width',imagewidth);
				
				if (browserwidth > imagewidth){	
				
					imagewidth = browserwidth;	
					
				var changeFX3 = new Fx.Tween(El);	
					changeFX3.start('width', browserwidth);
					
						//$(this.options.bgElement).setStyle('width',browserwidth);
					imageheight = browserwidth * ratio;								
						//$(this.options.bgElement).setStyle('height',imageheight);
				}
			}			
			//When browser is wider
			if (browserwidth >= browserheight){	
			
				imagewidth = browserwidth;	
				
				var changeFX4 = new Fx.Tween(El);	
					changeFX4.start('width', browserwidth);
					
					//$(this.options.bgElement).setStyle('width',browserwidth);
				imageheight = browserwidth * ratio;	
				
				var changeFX4 = new Fx.Tween(El);	
					changeFX4.start('height', imageheight);
					
					//$(this.options.bgElement).setStyle('height',imageheight);
				
				if (browserheight > imageheight){	
				
					imageheight = browserheight;
					
				var changeFX5 = new Fx.Tween(El);	
					changeFX5.start('height', browserheight);
					
						//$(this.options.bgElement).setStyle('height',browserheight);
					imagewidth = browserheight/ratio;
					
				var changeFX6 = new Fx.Tween(El);	
					changeFX6.start('width', imagewidth);	
					
						//$(this.options.bgElement).setStyle('width',imagewidth);
				}
			}
		}
	}

});

/*************************************************************/


