
function $(el)
{
    return document.getElementById(el);
}

function createRequest(method, request, data, handler, item_id) 
{
    handler = handler || false;
    item_id = item_id || 0;
    
    method = method.toUpperCase();
    
    var req = null;
    
    if ( window.XMLHttpRequest ) req = new XMLHttpRequest();
    else 
    {
        try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch (e) 
        {
            try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch (e) 
            {
                try { req = new ActiveXObject("Msxml2.XMLHTTP.4.0"); }
                catch (e) {}
            }
        }
    }
    
    if ( req != null ) 
    {
        var rnd = ( method == "GET" ) ? "?" + Math.random() * 99999 : "";
        data = ( method == "POST" ) ? encodeURI(data) : data;
        req.open(method, request + rnd, true);
        req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        req.send(data);
        
        req.onreadystatechange = function() 
        {
            if ( req.readyState == 4 ) 
            {
                if ( req.status == 200 && handler != false ) 
                {
                    handler(req.responseText, item_id);
                    req.onreadystatechange = function() { delete req; }
                }
            }
        }
    }
    else alert("Can not create XMLHttpRequest");
}


