/**
 * @class HeroAppController Will control the UI, AJAX Ambassador and Process Data controllers.
 *
 * @author Gerardo Rodriguez - grodriguez@cmdagency.com
 * @created 01/24/2011
 */
function HeroAppController()
{
	/*-------------------------------------------------
	 * Properties
	 *-------------------------------------------------*/
	var self = this;
	var uiController;
	var appSettingsObj;
	
	/*-------------------------------------------------
	 * Faux Constructor
	 *-------------------------------------------------*/
	/**
	 * @private Will serve as our faux constructor.
	 */
	this.init = function()
	{

	}
	/*-------------------------------------------------
	 * Public Methods
	 *-------------------------------------------------*/
	/**
	 * @public Pulic method that allows the app to begin setup.
	 * @param {Object} appSettingsObj The app settings passed in as an object.
	 */
	this.setup = function( appSettingsObj )
	{
		self.appSettingsObj = appSettingsObj;
		/* Create our controllers */
		self.uiController = new UIController();

		/* Set up controllers */
		/* This step seems unecessary, but seems to be only way to allowing binding before execution? */
		self.uiController.setup( self.appSettingsObj );
	}
	/*-------------------------------------------------
	 * Private Methods
	 *-------------------------------------------------*/

	/*-------------------------------------------------
	 * Event Handlers
	 *-------------------------------------------------*/

	/*-------------------------------------------------
	 * Getters/Setters
	 *-------------------------------------------------*/

	/*-------------------------------------------------
	 * Faux Constructor Init
	 *-------------------------------------------------*/
	/**
	 * We need to call our faux constructor, since it won't actually run by itself.
	 */
	this.init();
}
