var EntityUpdater = {
    key:'',
    label:'',
    updateEntity: function(input) {
        var value = input.options[input.selectedIndex].value;
        var applications_id;
        var params='';
        // figure out what application id to use
        switch(value) {
            case 'user':
                applications_id = 6002;
                this.key   = 'users_id';
                this.label = 'username'
                params = '&json_params[sort_by]=username&json_params[sort_order]=ASC&json_params[items_per_page]=all&json_params[select]=users_id,username';
                break;
            case 'group':
                applications_id = 7023	;
                this.key   = 'group_id';
                this.label = 'name'
                params = '&json_params[sort_by]=name&json_params[sort_order]=ASC&json_params[items_per_page]=all&json_params[select]=group_id,name';
                break;
            default:
                applications_id = false;
        }
        if(applications_id) {
            var opt = {
                // Use POST
                method: 'get',
                // Send this lovely data
                parameters: 'json_applications_id='+applications_id+params,
                // Handle successful response
                onSuccess: this.updateEntityOptions,
                // Handle 404
                on404: function(t) {
                    alert('AjaxError 404: location "' + t.statusText + '" was not found.');
                },
                // Handle other errors
                onFailure: function(t) {
                    alert('AjaxError ' + t.status + ' -- ' + t.statusText);
                }
            }
            var url = "/admin/json/";
        
            var myAjax = new Ajax.Request(url, opt);
        }
        else {
            $('item[0][entity_id]').disabled = true;
        }
    },
    updateEntityOptions: function(t) {
        eval("var result = "+t.responseText);

        var options = "";
		  $('item[0][entity_id]').options.length = 0;
        for(var i = 0; i < result.length; i++) {
				$('item[0][entity_id]').options[i] = new Option(result[i][EntityUpdater.label], result[i][EntityUpdater.key]);
        }
        if($('item[0][entity_id]').disabled = true) {
            $('item[0][entity_id]').disabled = false;
        }
    }
}

