/* 
 * ATEDIN AJAX class
 */
var aax = {
    /**
     * normal async ajax call
     * @param {string} url
     * @param {array} data
     * @param {callback} done
     * @param {callback} fail - not required - if not presented, default used
     * @param {callback} always - not required
     * @return {unresolved}
     */
    call: async function (url, data, done, fail, always) {
        var failType = typeof (fail);
        // ** default error handler 
        if (failType !== 'function') {
            var fail = function (err) {
                if (url !== "/system/keep.php") {
                    systemMessage.error(err.responseText);
                    console.error("ATD-AJAXerror[default]", err);
                }
            }
        }
        try {
            var myAjax = await $.ajax({
                type: 'POST',
                url: url,
                data: data,
                async: true,
            })
                    .done(done)
                    .fail(fail)
                    .always(always);
            return myAjax;
        } catch (err) {
            fail
        }
    }
};


