var XMLRequest=Object();
XMLRequest.buildQuery = function (query) {
        var data="";
        var first="?";
        for (i in query) {
                data+=first+escape(i)+"="+escape(query[i]);
                first="&";
        }
        return data;
}
XMLRequest.GET = function (url, query, callback, fallback) {
        var xmlhttp=null;
        if (window.XMLHttpRequest) {
                xmlhttp=new XMLHttpRequest()
        } else if (window.ActiveXObject) {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
        }
        if (xmlhttp!=null) {
                xmlhttp.onreadystatechange=function () {
                        if (xmlhttp.readyState==4) {
                                if (xmlhttp.status==200) callback(xmlhttp);
                                else fallback(xmlhttp);
                        }
                }
                var data = XMLRequest.buildQuery(query);
                xmlhttp.open("GET",url+data,true);
                xmlhttp.send("");
        }else{
                alert("Your browser does not support XMLHTTP.")
        }
}
XMLRequest.POST = function (url, query, form, callback, fallback) {
        var xmlhttp=null;
        if (window.XMLHttpRequest) {
                xmlhttp=new XMLHttpRequest()
        } else if (window.ActiveXObject) {
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
        }
        if (xmlhttp!=null) {
                xmlhttp.onreadystatechange=function () {
                        if (xmlhttp.readyState==4) {
                                if (xmlhttp.status==200) {
                                        callback(xmlhttp);
                                } else {
                                        fallback(xmlhttp);
                                }
                                       
                        }
                }
                var urldata = XMLRequest.buildQuery(query);
                var postdata = XMLRequest.buildQuery(form).substr(1);
                xmlhttp.open("POST",url+urldata,true);
                xmlhttp.setRequestHeader("Content-type" , "application/x-www-form-urlencoded");
                xmlhttp.setRequestHeader("Content-length", postdata.length);
                xmlhttp.setRequestHeader("Connection", "close");
                xmlhttp.send(postdata);
        }else{
                alert("Your browser does not support XMLHTTP.")
        }
}