/**
 * @fileoverview
 * 
 * <p>Copyright (c) 2006 Peter Michaux All rights reserved<br />
 * All rights reserved <br />
 * This file is not licensed for use or redistribution.</p>
 *
 * @author Peter Michaux
 * @version 0.1 (June 2006)
 */

/**
 * @class
 * A PM.Object instance is a JavaScript object with
 * a unique internalId that can be used as the property
 * when storing the instance in an object being used as
 * an associative array.
 * @constructor
 */
PM.Object = function() {
  /**
   * A unique identifier to be used as a property when
   * storing an instance of PM.Object in a object used as
   * an associate array.
   * @type String
   * @final
   */
  this.internalId = "PMO_" + (PM.Object._internalId++);
  
  /**
   * A flag to be used to check if an object is an instance of PM.Object.
   * @type Boolean
   * @final
   */
  this.isObject = true;
};

/**
 * The counter used to generate internalId for each instance of PM.Object.
 *
 * @type Integer
 * @private
 */
PM.Object._internalId = 0;
