      	else
      		return false;
 	}
+	
+	/**
+     *  @private
+     *  Returns the width of the chrome for the window
+     */
+    private function chromeWidth():Number
+    {
+        return nativeWindow.width - systemManager.stage.stageWidth;
+    }
+    
+    /**
+     *  @private
+     *  Returns the height of the chrome for the window
+     */
+    private function chromeHeight():Number
+    {
+        return nativeWindow.height - systemManager.stage.stageHeight;
+    }
 	
     /**
      *  @private

    }

	//----------------------------------
	//  maxHeight
	//----------------------------------
	
	/**
	 *  @private
	 *  Storage for the maxHeight property.
	 */
	private var _maxHeight:Number = 10000;
	
	[Bindable("maxHeightChanged")]
	
	/**
	 *  The maximum height of the window.
	 */
	override public function get maxHeight():Number
	{
		return _maxHeight;
	}
	
	/**
	 *  @private
	 */
	override public function set maxHeight(value:Number):void
	{
		_maxHeight = value;
		if (height > _maxHeight)
			height = _maxHeight;
			
		dispatchEvent(new Event("maxHeightChanged"));
	}
	
	//----------------------------------
	//  maxWidth
	//----------------------------------
	
	/**
	 *  @private
	 *  Storage for the maxWidth property.
	 */
	private var _maxWidth:Number = 10000;

	[Bindable("maxWidthChanged")]

	/**
	 *  The maximum width of the window.
	 */
	 override public function get maxWidth():Number
	{
		return _maxWidth;
	}
	
	/**
	 *  @private
	 */
	override public function set maxWidth(value:Number):void
	{
		_maxWidth = value;
	 	if (height > _maxWidth)
	 		height = _maxWidth;
	 		
	 	dispatchEvent(new Event("maxWidthChanged"));
	}
	
	 //---------------------------------
	 //  minHeight
	 //---------------------------------
	
	/**
	 *  @private
	 *  Storage for the minHeight property.
	 */
	private var _minHeight:Number =
		Math.max(NativeWindow.systemMinSize.y, 100);
	
	[Bindable("minHeightChanged")]
	
	/**
	 *  The minimum height of the window.
	 */
	override public function get minHeight():Number
	{
		return _minHeight;
	}
	
	/**
	 *  @private
	 */
	override public  function set minHeight(value:Number):void
	{
		_minHeight = value;
		if (height < minHeight)
			height = minHeight;
			
		dispatchEvent(new Event("minHeightChanged"));
	}
	
	//----------------------------------
	//  minWidth
	//----------------------------------
	
	/**
	 *  @private
	 *  Storage for the minWidth property.
	 */
	private var _minWidth:Number =
		Math.max(NativeWindow.systemMinSize.x, 100);
		
	[Bindable("minWidthChanged")]
		
	/**
	 *  The minimum width of the window.
	 */
	override public  function get minWidth():Number
	{
		return _minWidth;
	}
	
	/**
	 *  @private
	 */
	override public  function set minWidth(value:Number):void
	{
		_minWidth = value;
		if (width < _minWidth)
			width = _minWidth;
			
		dispatchEvent(new Event("minWidthChanged"));
	}
	
	//----------------------------------
	//  visible

     *  @private
     *  Storage for the bounds property.
     */
    private var _bounds:Rectangle = new Rectangle(0, 0, DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT);

    /**
     *  @private
