(function() {	// begin anonymous function

    // define constants
	YAHOO.namespace('Company');
    Company = YAHOO.Company;
	Company.TIME_INTERVAL = 30;
	Company.TIME_HEIGHT = 15;
	Company.ROWS_PER_HOUR = 2;

	// Load Libraries via YUI Loader
	Company.LOADER = new YAHOO.util.YUILoader(
    {
		require: ["utilities","container"],
		base: Company.YUI_PATH,
		onSuccess: function() {

			// Shorthand Notation
			var Util=YAHOO.util,
				Dom=Util.Dom,
				Event=Util.Event;
			
			/**
			 * Release objects from memory
			 * @method Company.Destroy
			 */
			Company.Destroy = function()
            {
				for (var i in this)
				{
					if (YAHOO.lang.hasOwnProperty(this, i))
					{
						this[i] = null;
					}
				} // end for
			}

			// Load libraries
			Event.onDOMReady(function() 
			{
				// Libraries to load
				var libraries = [
					Company.JS_PATH + "analytics.js",
					Company.JS_PATH + "autocomplete.js",
					Company.JS_PATH + "calendar.js",
					Company.JS_PATH + "copy_fields.js",
					Company.JS_PATH + "edit.js",
					Company.JS_PATH + "menu.js",
					Company.JS_PATH + "more.js",
					Company.JS_PATH + "orders.js",
					Company.JS_PATH + "tabs.js",
					Company.JS_PATH + "util.js"
				];
				
				// Get utility to load JS
				YAHOO.util.Get.script(libraries,
				{  
					onSuccess: function()
					{
						new Company.AutoCompleteManager;
						new Company.CalendarManager;
						new Company.Menu('menu');
						new Company.More;
						new Company.Tabs('tabs-js');
						
						new Company.Orders.Preview;
						new Company.Orders.addNote;
						Company.Orders.util.saveStatus();
						Company.Orders.util.saveLead();
						
						if (Company.startEdit) Company.startEdit();
						if (Company.startCopy) Company.startCopy();
						
						// Utilities
						Company.util.selectAll();
						Company.util.setFocus();
						Company.util.confirmDialog();
						Company.util.autoTab();
						Company.util.popUp();
					} 
				}); // end get

				// load tooltips
				var tooltip = Dom.getElementsByClassName('tooltip');
				if (tooltip.length > 0)
				{
					new YAHOO.widget.Tooltip("tooltip", { context:tooltip, width:'300px', autodismissdelay:30000 } );
				}
			}); // end onDOMRead
			
			// Release memory on unload
			Event.on(window, 'unload', Company.Destroy, null, Company);
            
            YAHOO.register("global", Company, {version: "1.0.0", build: "1"});

		} // end Loader onSuccess
	
	}); // wns YUI loader
	Company.LOADER.insert();

})();	// end anonymous function