/**
 * ContentAddSettings_DynamicDialogAdapter.js
 * Define the ContentAddSettings_DynamicDialogAdapter class/prototype
 *
 * Used to adapt the ContentAddSettings for use with the Dynamic
 * Dialog.
 *
 * $Revision: 1.2 $
 * $Date: 2009/08/11 19:11:22 $
 * Last edited by: $Author: jauldrid $
 */
ContentAddSettings_DynamicDialogAdapter$Class = {

  sURL                : '',
  sLoadingMessage     : '',
  oContentAddSettings : {},

  __construct : function()
  {
    jQuery.extend( true, this, ContentAddSettings_DynamicDialogAdapter$Class );
  },

  setUrl : function( sURL )
  {
    if( typeof this.__super != 'undefined' )
    {
      this.__super.setUrl( sURL );
    }
    else
    {
      this.sURL = sURL;
    }

    return this;
  },

  setLoadingMessage : function( sLoadingMessage )
  {
    if( typeof this.__super != 'undefined' )
    {
      this.__super.setLoadingMessage( sLoadingMessage );
    }
    else
    {
      this.sLoadingMessage = sLoadingMessage;
    }

    return this;
  },

  setContentAddSettings : function( oContentAddSettings )
  {
    if( typeof this.__super != 'undefined' )
    {
      this.__super.setContentAddSettings( oContentAddSettings );
    }
    else
    {
      this.oContentAddSettings = oContentAddSettings;
    }

    return this;
  },

  /**
   *
   * DynamicDialogSettings['sURL']
   * DynamicDialogSettings['sLoadingMessage']
   * DynamicDialogSettings['oRequestParameters']
   *
   */
  getFullSettings : function()
  {
    var retval = {};

    var oRequestParameters = {};
    if(( typeof this.oContentAddSettings === 'object' ) &&
       ( typeof this.oContentAddSettings.getFullSettings === 'function' ))
    {
      oRequestParameters = this.oContentAddSettings.getFullSettings();
    }

    oRequestParameters['aQuickAddSettings'] = {};
    if( typeof oRequestParameters['defaultSettings'] != 'undefined' )
    {
      oRequestParameters['aQuickAddSettings']['defaultSettings'] = oRequestParameters['defaultSettings'];
      delete oRequestParameters['defaultSettings'];
    }
    if( typeof oRequestParameters['deriveSettings'] != 'undefined' )
    {
      oRequestParameters['aQuickAddSettings']['deriveSettings'] = oRequestParameters['deriveSettings'];
      delete oRequestParameters['deriveSettings'];
    }
    oRequestParameters['oEventTriggers']    = JSON.stringify( oRequestParameters['oEventTriggers'] );
    oRequestParameters['aQuickAddSettings'] = JSON.stringify( oRequestParameters['aQuickAddSettings'] );
    oRequestParameters['bJsonEncoded']      = true;

    retval['sURL']                = this.sURL;
    retval['sLoadingMessage']     = this.sLoadingMessage;
    retval['oRequestParameters']  = oRequestParameters;

    return retval;
  }
}

/**
 * Alias the constructor, thus defining the "instantiable"
 * class.
 */
ContentAddSettings_DynamicDialogAdapter = ContentAddSettings_DynamicDialogAdapter$Class.__construct;

/*
oDynamicDialog = new $.DynamicDialog(
  ((new ContentAddSettings_DynamicDialogAdapter()).
     setUrl( '/common/addObjectComment.html' ).
     setContentAddSettings(((new ContentAddSettings_Comment()).
                            setUrn( 'vne:cboget.yakabod.net:document:6686' ).
                            setObjectType( 'DOCUMENT' ).
                            setObjectId( 6686 ).
                            setCacheParameters( '' ).
                            setCommand( 'ADD' ).
                            setObjectCommentId( '' ).
                            setOldComment( '' ).
                            setInstanceIdentifier( 'n4a60dd12a3ada' ).
                            addSuccessTriggerEvent( 'insertComment' ))).
     getFullSettings())
);
*/
