function ItemTab(element, resultHandler) {
    EndpointTab("item", element, resultHandler, this);

    this.params = [
        "format", "show-fields", "show-tags", "show-factboxes", "show-media",
        "show-references", "show-related", "show-editors-picks", "edition", "show-story-package",
        "q", "tag", "section", "folder", "reference", "reference-type", "from-date", "to-date",
        "page", "page-size", "order-by", "use-newspaper-edition-date", 
	    "show-most-viewed", "ids", "date-id", "use-date", "show-snippets", "snippet-pre",
        "snippet-post", "show-redistributable-only"
    ];

    this.getEndpointPath = function() {
        return $("#id-input").val();
    }

    var superUpdateFieldsFromRequest = this.updateFieldsFromRequest;
    this.updateFieldsFromRequest = function(apiRequest) {
        superUpdateFieldsFromRequest(apiRequest);
        var id = apiRequest.endpoint.replace(new RegExp("^/"), '');

        $('#item-id-input').val(id);
    }

    var superGetRequestFromFields = this.getRequestFromFields;
    this.getRequestFromFields = function() {
        var apiRequest = superGetRequestFromFields();
        apiRequest.endpoint = '/' + $('#item-id-input').val();
        return apiRequest;
    }

    var superFieldChanged = this.fieldChanged;
    this.fieldChanged = function() {
        this.updateSearchUrl();
    }
    
    this.updateSearchUrl();
}

