﻿

function chkAjaBrowser() {
    var a, ua = navigator.userAgent;
    this.bw = {
        safari: ((a = ua.split('AppleWebKit/')[1]) ? a.split('(')[0] : 0) >= 124,
        konqueror: ((a = ua.split('Konqueror/')[1]) ? a.split(';')[0] : 0) >= 3.3,
        mozes: ((a = ua.split('Gecko/')[1]) ? a.split(" ")[0] : 0) >= 20011128,
        opera: (!!window.opera) && ((typeof XMLHttpRequest) == 'function'),
        msie: (!!window.ActiveXObject) ? (!!createHttpRequest()) : false
    }
    return (this.bw.safari || this.bw.konqueror || this.bw.mozes || this.bw.opera || this.bw.msie)
}


function createHttpRequest() {
    if (window.ActiveXObject) {
        //Win e4,e5,e6
        try {
            return new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                return new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2) {
                try {
                    return new XMLHttpRequest();
                }
                catch (e3) {
                    return null;
                }
            }
        }
    }
    else if (window.XMLHttpRequest) {
        //Win Mac Linux m1,f1,o8 Mac s1 Linux k3
        return new XMLHttpRequest();
    }
    else {
        return null;
    }
    return new XMLHttpRequest();
}


function sendRequest(callback, url) {
    //XMLHttpRequest
    var oj = createHttpRequest();
    if (oj == null) {
        return null;
    }

    var bwoj = new chkAjaBrowser();
    var opera = bwoj.bw.opera;
    var safari = bwoj.bw.safari;
    var konqueror = bwoj.bw.konqueror;
    var mozes = bwoj.bw.mozes;
            
    if (opera || safari || mozes) {
        oj.onload = function() {
            callback(oj);
        }
    }
    else {

        oj.onreadystatechange = function() {
            if (oj.readyState == 4 && oj.status == 200) {
                callback(oj);
            }
        }
    }

    //open
    oj.open('GET', url);
    
    oj.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
    oj.setRequestHeader("Cache-Control", "no-cache");
    
    oj.send("");

    return oj
}


