sendForm(form_el, on_success, on_error = null, headers = {'Content-Type': 'application/x-www-form-urlencoded'}) {
        var data = {};
        form_el.querySelectorAll('[name]').forEach(function(input){
            data[input.getAttribute('name')] = input.value;
        });
        this.create('POST', form_el.getAttribute('action'), data, on_success, on_error, headers, true);
    }
Sends a form via ajax POST with header Content-Type: application/x-www-form-urlencoded
Data is automatically taken form all form input values

@param {object} form_el - Form document element
@param {callback(responseText)} on_success - callback for status code 200
@param {callback(responseText, responseStatusCode)} on_error = null - custom handler for non 200 status codes
@param {object} headers = {'Content-Type': 'application/x-www-form-urlencoded'} - key: value map of headers