function GET_AJAX(query, parametros, callback)
{
    AJAX_SEND_(GET_JAX_INIT_(query, true, parametros), callback, null)
}

function POST_AJAX(query, parametros, callback)
{
    AJAX_SEND_(POST_JAX_INIT_(query, true, parametros), callback, parametros)
}

function TIMED_GET_AJAX(query, parametros, callback, timeout)
{
    TIMED_AJAX_SEND_(GET_JAX_INIT_(query, true, parametros), callback, timeout, null)
}

function TIMED_POST_AJAX(query, parametros, callback, timeout)
{
    TIMED_AJAX_SEND_(POST_JAX_INIT_(query, true, parametros), callback, timeout, parametros)
}


function AJAX_SEND_(ajax, callback, parametros)
{
    ajax.onreadystatechange = function( ) {
        if (ajax.readyState == 4) {
            var respuesta = ajax.responseText
            
            LIBERA_JAX_(ajax)
            callback(respuesta)
        }
    }
    
    ajax.send(parametros)
}

function TIMED_AJAX_SEND_(ajax, callback, timeout, parametros)
{
    var timer = null
    
    ajax.onreadystatechange = function( ) {
        if (ajax.readyState == 4) {
            clearTimeout(timer)
            
            var respuesta = ajax.responseText
            LIBERA_JAX_(ajax)
            
            callback(respuesta)
        }
    }
    
    timer = setTimeout(
        function( ) {
            LIBERA_FORZADO_JAX_(ajax)
            callback("timeout")
        },
        timeout
    )
    
    ajax.send(parametros)
}