function populateRefinedCategoryName(refinedCategoryName) {
    document.getElementById('refinedCategoryName').value= refinedCategoryName;
}
function populateRefinedCategory(mainCategoryName) {
    var mainCategory = document.getElementById('mainCategory').value;
    var refinedCategory = document.getElementById('refinedCategory');

    if(mainCategory != "all") {
        refinedCategory.disabled = true;
        var spinnerImage = document.getElementById('spinner');
        spinnerImage.className = "spinner-on";

        var request = createRequest();
        var url = "/imagelib/dropdown.html?mainCategory=" + mainCategory;
        request.open("POST", url, true);
        request.onreadystatechange = updateRefinedCategory;
        request.send(null);
    } else {
        refinedCategory.disabled = true;
        refinedCategory.options.length = 0;
        document.getElementById('refinedCategoryName').value= "--All--";

        var text = "--All--";
        var optionTag = document.createElement("option") ;
        optionTag.setAttribute("value", "all");

        var nameText = document.createTextNode(text);
        optionTag.appendChild(nameText);
        refinedCategory.appendChild(optionTag);
    }

    document.getElementById('mainCategoryName').value= mainCategoryName;
    document.getElementById('refinedCategoryName').value= "--All--";
}

function updateRefinedCategory() {
    // check for the ready state
    if (request.readyState == 4) {
        // check for valid response
        if (request.status == 200) {
            var refinedCategory = document.getElementById('refinedCategory');
            refinedCategory.disabled = false;
            var spinnerImage = document.getElementById('spinner');
            spinnerImage.className = "spinner-off";
            var resultString = request.responseText;
            var data = resultString.evalJSON();
            var refinedCategoryField = document.getElementById('refinedCategory');
            refinedCategoryField.options.length = 0;
            for (id in data) {
                var text = data[id];
                var optionTag = document.createElement("option") ;
                optionTag.setAttribute("value", id);

                var nameText = document.createTextNode(text);
                optionTag.appendChild(nameText);
                refinedCategoryField.appendChild(optionTag);
            }
        } else {
            alert("There was an error loading the data.  Status " + request.status);
        }
    }
}

function disableRefinedCategory() {
    var mainCategory = document.getElementById('mainCategory').value;
    if(mainCategory == "all") {
        var refinedCategory = document.getElementById("refinedCategory");
        refinedCategory.disabled = true;
    }
}

addEvent(window, "load", disableRefinedCategory, false);
