# File lib/amazon/search.rb, line 791
      def node_search(browse_node='1000', mode='books', weight=HEAVY, page=1,
                      sort_type=nil, offerings=nil, keyword=nil, price=nil,
                      &block)

        url = AWS_PREFIX + "?t=%s&BrowseNodeSearch=%s&mode=%s&f=xml" +
              "&type=%s&dev-t=%s&page=%s"
        url << "&price="    << price   unless price.nil?
        url << get_offer_string(offerings)
        @type = WEIGHT[weight]
        sort_string = get_sort_string(sort_type, mode)

        if browse_node.is_a? Array
          raise TypeError, "string or integer required"
        elsif browse_node =~ / /
          raise TermError, "single item expected"
        end

        unless Search.modes.include? mode
          raise ModeError, "mode must be one of %s" % Search.modes.join(', ')
        end

        mode = localise_mode(mode)
        url =
          url % [@id, browse_node, mode, @type, @token, page] << sort_string
        url << "&keywords=" << url_encode(keyword) unless keyword.nil?

        search(url, &block)
      end