/**
 * Namespace Template
 * Description
 * Date
 * Developer Name
 */

/**
 * Ext JS Library 3.1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * http://extjs.com/license
 */

   /**
    * N main things to do:
    * 1. task 1
    * 2. task 2
    * 3. task 1
    * N. task N
    */

// Create the ClientExec namespace to avoid scoping issues
Ext.namespace('ClientExec'); //define namespace with some 'name'


// Change Modulename to CE module for example "ProductSettings"
ClientExec.ModuleName = function(){

    /******************/
    /*--Private Area--*/
    //  can only access this area via the Public Area

    /*--Private Variables--*/
    //  Not accessible directly from outside of the module
    //  These lines executed before document fully loaded, so don't access DOM
    //  from outside a function here (elements do not exist yet)
    var myPrivateVar = "my private var";


        /*--Private Functions--*/
    //  Not accessible directly from outside of the module
    

    /*Public Area*/
    return {
         /*--Public Properties--*/
        // it's good practice to put the following in the public area of the module:
        //   text used by module, default dmensions, styles, customizable options, etc.
       

        /* Public Properties*/
        myPublicProperty: "some property",

        /*--Public Methods--*/
        myPublicMethod: function(){//accessible as ClientExec.myModule.myPublicMethod
            var myOtherProperty = this.myPublicProperty //use 'this' to refer to Public Property
            return myPrivateVar; //note reference to Private variable does NOT use 'this'
        },
        //  Public methods can be called from outside
        //  Public methods can access Private Area
        init: function(){//this method is called by the last line below that looks like this:
                           //Ext.onReady(ClientExec.myModule.init, ClientExec.myModule, true);
                           //So once the document is fully loaded that line gets executed and we
                           //end up here.  As a result, this is a good place to put DOM dependent tasks

            /* Put initialization code here */
            
            /* Scope Example:  */
            /* alert(this.MyPublicProperty) */
            /* alert(myPrivateVar) */
        }


    }

}();

// Change Modulename to CE module for example "ProductSettings"
Ext.onReady(ClientExec.ModuleName.init, ClientExec.ModuleName, true);

