# A Liquid Tag for retrieving path information for theme specific media
#
# Returns the path based on the file extension
#
class Themeitem < Liquid::Block

   @@image_exts = %w( .png .jpg .jpeg .jpe .gif )
   @@stylesheet_exts = %w( .css )
   @@javascript_exts = %w( .js .htc )
                                      
   def render(context)
      # Which, if either, of these are correct?
      base_url = context['request'].relative_url_root || ActionController::Base.asset_host.to_s
      theme_name = @theme_name || context['active_theme']

      filename = @nodelist.join('').strip
      ext = File.extname( filename )

      if @@image_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/images/#{filename}"

      elsif @@stylesheet_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/stylesheets/#{filename}"
         
      elsif @@javascript_exts.include?( ext )
         "#{base_url}/themes/#{theme_name}/javascript/#{filename}"
      end
   end
end

Liquid::Template.register_tag( 'themeitem', Themeitem )