function create_option(text, value) {
    var option = document.createElement("option");
    option.innerHTML = text;
    option.setAttribute("value", value);
    return option;
}

function load_cascade(url, object, target) {
    var type = object.name;
    var parent = object.value;
    
    var params = {
        type: type,
        parent: parent
    };
    
    $.post(url, params, function() {
        var _target = $('#' + target);
        
        return function(data) {
            _target.find('option').remove();
            _target.append(create_option(_target.attr("name"), ""));
            
            for(var i = 0; i < data.length; i++) {
                var opt = data[i];
                
                _target.append(create_option(opt.name, opt.value));
            }
        };
    }(), "json");
}
