/// <reference path="./Request.ts"/>
/// <reference path="./IRequestConfigOptions.ts"/>
/// <reference path="./reader/JsonReader.ts"/>
/// <reference path="./reader/TextReader.ts"/>
/// <reference path="./transport/Get.ts"/>
/// <reference path="./transport/Post.ts"/>
/// <reference path="./transport/WindowName.ts"/>
/// <reference path="./writer/FormEncodedWriter.ts"/>
/// <reference path="./writer/JsonWriter.ts"/>
var econda;
(function (econda) {
    var ajax;
    (function (ajax) {
        /**
         * Class for ajax calls.
         *
         *  <h3>Example: Javascript-Ajax call with callback handler</h3>
         *
         *      econda.Ajax.request({
         *          url: 'data.xml',
         *          type: 'POST',
         *          data: requestData,
         *          success: function(data) {console.log(data);}
         *      });
         *
         * @class econda.ajax.Ajax
         * @alternateClassName econda.Ajax
         * @static
         */
        var Ajax = (function () {
            function Ajax() {
            }
            /**
             * Create new request object based on given configuration. See
             * {@link econda.ajax.Request} for details.
             * @method
             */
            Ajax.createRequest = function (config) {
                return new econda.ajax.Request(config);
            };
            /**
             * Create and execute request. See
             * {@link econda.ajax.Request} for details.
             * @method
             */
            Ajax.request = function (config) {
                var rec = this.createRequest(config);
                rec.send();
                return rec;
            };
            return Ajax;
        }());
        ajax.Ajax = Ajax;
    })(ajax = econda.ajax || (econda.ajax = {}));
})(econda || (econda = {}));
// create alias
econda['Ajax'] = econda.ajax.Ajax;