module Admin::SeminarsHelper
  data = File.open(File.join(File.dirname(__FILE__), '../../../config', 'list.yml')).read
  $seminar_list = YAML::load(ERB.new(data).result(binding)).symbolize_keys
  def display_format_string(num, str_length)
    return format("%0#{str_length}d", num % (10^str_length))
  end
  def page_for_seminar(seminar)
    ann_page = nil
    pages = Page.where(:module=>'seminar')
    
    pages.each do |page|
      if page.categories.count ==1
        if page.categories.include?(seminar.category.id.to_s)
          ann_page = page
        end
      end
      break if !ann_page.nil?
    end

    if ann_page.nil?
       pages.each do |page|
        if page.categories.include?(seminar.category.id.to_s)
          ann_page = page
        end
        break if !ann_page.nil?
      end
    end

    ann_page = pages.first if ann_page.nil?
    request.protocol+(request.host_with_port+ann_page.url+'/'+seminar.to_param).gsub('//','/') rescue "/"
  end
  def can_see_seminar_signup(seminar)
    if can_edit_or_delete?(seminar)
      return true
    elsif (seminar.organizer_id == current_user.member_profile_id rescue false)
      return true
    else
      return seminar.reviewer_ids.to_a.include?(current_user.member_profile_id.to_s)
    end
  end
  def admin_for_seminar(seminar)
    return can_edit_or_delete?(seminar) || (seminar.organizer_id == current_user.member_profile_id rescue false)
  end
  def page_for_seminar_url
    if @seminar_main_url
      return @seminar_main_url
    else
      page = Page.where(:module => 'seminar').first
      return request.protocol+(request.host_with_port+"/#{I18n.locale}#{(page.get_url rescue page.url)}").gsub('//','/') rescue "/"
    end
    # return "/#{I18n.locale}#{page.url}/#{seminar.to_param}"
  end
  module MultiLang
    extend self
    extend ActionView::Helpers::FormTagHelper
    extend ActionView::Helpers::FormOptionsHelper
    extend ActionView::Helpers::DateHelper
    extend ActionView::Helpers::TagHelper
    extend ActionView::Helpers::RenderingHelper
    extend ActionView::Context
    extend OrbitBasis::RenderAnywhere
    extend ActionView::Helpers::UrlHelper
    extend OrbitFormHelper
    extend Ckeditor::Helpers::FormHelper
    def get_input_name()
      'seminar_main'
    end
    def create_lang_panel(field)
      tmp2 = content_tag(:div,:class => 'btn-group', :data=>{:toggle=>"buttons-radio"}) do
        I18n.available_locales.collect do |key|
          link_entry_ary = ["##{field}","_#{key}"]
          link_entry = link_entry_ary.join
          link_to(I18n.t(key),link_entry,:data=>{:toggle=>"tab"},:class=>"btn #{(key == I18n.locale ?  "active" : nil)}",:for=>key)
        end.join.html_safe
      end
    end
    def multiple_lang_tag(index1,type_of_tag,field,value=nil,custom_options={},combine_element='',exteral_options={},panel_on_top=false)
      content_tag(:div,{:class => "tab-content"}.merge(exteral_options)) do
        if !index1.nil?
          all_field = (get_input_name + "[#{index1}][#{field}][parant]").gsub(/\[/,'_').gsub(/\]/,'')
        else
          all_field = (get_input_name + "[#{field}][parant]").gsub(/\[/,'_').gsub(/\]/,'')
        end
        tmp = I18n.available_locales.collect do |locale|
          active_flag = ((locale == I18n.locale) ? ' active in' : '')
          content_tag(:div,:class => "tab-pane fade#{active_flag}",:id=>"#{all_field}_#{locale}") do
            value_locale = value[locale.to_s] rescue nil
            if !index1.nil?
              self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{index1}][#{field}][#{locale}]",value_locale,custom_options)
            else
              self.__send__("#{type_of_tag}_tag","#{get_input_name}[#{field}][#{locale}]",value_locale,custom_options)
            end
          end
        end.join 
        if panel_on_top
          create_lang_panel(all_field).html_safe + tmp.html_safe + combine_element
        else
          (tmp + create_lang_panel(all_field)).html_safe + combine_element
        end
      end
    end
  end   
end