var xmlHttp;

function prepareAjax() {
                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;
                        }
                }
        }
}

function ajax(url) {
        prepareAjax();
        
        xmlHttp.onreadystatechange=function() {
                if(xmlHttp.readyState==4) {
                        eval(xmlHttp.responseText);
                }
        }
        
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
}

function ajaxParam(url, parameters) {
        prepareAjax();
        
        xmlHttp.onreadystatechange=function() {
                if(xmlHttp.readyState==4) {
                        eval(xmlHttp.responseText);
                }
        }
        
        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);
}

function ajaxDiv(url, element) {
        prepareAjax();
        
        xmlHttp.onreadystatechange=function() {
                if(xmlHttp.readyState==4) {
                        document.getElementById(element).innerHTML = xmlHttp.responseText;
                }
        }
        
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
}

function ajaxParamDiv(url, element, parameters) {
        prepareAjax();
        
        xmlHttp.onreadystatechange=function() {
                if(xmlHttp.readyState==4) {
                        document.getElementById(element).innerHTML = xmlHttp.responseText;
                }
        }
        
        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);
}

function ajaxParamDivSynchronous(url, element, parameters) {
        prepareAjax();

        xmlHttp.open('POST', url, false);
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", parameters.length);
        xmlHttp.setRequestHeader("Connection", "close");
        xmlHttp.send(parameters);
        document.getElementById(element).innerHTML = xmlHttp.responseText;
}

function ajaxParamSynchronousXML(url, parameters) {
        prepareAjax();

        xmlHttp.open('POST', url, false);
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", parameters.length);
        xmlHttp.setRequestHeader("Connection", "close");
        xmlHttp.send(parameters);
        return xmlHttp.responseXML;
}