function GetAsyncJSONArray()

in site/js/projects.js [73:113]


function GetAsyncJSONArray(urls, finalCallback) {
    var obj = document.getElementById('progress');
    if (fetchCount == 0 ) {
        fetchCount = urls.length;
    }

    if (urls.length > 0) {
        var a = urls.shift();
        var URL = a[0];
        var desc = a[1];
        var cb = a[2];
        var xmlHttp = null;
        if (window.XMLHttpRequest) {
            xmlHttp = new XMLHttpRequest();
        } else {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }

        if (obj) { obj.innerHTML = "loading file #" + ( fetchCount - urls.length ) + " / " + fetchCount + "<br>" + desc }

        xmlHttp.open("GET", URL, true);
        xmlHttp.onreadystatechange = function(state) {
            if (xmlHttp.readyState == 4) {
                if (cb) {
                    if (xmlHttp.status == 200) {
                        cb(JSON.parse(xmlHttp.responseText));
                    } else {
                        urlErrors.push(URL)
                        cb({});
                    }
                }
                GetAsyncJSONArray(urls, finalCallback);
            }
        }
        xmlHttp.send(null);
    }
    else {
        if (obj) { obj.innerHTML = "building page content..." }
        finalCallback();
    }
}