module Optimacms
  module ApplicationHelper

    #include ActionView::Helpers::ApplicationHelper
    #include SimpleFilter::FormsHelper


    def method_missing(method, *args, &block)
      main_app.send(method, *args, &block)
    rescue NoMethodError
      super
    end

    def tinymce_editor_insert_block
      '<pre>{{block:name:sub}}</pre>'
    end

    def meta_tags(title=nil, keywords=nil, desc=nil)
      title ||= @optimacms_meta_title
      keywords ||= @optimacms_meta_keywords
      desc ||= @optimacms_meta_description

      return %(<title>#{title}</title>
<meta name="keywords" content="#{keywords}"/>
<meta name="description" content="#{desc}"/>
      ).html_safe
      #content_tag(:title, title)+
      #content_tag(:meta, nil, content: keywords, name: 'keywords')+
      #content_tag(:meta, nil, content: desc, name: 'description')
    end

    def block(name)
          x = Dir.pwd
          #y = File.expand_path File.dirname(__FILE__)
          d = File.dirname(@optimacms_tpl)


          # try1 - in the current folder
          f = File.join(Dir.pwd, 'app', 'views', d, name+'.html')
          return render file: f if File.exists? f

          #
          names = []
          names << [d, name+".html"]
          names << ["", name+".html"]

          #
          parts = name.split /\//

          parts[-1] = '_'+parts[-1]
          name2 = parts.join('/')

          names << [d, name2+".html"]
          names << ["", name2+".html"]

          # try 2
          names.each do |p|
            f = File.join(Dir.pwd, 'app', 'views', p[0], p[1])
            (return render file: f)      if File.exists? f

            f = File.join(Dir.pwd, 'app', 'views', p[0], p[1]+".haml")
            (return render file: f)      if File.exists? f

            f = File.join(Dir.pwd, 'app', 'views', p[0], p[1]+".erb")
            (return render file: f)      if File.exists? f
          end

          # default render
          return render f
        end
    
    
    def site_page_path(h)
      if h.is_a? String
        cms.cms_page_path(h+'.html')
      elsif h.is_a? Hash
        cms.cms_page_path(h[:page]+'.html')
      end

    end
    
  end
end