
/**
 * Odesle pozadavek pomoci ajaxu.
 * @param state_change Funkce, ktera se zavola pri zmene stavu objektu xmlhttprequest
 * @param method Metoda http komunikace.
 * @url Adresa.
 * @content Obsah http pozadavku
 * @headers Asociativni pole http hlavicek
 * @return True pri uspechu, false pri neuspechu.
 */
function send_request(state_change, method, url, content, headers) {
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp) {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function () {
        state_change(xmlhttp);
    };
    headers = headers || {};
    headers['X-Requested-With'] = headers['X-Requested-With'] || 'XMLHttpRequest';
    for (var key in headers) {
        xmlhttp.setRequestHeader(key, headers[key]);
    }
    xmlhttp.send(content);
    return true;
}

