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

    Unify Project

    Homepage: unify-project.org
    License: MIT + Apache (V2)
    Copyright: 2009-2011 Deutsche Telekom AG, Germany, http://telekom.com

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

qx.Class.define("unify.view.PopOverManager",
{
  extend : qx.core.Object,
  
  
  /*
  *****************************************************************************
     CONSTRUCTOR
  *****************************************************************************
  */
    
  construct : function()
  {
    this.base(arguments);
    
    
  },
  
  
  
  /*
  *****************************************************************************
     PROPERTIES
  *****************************************************************************
  */  
  
  properties : 
  {
    visible : 
    {
      check : "Boolean",
      init : false,
      apply : "_applyVisible"
    },
    
    viewManager : 
    {
      check : "unify.view.ViewManager",
      apply : "_applyViewManager",
      nullable : true
    }
  },
  


  /*
  *****************************************************************************
     STATICS
  *****************************************************************************
  */
  
  statics : 
  {
    
  },
  
  
  
  
  /*
  *****************************************************************************
     MEMBERS
  *****************************************************************************
  */
    
  members :
  {
    _applyViewManager : function(value, old)
    {
      if (old) {
        this.getElement().removeChild(old.getElement());
      }

      if (value) {
        this.getElement().appendChild(value.getElement());
      }
    },
    
    _applyVisible : function(value, old)
    {
      var elem = this.__element;
      if (value)
      {
        if (!elem) {
          elem = this.getElement();
        }
        
        elem.style.display = "";
      }
      else if (elem)
      {
        elem.style.display = "none";
      }
    },
    
    getElement : function()
    {
      var elem = this.__element;
      if (!elem) 
      {
        elem = this.__element = document.createElement("div");
        elem.className = "pop-over";
        elem.style.display = "none";
        document.body.appendChild(elem);
      }
      
      return elem;
    },
    
    hasViewManager : function() {
      return !!this.getViewManager();
    }
  }
})
@@ -424,16 +424,38 @@
 Object,%0A
+  type : %22singleton%22,%0A
   %0A  %0A  
@@ -724,1831 +724,213 @@
 %0A  %0A
-  %0A  /*%0A  *****************************************************************************%0A     PROPERTIES%0A  *****************************************************************************%0A  */  %0A  %0A  properties : %0A  %7B%0A    visible : %0A    %7B%0A      check : %22Boolean%22,%0A      init : false,%0A      apply : %22_applyVisible%22%0A    %7D,%0A    %0A    viewManager : %0A    %7B%0A      check : %22unify.view.ViewManager%22,%0A      apply : %22_applyViewManager%22,%0A      nullable : true%0A    %7D%0A  %7D,%0A  %0A%0A%0A  /*%0A  *****************************************************************************%0A     STATICS%0A  *****************************************************************************%0A  */%0A  %0A  statics : %0A  %7B%0A    %0A  %7D,%0A  %0A  %0A  %0A  %0A  /*%0A  *****************************************************************************%0A     MEMBERS%0A  *****************************************************************************%0A  */%0A    %0A  members :%0A  %7B%0A    _applyViewManager : function(value, old)%0A    %7B%0A      if (old) %7B%0A        this.getElement().removeChild(old.getElement());%0A      %7D%0A%0A      if (value) %7B%0A        this.getElement().appendChild(value.getElement());%0A      %7D%0A    %7D,%0A    %0A    _applyVisible : function(value, old)%0A    %7B%0A      var elem = this.__element;%0A      if (value)%0A      %7B%0A        if (!elem) %7B%0A          elem = this.getElement();%0A        %7D%0A        %0A        elem.style.display = %22%22;%0A      %7D%0A      else if (elem)%0A      %7B%0A        elem.style.display = %22none%22;%0A      %7D%0A    %7D,%0A    %0A    getElement : function()%0A    %7B%0A      var elem = this.__element;%0A      if (!elem) %0A      %7B%0A        elem = this.__element = document.createElement(%22div%22);%0A        elem.className = %22pop-over%22;%0A        elem.style.display = %22none%22;%0A        document.body.appendChild(elem);%0A      %7D%0A      %0A      return elem;%0A    %7D,%0A    %0A    hasViewManager : function() %7B%0A      return !!this.getViewManager();%0A    %7D
+%0A  /*%0A  *****************************************************************************%0A     MEMBERS%0A  *****************************************************************************%0A  */%0A    %0A  members :%0A  %7B%0A
 %0A  %7D

Clean up of PopOverManager. Converted to a singleton.