module ParserBackEnd
  include ParserCommon

  require 'nokogiri'

      # c.define_tag 'language_bar' do
      #   @site.in_use_locales.map{ |locale|
      #     lang = I18nVariable.first(:conditions => {:key => locale})[locale]
      #     if I18n.locale.to_s.eql?(locale)
      #       lang
      #     else
      #       "<a href='?locale=#{locale}'>#{lang}</a>"
      #     end
      #   }.join(' | ')
      # end
      # c.define_tag 'link' do |tag|
      #   item = Item.first(:conditions => { :path => tag.attr['name'] })
      #   ret = ''
      #   ret << "<a href='"
      #   ret << eval("admin_#{item.class.to_s.downcase}_path(item.id)")
      #   ret << "' class='nav'>"
      #   ret << item.i18n_variable[I18n.locale]
      #   ret << "</a>"
      # end

  def parse_page_edit_noko(page)
    body = Nokogiri::HTML(page.design.layout.body)
    parse_menu(body, page, true)
    public_r_tags = parse_contents(body, page, true)
    parse_images(body, page)
    parse_footer(body, page)
    parse_sub_menu(body, page)
    public_r_tags.each do |tag|
      send("parse_#{tag}s", body, page, true)
    end
    body.to_html
  end

  def self.included(base)
    base.send :helper_method, :parse_page_edit_noko if base.respond_to? :helper_method
  end

end
