module ParserCommon
 
  def menu_level(page, current, menu, edit = false)
    res = ''
    if menu.levels > 0 && current <= menu.levels
      if current != 0
        res << "
"
      else
        res << ''
      end
    end
  end
  
  def menu_li(page, current, menu, i, edit)
    res = ""
  end
  # ad_banners
  def parse_ad_banners(body = nil, page = nil, id = nil)
    body.css('ad_banner').each do |banner|
      res = ''
      ad_banner = AdBanner.find(banner["id"]) rescue nil
      if ad_banner
        res << ""
        res << ""
        printable_ad_images = []
        ad_banner.ad_images.each do |ad_image|
          if ad_image.display?
            ad_image.weight.times do
              printable_ad_images << ad_image
            end
          end
        end
        printable_ad_images.shuffle!
        printable_ad_images.each  do |ad_image|  #TODO Need Reflact
          res << "

"          
        end
        res << "
 '
      end
      fragment = Nokogiri::HTML::DocumentFragment.new(body, res)
      page_image.swap(fragment)
    end
  end
  # page_menu
  def parse_menu(body, page, edit=nil)
    page_menu = body.css('.page_menu').first
    home = get_homepage
    menu = page.design.layout.menu
    fragment = Nokogiri::HTML::DocumentFragment.new(body, menu_level(home, 0, menu, edit))
    page_menu.swap(fragment)
  end
  # sub_menus
  def parse_sub_menus(body = nil, page = nil, id = nil)
    body.css('sub_menu').each do |sub_menu|
      res = ''
      res << "
'
      end
      fragment = Nokogiri::HTML::DocumentFragment.new(body, res)
      page_image.swap(fragment)
    end
  end
  # page_menu
  def parse_menu(body, page, edit=nil)
    page_menu = body.css('.page_menu').first
    home = get_homepage
    menu = page.design.layout.menu
    fragment = Nokogiri::HTML::DocumentFragment.new(body, menu_level(home, 0, menu, edit))
    page_menu.swap(fragment)
  end
  # sub_menus
  def parse_sub_menus(body = nil, page = nil, id = nil)
    body.css('sub_menu').each do |sub_menu|
      res = ''
      res << ""
      res << "
#{page.i18n_variable[I18n.locale]}
"
      res << "
"
      res << ""
      res << "