def search(options={})
      options = {store_id: -1, category_id: -1, sub_category_id: -1, node_id: -1, page_number: 1, sort: "FEATURED",
                 keywords: ""}.merge(options)
      request = {
          'IsUPCCodeSearch'      => false,
          'IsSubCategorySearch'  => options[:sub_category_id] > 0,
          'isGuideAdvanceSearch' => false,
          'StoreDepaId'          => options[:store_id],
          'CategoryId'           => options[:category_id],
          'SubCategoryId'        => options[:sub_category_id],
          'NodeId'               => options[:node_id],
          'BrandId'              => -1,
          'NValue'               => "",
          'Keyword'              => options[:keywords],
          'Sort'                 => options[:sort],
          'PageNumber'           => options[:page_number]
      }

      JSON.parse(api_post("Search.egg", "Advanced", request).body, {quirks_mode: true})
    end
def search(options={})
      options = {store_id: -1, category_id: -1, sub_category_id: -1, node_id: -1, page_number: 1, sort: "FEATURED",
                 keywords: ""}.merge(options)
      request = {
          'IsUPCCodeSearch'      => false,
          'IsSubCategorySearch'  => options[:sub_category_id] > 0,
          'isGuideAdvanceSearch' => false,
          'StoreDepaId'          => options[:store_id],
          'CategoryId'           => options[:category_id],
          'SubCategoryId'        => options[:sub_category_id],
          'NodeId'               => options[:node_id],
          'BrandId'              => -1,
          'NValue'               => "",
          'Keyword'              => options[:keywords],
          'Sort'                 => options[:sort],
          'PageNumber'           => options[:page_number]
      }

      JSON.parse(api_post("Search.egg", "Advanced", request).body, {quirks_mode: true})
    end
retrieves a single page of products given a query specified by an options hash. See options below.
 node_id, page_number, and an optional sorting method

 @param [Integer] store_id, from @api.navigation, returned as StoreID
 @param [Integer] category_id from @api.navigation, returned as CategoryType
 @param [Integer] sub_category_id from @api.navigation, returned as CategoryID
 @param [Integer] node_id from @api.navigation, returned as NodeId
 @param [Integer] page_number of the paginated search results, returned as PaginationInfo from search
 @param [String] sort style of the returned search results, default is FEATURED (can also be RATING, PRICE, PRICED, REVIEWS)
 @param [String] keywords