﻿var AJAX = {
    DoAjaxRequest: function(url, callback) {
        if (AJAX.requestActive == false) {
            AJAX.requestActive = true;

            if (callback == null) callback = "";

            var returnVal
            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;
                    }
                }
            }

            this.responseCallback = callback;
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    eval(AJAX.responseCallback);
                    AJAX.requestActive = false;
                }
            }

            xmlHttp.open("POST", url, true);
            xmlHttp.send('');
        }
        else {
            var t = window.setTimeout("AJAX.DoAjaxRequest('" + url + "', '" + callback + "');", 500);
        }
    },

    responseCallback: null,

    requestActive: false
};
