function $(element_id) {
    return document.getElementById(element_id);
}

function ajax(method, url, element_id, parameters) {
    var xmlHttp;

    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    
    xmlHttp.onreadystatechange = function() {
        if(xmlHttp.readyState == 4) {
            var result = xmlHttp.responseText;
            
            if (!element_id) {
                return result;
            } else {
                $(element_id).innerHTML = result;
            }
        }
    }
            
    if (method == 'POST') {                        
        xmlHttp.open('POST', url, true);
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", parameters.length);
        xmlHttp.setRequestHeader("Connection", "close");                
        xmlHttp.send(parameters);
    } else {                        
        xmlHttp.open('GET', url, true);
        xmlHttp.send(null);                        
    }
}

function addLoadEvent(func) {
    var prevonload = window.onload;
    if (typeof window.onload != 'function') {
            window.onload = func;
    } else {
        window.onload = function() {
            if (prevonload) {
                prevonload();
            }
            func();
        }
    }
}
