var stage = function()
{
	var imageRect;
	var minRect;
	var currentRect;
	
	var _listeners;
	
	function init()
	{
		minRect = RectScaler.createRect( 0, 0, 980, 600 );
		
		_listeners = [];
		
		$(window).wresize( handleWindowResize );
		handleWindowResize();
		
		if ( isTouchEnabled )
		{
			$('body').bind('turn', function(event, info){
          		handleWindowResize();
    		});
		}
	}
	
	function handleWindowResize()
	{
		var win = $( window );
		var h = win.height();
		var w = win.width();
		
		var windowRect = RectScaler.createRect( 0, 0, w, h );
		if ( windowRect.width < minRect.width ) windowRect.width = minRect.width;
		if ( windowRect.height < minRect.height ) windowRect.height = minRect.height;
		
		currentRect = windowRect;
		
		if ( _listeners.length > 0 )
		{
			for ( var i =_listeners.length-1; i >= 0; i-- )
			{
				try
				{
					_listeners[i].onStageResize( windowRect );
				}
				 catch ( $e )
				{
					
				}
			}
		}
		
		/*
		var newRect = RectScaler.scaleToRectangle( imageRect, windowRect, "scale-fill");
		
		var img = $("#bg img");
		img.css({"top": newRect.y + "px", "left": newRect.x + "px", "width": newRect.width + "px", "height": newRect.height + "px"} );
		*/
	}
	
	function getRect()
	{
		return currentRect;
	}
	function addResizeListener( $o )
	{
		_listeners.push( $o );
	
		
		try
		{
			$o.onStageResize( currentRect );
		}
		 catch ( $e )
		{
		}
	}
	
	return {
		init: init,
		addResizeListener: addResizeListener,
		getRect: getRect
	}
}();

$(document).ready( function()
{
	stage.init();
});
