/**
* @author iioriatti
* @version 1.0  
* @extends Sinfo_Application
* @class This generic Class build one container object
* @param {Sinfo_Container} par_oApplicationOwner Instance of Sinfo_Application class owner of this Sinfo_Container object.
*/ 
Sinfo_Container = function (par_oApplicationOwner)
{
   var oHtmlContainer = new Sinfo_HtmlContainer(par_oApplicationOwner.HtmlContainer);
      oHtmlContainer.addClassName("Container");
      oHtmlContainer.Container.className = "Sinfo_Container";

  this.extend = Sinfo_Application;
  this.extend(oHtmlContainer.Container, par_oApplicationOwner.ClientObjManager);
  delete this.extend;
  

    /**
    * This attribute return the type of the object.
    * @property 
    * @type String
    */   
   this.type = 'Sinfo_Container';      

   /**
   * This attribute return the HtmlDivElement associated with this Container object.
   * @property {}
   * @type HtmlDivElement
   */
   this.HtmlContainer = oHtmlContainer.Container;

   /**
   * This method provide to destroy the object
   */
   this.destroy = function ()
         {
            oHtmlContainer.destroy()          
            delete oHtmlContainer;
	     }
        
   /**
   * This method provide to hide and display the container
   * @param {Boolan} par_bValue <b> true = </b> display('block') ; <b> false = </b> display('none') <br>
   */
   this.HtmlDisplay = function (par_bValue)
        {
            if(!(!par_bValue))
                if(par_bValue == true)
                   oHtmlContainer.display('block');
                else if(par_bValue == false)
                   oHtmlContainer.display('none');
        }

   /**
   * This method provide to write one string in the Container
   * @param {String} par_sText String to write in the HtmlContainer
   */
    this.HtmlWrite = function (par_sText)
          {
             oHtmlContainer.write(par_sText)
          }

   /**
   * This method return the content of the Container
   * @return {String}
   */
   this.HtmlText = function ()
        {
            return oHtmlContainer.text();
        }

   /**
   * This method provide to add one className in the Container "class" attribute.
   * @param {String} par_sClassName New className to add.
   */
   this.HtmlAddClassName = function (par_sClassName)
         {
            oHtmlContainer.addClassName(par_sClassName);
         }

   /**
   * This method provide to remove one className in the Container "class" attributes.
   * @param {String} par_sClassName className to remove.
   */
   this.HtmlRemoveClassName = function (par_sClassName)
        {
            oHtmlContainer.removeClassName(par_sClassName); 
        }  
}
