var flag = 0;
var contents = new Array();
var visible = new Array();
var _id = 0;
var _page = 0;
var _cache = 0;

function displayContents(id, page, vflag) {
    if (flag == 0) {
        var img = document.getElementById('img_' + id);
        if (vflag == 1 && visible[id] == 1) {
            hideContents(id);
            return;
        }
        _id = id;
        _page = page;
        _cache = _id + "__"  + _page;

        if (contents[_cache] == null) {
            var url = 'rating.asp?id=';
            url += id;
            url += '&page=';
            url += page;

            var req = createXMLHttpRequest();

            if (req == null) {
                return;
            }

            flag = 1;
            req.open('GET', url, true);

            req.onreadystatechange = function() {
                flag = 0;
                if (req.readyState == 4) {
                    showContents(req);
                }
            }
            req.send("");
        } else {
            reShowContents(id, page);
        }
    } 
}

function showContents(req) {
    visible[_id] = 1;

    var ret = 1;

    if (req.status == 200) {
        if (req.responseText == null) {
            ret = 0;
        } else {
            var container = document.getElementById('id_' + _id);
            contents[_cache] = req.responseText;
            container.innerHTML = contents[_cache];

            if (req.responseText.match(/^\s+$/)) {
                ret = 0;
                container.innerHTML = '<font color="red">No Reviews</font>';
            }
        }
        var img = document.getElementById('img_' + _id);
        if (ret == 0) {
            img.src = "/images/spacer.gif";
        } else {
            img.src = "/images/button_review_hide.gif";
        }
    }
}

function reShowContents(id, page) {
    visible[id] = 1;

    var container = document.getElementById('id_' + id);
    var cache = id + "__" + page;
    container.innerHTML = contents[cache];
    var img = document.getElementById('img_' + id);
    img.src = "/images/button_review_hide.gif";
}

function hideContents(id) {
    visible[id] = 0;

    var container = document.getElementById('id_' + id);
    container.innerHTML = "";
    var img = document.getElementById('img_' + id);
    img.src = "/images/button_review.gif";
}

function createXMLHttpRequest() {
    if(window.ActiveXObject){
        try {
            return new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                return new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {
                return null
            }
        }
    } else if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    } else {
        return null;
    }
}
